cca5bc15f43925f609d4aca15eb5106d1a9f3360
[platal.git] / templates / admin / utilisateurs.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2008 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&nbsp;: 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 function ban_write()
107 {
108     document.forms.bans.write_perm.value = "!xorg.*";
109 }
110 function ban_read()
111 {
112     document.forms.bans.read_perm.value = "!xorg.*";
113 }
114
115 // ]]>
116 </script>
117 {/literal}
118
119 <form id="auth" method="post" action="admin/user">
120   <table cellspacing="0" cellpadding="2" class="tinybicol">
121     <tr>
122       <th colspan="2">
123         <div style="float: right; text-align: right">
124           Matricule = {$mr.matricule}<br />
125           Matricule AX = {$mr.matricule_ax}
126         </div>
127         <div style="float: left; text-align: left">
128           UID = {$mr.user_id}<br />
129           Inscription = {$mr.date_ins|date_format}
130         </div>
131         <input type="hidden" name="user_id" value="{$mr.user_id}" />
132       </th>
133     </tr>
134     <tr class="pair">
135       <td class="titre">
136         Mot de passe
137       </td>
138       <td>
139         <input type="text" name="newpass_clair" size="10" maxlength="10" value="********" />
140         <input type="hidden" name="passw" size="32" maxlength="32" value="{$mr.password}" />
141         <input type="hidden" name="hashpass" value="" />
142       </td>
143     </tr>
144     <tr class="pair">
145       <td class="titre">
146         Nom
147       </td>
148       <td>
149         <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
150       </td>
151     </tr>
152     <tr class="pair">
153       <td class="titre">
154         Nom d'usage
155       </td>
156       <td>
157         <input type="text" name="nomusageN" size="20" maxlength="255" value="{$mr.nom_usage}" />
158       </td>
159     </tr>
160     <tr class="pair">
161       <td class="titre">
162         Prénom
163       </td>
164       <td>
165         <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
166       </td>
167     </tr>
168     <tr class="pair">
169       <td class="titre">
170         Sexe
171       </td>
172       <td>
173         femme <input type="radio" name="sexeN" {if $mr.sexe}checked="checked"{/if} value='1'/>
174         <input type="radio" name="sexeN" {if !$mr.sexe}checked="checked"{/if} value='0'/> homme
175       </td>
176     </tr>
177     <tr class="pair">
178       <td class="titre">
179         Droits
180       </td>
181       <td>
182         <select name="permsN">
183           <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
184           <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
185           <option value="pending" {if $mr.perms eq "pending"}selected="selected"{/if}>pending</option>
186           <option value="disabled" {if $mr.perms eq "disabled"}selected="selected"{/if}>disabled</option>
187         </select>
188       </td>
189     </tr>
190     {if $mr.perms neq 'pending'}
191     <tr class="pair">
192       <td class="titre">
193         {if $mr.naiss_err}<span class="erreur">{/if}
194         Date de naissance
195         {if $mr.naiss_err}</span>{/if}
196       </td>
197       <td>
198         <input type="text" name="naissanceN" size="12" maxlength="10" value="{$mr.naissance}" />
199         {if $mr.naissance_ini neq '0000-00-00' && $mr.naissance neq $mr.naissance_ini}
200           <span class="erreur smaller">({icon name=error}Date de naissance connue&nbsp;: {$mr.naissance_ini})</span>
201         {elseif $mr.naiss_err}
202           <span class="erreur smaller">({icon name=error}Date de naissance incohérente)</span>
203         {/if}
204       </td>
205     </tr>
206     {/if}
207     <tr class="pair">
208       <td class="titre">
209         Date de décès
210       </td>
211       <td>
212         <input type="text" name="decesN" size="12" maxlength="10" value="{$mr.deces}" />
213       </td>
214     </tr>
215     <tr class="pair">
216       <td class="titre">
217         Promo
218       </td>
219       <td>
220         <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
221       </td>
222     </tr>
223     <tr class="impair">
224       <td class="titre">
225         Surveillance
226       </td>
227       <td>
228         <input type="checkbox" name="watchN" {if $mr.watch}checked="checked"{/if} />
229         Surveiller l'activité de ce compte<br />
230         <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
231         du compte via le logger, et d'être alerté lors des connexions de l'utilisateur</span>
232       </td>
233     </tr>
234     <tr class="impair">
235       <td class="titre">
236         Commentaire
237       </td>
238       <td>
239         <input type="text" name="commentN" size="40" maxlength="64" value="{$mr.comment}" />
240       </td>
241     </tr>
242     {if $mr.perms eq 'pending'}
243     <tr class="center">
244       <td colspan="2">
245         <input type="hidden" name="naissanceN" value="{$mr.naissance}" />
246         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
247       </td>
248     </tr>
249     {else}
250     <tr class="center">
251       <td>
252         <a href="profile/{$mr.forlife}" class="popup2">[Voir fiche]</a>
253       </td>
254       <td>
255         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
256       </td>
257     </tr>
258     <tr class="center">
259       <td>
260         <a href="admin/trombino/{$mr.user_id}">[Trombino]</a>
261       </td>
262       <td>
263         <input type="submit" name="u_kill_conf" value="Désinscrire" />
264       </td>
265     </tr>
266     {/if}
267   </table>
268 </form>
269 {if $mr.perms neq 'pending'}
270 <p>
271 Ne pas utiliser [Désinscrire] si le but est d'exclure la personne.
272 Pour ceci changer ses permissions en 'disabled'.
273 </p>
274 <form id="alias" method="post" action="admin/user">
275   <table class="tinybicol" cellpadding="2" cellspacing="0">
276     <tr>
277       <th class="alias" colspan="3">
278         Alias e-mail
279       </th>
280     </tr>
281     {iterate from=$aliases item=a}
282     <tr class="{cycle values="impair,pair"}">
283       <td>
284         <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
285       </td>
286       <td>
287         {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
288         {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
289       </td>
290       {if $a.for_life}
291       <td>garanti à vie*</td>
292       {else}
293       <td class="action">
294         <a href="javascript:del_alias('{$a.alias}')">delete</a>
295       </td>
296       {/if}
297     </tr>
298     {/iterate}
299     {iterate from=$virtuals item=virtual}
300     <tr class="{cycle values="impair,pair"}">
301       <td></td>
302       <td>{$virtual.alias}</td>
303       <td></td>
304     </tr>
305     {/iterate}
306     <tr class="{cycle values="impair,pair"}">
307       <td colspan="2" class="detail">
308         <input type="text" name="email" size="29" maxlength="60" value="" />
309       </td>
310       <td class="action">
311         <input type="hidden" name="user_id" value="{$mr.user_id}" />
312         <input type="hidden" name="del_alias" value="" />
313         <input type="submit" name="add_alias" value="Ajouter" />
314       </td>
315     </tr>
316   </table>
317 </form>
318
319 <p><strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong></p>
320
321 <form id="bans" method="post" action="admin/user">
322   <table cellspacing="0" cellpadding="2" class="tinybicol">
323     <tr>
324       <th colspan="4">
325         Permissions sur les forums
326       </th>
327     </tr>
328     <tr class="impair">
329       <td class="titre">
330         Poster
331       </td>
332       <td>
333         <input type="text" name="write_perm" size="32" maxlength="255" value="{$bans.write_perm}" />
334       </td>
335       <td class="action">
336         <a href="javascript:ban_write()">Bannir</a>
337       </td>
338     </tr>
339     <tr class="pair">
340       <td class="titre">
341         Lire
342       </td>
343       <td>
344         <input type="text" name="read_perm" size="32" maxlength="255" value="{$bans.read_perm}" />
345       </td>
346       <td class="action">
347         <a href="javascript:ban_read()">Bannir</a>
348       </td>
349     </tr>
350     <tr class="impair">
351       <td class="titre">
352         Commentaire
353       </td>
354       <td colspan="2">
355         <input type="text" name="comment" size="40" maxlength="255" value="{$bans.comment}" />
356       </td>
357     </tr>
358     <tr class="center">
359       <td colspan="3">
360         <input type="hidden" name="user_id" value="{$mr.user_id}" />
361         <input type="submit" name="b_edit" value="Modifier" />
362       </td>
363     </tr>
364   </table>
365 </form>
366
367 {javascript name="ajax"}
368 {test_email forlife=$mr.forlife}
369
370 <form id="fwds" method="post" action="admin/user#fwds">
371   <table class="bicol" cellpadding="2" cellspacing="0">
372     <tr>
373       <th colspan="4">
374         Redirections
375       </th>
376     </tr>
377     {assign var=actives value=false}
378     {assign var=disabled value=false}
379     {foreach item=mail from=$emails}
380     {cycle assign=class values="impair,pair"}
381     <tr class="{$class}">
382       {if $mail->active && $mail->has_disable()}
383         {assign var=actives value=true}
384       {elseif $mail->disabled && $mail->has_disable()}
385         {assign var=disabled value=true}
386       {/if}
387       <td class="titre">
388         {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
389       </td>
390       <td>
391         <span class="smaller">
392           {if !$mail->disabled}
393           <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
394             {if $mail->active}des{elseif $mail->broken}ré{/if}activer
395           </a>
396           {/if}
397         </span>
398       </td>
399       <td>
400         {if $mail->broken}<span style="color: #f00">{/if}
401         {$mail->display_email}
402         {if $mail->broken}<em> (en panne)</em></span>{/if}
403       </td>
404       <td class="action">
405         {if $mail->is_removable()}
406         <a href="javascript:del_fwd('{$mail->email}')">delete</a>
407         {/if}
408       </td>
409     </tr>
410     {if $mail->panne && $mail->panne neq "0000-00-00"}
411     <tr class="{$class}">
412       <td colspan="3" class="smaller" style="color: #f00">
413         {icon name=error title="Panne"}
414         Panne de {$mail->display_email} le {$mail->panne|date_format}
415         {if $mail->panne neq $mail->last}confirmée le {$mail->last|date_format}{/if}
416       </td>
417       <td class="action">
418         <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
419       </td>
420     </tr>
421     {/if}
422     {/foreach}
423     {cycle assign=class values="impair,pair"}
424     <tr class="{$class}">
425       <td class="titre" colspan="2">
426         Ajouter un email
427       </td>
428       <td>
429         <input type="text" name="email" size="29" maxlength="60" value="" />
430       </td>
431       <td class="action">
432         <input type="hidden" name="user_id" value="{$mr.user_id}" />
433         <input type="hidden" name="del_fwd" value="" />
434         <input type="hidden" name="clean_fwd" value="" />
435         <input type="hidden" name="activate_fwd" value="" />
436         <input type="hidden" name="deactivate_fwd" value="" />
437         <input type="submit" name="add_fwd" value="Ajouter" />
438       </td>
439     </tr>
440     <tr class="{$class}">
441       <td colspan="4" class="center">
442         {if $actives}
443         <input type="submit" name="disable_fwd" value="Désactiver la redirection mail" />
444         {/if}
445         {if $disabled}
446         <input type="submit" name="enable_fwd" value="Réactiver la redirection mail" />
447         {/if}
448       </td>
449     </tr>
450   </table>
451 </form>
452
453 {/if}
454 {/if}
455 {/if}
456
457 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}