Closes #722: Can send a test email
[platal.git] / templates / admin / utilisateurs.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2007 Polytechnique.org                             *}
4 {*  http://opensource.polytechnique.org/                                  *}
5 {*                                                                        *}
6 {*  This program is free software; you can redistribute it and/or modify  *}
7 {*  it under the terms of the GNU General Public License as published by  *}
8 {*  the Free Software Foundation; either version 2 of the License, or     *}
9 {*  (at your option) any later version.                                   *}
10 {*                                                                        *}
11 {*  This program is distributed in the hope that it will be useful,       *}
12 {*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *}
13 {*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *}
14 {*  GNU General Public License for more details.                          *}
15 {*                                                                        *}
16 {*  You should have received a copy of the GNU General Public License     *}
17 {*  along with this program; if not, write to the Free Software           *}
18 {*  Foundation, Inc.,                                                     *}
19 {*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
20 {*                                                                        *}
21 {**************************************************************************}
22
23
24 <h1>
25   Gestion des utilisateurs
26 </h1>
27
28
29 {if $smarty.post.u_kill_conf}
30 <form method="post" action="admin/user">
31   <div class="center">
32     <input type="hidden" name="user_id" value="{$smarty.request.user_id}" />
33     Confirmer la suppression de {$smarty.request.user_id}&nbsp;&nbsp;
34     <input type="submit" name="u_kill" value="continuer" />
35   </div>
36 </form>
37 {else}
38
39 <form method="post" action="admin/user">
40   <table class="tinybicol" cellspacing="0" cellpadding="2">
41     <tr>
42       <th>
43         Administrer
44       </th>
45     </tr>
46     {if !$smarty.request.login && !$mr.forlife}
47     <tr class="pair">
48       <td class="center">
49         Il est possible d'entrer ici n'importe quelle adresse mail : redirection, melix, ou alias.
50       </td>
51     </tr>
52     {/if}
53     <tr>
54       <td class="center">
55         <input type="text" name="login" size="40" maxlength="255" value="{$smarty.request.login|default:$mr.forlife}" />
56       </td>
57     </tr>
58     <tr>
59       <td class="center">
60         <input type="hidden" name="hashpass" value="" />
61         <input type="submit" name="select" value=" edit " /> &nbsp;&nbsp;
62         <input type="submit" name="suid_button" value=" su " />  &nbsp;&nbsp;
63         <input type="submit" name="ax_button" value=" AX " /> &nbsp;&nbsp;
64         <input type="submit" name="logs_button" value=" logs " />
65       </td>
66     </tr>
67   </table>
68 </form>
69
70 {if $mr}
71
72 <p class="smaller">
73 Derniére connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
74 depuis <strong>{$host}</strong>
75 </p>
76
77 {literal}
78 <script type="text/javascript">
79 //<![CDATA[
80 function doEditUser() {
81   document.forms.auth.hashpass.value = hash_encrypt(document.forms.edit.password.value);
82   document.forms.auth.password.value = "";
83   document.forms.auth.submit();
84 }
85
86 function del_alias(alias) {
87   document.forms.alias.del_alias.value = alias;
88   document.forms.alias.submit();
89 }
90
91 function del_fwd(fwd) {
92   document.forms.fwds.del_fwd.value = fwd;
93   document.forms.fwds.submit();
94 }
95 function act_fwd(fwd, activate) {
96   if (activate)
97     document.forms.fwds.activate_fwd.value = fwd;
98   else
99     document.forms.fwds.deactivate_fwd.value = fwd;
100   document.forms.fwds.submit();
101 }
102 function clean_fwd(fwd) {
103   document.forms.fwds.clean_fwd.value = fwd;
104   document.forms.fwds.submit();
105 }
106 // ]]>
107 </script>
108 {/literal}
109
110 <form id="auth" method="post" action="admin/user">
111   <table cellspacing="0" cellpadding="2" class="tinybicol">
112     <tr>
113       <th colspan="2">
114         <div style="float: right; text-align: right">
115           Matricule = {$mr.matricule}<br />
116           Matricule AX = {$mr.matricule_ax}
117         </div>
118         <div style="float: left; text-align: left">
119           UID = {$mr.user_id}<br />
120           Inscription = {$mr.date_ins|date_format}
121         </div>
122         <input type="hidden" name="user_id" value="{$mr.user_id}" />
123       </th>
124     </tr>
125     <tr class="pair">
126       <td class="titre">
127         Mot de passe
128       </td>
129       <td>
130         <input type="text" name="newpass_clair" size="10" maxlength="10" value="********" />
131         <input type="hidden" name="passw" size="32" maxlength="32" value="{$mr.password}" />
132         <input type="hidden" name="hashpass" value="" />
133       </td>
134     </tr>
135     <tr class="pair">
136       <td class="titre">
137         Nom
138       </td>
139       <td>
140         <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
141       </td>
142     </tr>
143     <tr class="pair">
144       <td class="titre">
145         Nom d'usage
146       </td>
147       <td>
148         <input type="text" name="nomusageN" size="20" maxlength="255" value="{$mr.nom_usage}" />
149       </td>
150     </tr>
151     <tr class="pair">
152       <td class="titre">
153         Prénom
154       </td>
155       <td>
156         <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
157       </td>
158     </tr>
159     <tr class="pair">
160       <td class="titre">
161         Sexe
162       </td>
163       <td>
164         femme <input type="radio" name="sexeN" {if $mr.sexe}checked="checked"{/if} value='1'/>
165         <input type="radio" name="sexeN" {if !$mr.sexe}checked="checked"{/if} value='0'/> homme
166       </td>
167     </tr>
168     <tr class="pair">
169       <td class="titre">
170         Droits
171       </td>
172       <td>
173         <select name="permsN">
174           <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
175           <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
176           <option value="pending" {if $mr.perms eq "pending"}selected="selected"{/if}>pending</option>
177           <option value="disabled" {if $mr.perms eq "disabled"}selected="selected"{/if}>disabled</option>
178         </select>
179       </td>
180     </tr>
181     {if $mr.perms neq 'pending'}
182     <tr class="pair">
183       <td class="titre">
184         {if $mr.naiss_err}<span class="erreur">{/if}
185         Date de naissance
186         {if $mr.naiss_err}</span>{/if}
187       </td>
188       <td>
189         <input type="text" name="naissanceN" size="12" maxlength="10" value="{$mr.naissance}" />
190         {if $mr.naissance_ini neq '0000-00-00' && $mr.naissance neq $mr.naissance_ini}
191           <span class="erreur smaller">({icon name=error}Date de naissance connue : {$mr.naissance_ini})</span>
192         {elseif $mr.naiss_err}
193           <span class="erreur smaller">({icon name=error}Date de naissance incohérente)</span>
194         {/if}
195       </td>
196     </tr>
197     {/if}
198     <tr class="pair">
199       <td class="titre">
200         Date de décès
201       </td>
202       <td>
203         <input type="text" name="decesN" size="12" maxlength="10" value="{$mr.deces}" />
204       </td>
205     </tr>
206     <tr class="pair">
207       <td class="titre">
208         Promo
209       </td>
210       <td>
211         <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
212       </td>
213     </tr>
214     <tr class "impair">
215       <td class="titre">
216         Surveillance
217       </td>
218       <td>
219         <input type="checkbox" name="watchN" {if $mr.watch}checked="checked"{/if} />
220         Surveiller l'activité de ce compte<br />
221         <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
222         du compte via le logger, et d'être alerté lors des connexions de l'utilisateur</span>
223       </td>
224     </tr>
225     <tr class="impair">
226       <td class="titre">
227         Commentaire
228       </td>
229       <td>
230         <input type="text" name="commentN" size="40" maxlength="64" value="{$mr.comment}" />
231       </td>
232     </tr>
233     {if $mr.perms eq 'pending'}
234     <tr class="center">
235       <td colspan="2">
236         <input type="hidden" name="naissanceN" value="{$mr.naissance}" />
237         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
238       </td>
239     </tr>
240     {else}
241     <tr class="center">
242       <td>
243         <a href="profile/{$mr.forlife}" class="popup2">[Voir fiche]</a>
244       </td>
245       <td>
246         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
247       </td>
248     </tr>
249     <tr class="center">
250       <td>
251         <a href="admin/trombino/{$mr.user_id}">[Trombino]</a>
252       </td>
253       <td>
254         <input type="submit" name="u_kill_conf" value="Désinscrire" />
255       </td>
256     </tr>
257     {/if}
258   </table>
259 </form>
260 {if $mr.perms neq 'pending'}
261 <p>
262 Ne pas utiliser [Désinscrire] si le but est d'exclure la personne.
263 Pour ceci changer ses permissions en 'disabled'.
264 </p>
265 <form id="alias" method="post" action="admin/user">
266   <table class="tinybicol" cellpadding="2" cellspacing="0">
267     <tr>
268       <th class="alias" colspan="3">
269         Alias e-mail
270       </th>
271     </tr>
272     {iterate from=$aliases item=a}
273     <tr class="{cycle values="impair,pair"}">
274       <td>
275         <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
276       </td>
277       <td>
278         {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
279         {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
280       </td>
281       {if $a.for_life}
282       <td>garanti à vie*</td>
283       {else}
284       <td class="action">
285         <a href="javascript:del_alias('{$a.alias}')">delete</a>
286       </td>
287       {/if}
288     </tr>
289     {/iterate}
290     {iterate from=$virtuals item=virtual}
291     <tr class="{cycle values="impair,pair"}">
292       <td></td>
293       <td>{$virtual.alias}</td>
294       <td></td>
295     </tr>
296     {/iterate}
297     <tr class="{cycle values="impair,pair"}">
298       <td colspan="2" class="detail">
299         <input type="text" name="email" size="29" maxlength="60" value="" />
300       </td>
301       <td class="action">
302         <input type="hidden" name="user_id" value="{$mr.user_id}" />
303         <input type="hidden" name="del_alias" value="" />
304         <input type="submit" name="add_alias" value="Ajouter" />
305       </td>
306     </tr>
307   </table>
308 </form>
309
310 <p>
311 <strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
312 </p>
313
314 {javascript name="ajax"}
315 {test_email forlife=$mr.forlife}
316
317 <form id="fwds" method="post" action="admin/user#fwds">
318   <table class="bicol" cellpadding="2" cellspacing="0">
319     <tr>
320       <th colspan="4">
321         Redirections
322       </th>
323     </tr>
324     {assign var=actives value=false} 
325     {assign var=disabled value=false} 
326     {foreach item=mail from=$emails}
327     {cycle assign=class values="impair,pair"}
328     <tr class="{$class}">
329       {if $mail->active}
330         {assign var=actives value=true}
331       {elseif $mail->disabled}
332         {assign var=disabled value=true}
333       {/if}
334       <td class="titre">
335         {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
336       </td>
337       <td>
338         <span class="smaller">
339           {if !$mail->disabled}
340           <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
341             {if $mail->active}des{elseif $mail->broken}ré{/if}activer
342           </a>
343           {/if}
344         </span>
345       </td>
346       <td>
347         {if $mail->broken}<span style="color: #f00">{/if}
348         {$mail->email}
349         {if $mail->broken}<em> (en panne)</em></span>{/if}
350       </td>
351       <td class="action">
352         <a href="javascript:del_fwd('{$mail->email}')">delete</a>
353       </td>
354     </tr>
355     {if $mail->panne && $mail->panne neq "0000-00-00"}
356     <tr class="{$class}">
357       <td colspan="3" class="smaller" style="color: #f00">
358         {icon name=error title="Panne"}
359         Panne de {$mail->email} le {$mail->panne|date_format}
360         {if $mail->panne neq $mail->last}confirmée le {$mail->last|date_format}{/if}
361       </td>
362       <td class="action">
363         <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
364       </td>
365     </tr>
366     {/if}
367     {/foreach}
368     {cycle assign=class values="impair,pair"}
369     <tr class="{$class}">
370       <td class="titre" colspan="2">
371         Ajouter un email
372       </td>
373       <td>
374         <input type="text" name="email" size="29" maxlength="60" value="" />
375       </td>
376       <td class="action">
377         <input type="hidden" name="user_id" value="{$mr.user_id}" />
378         <input type="hidden" name="del_fwd" value="" />
379         <input type="hidden" name="clean_fwd" value="" />
380         <input type="hidden" name="activate_fwd" value="" />
381         <input type="hidden" name="deactivate_fwd" value="" />
382         <input type="submit" name="add_fwd" value="Ajouter" />
383       </td>
384     </tr>
385     <tr class="{$class}">
386       <td colspan="4" class="center">
387         {if $actives}
388         <input type="submit" name="disable_fwd" value="Désactiver la redirection mail" />
389         {/if}
390         {if $disabled}
391         <input type="submit" name="enable_fwd" value="Réactiver la redirection mail" />
392         {/if}
393       </td>
394     </tr>
395   </table>
396 </form>
397
398 {/if}
399 {/if}
400 {/if}
401
402 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}