Stub for a account administration form (admin/user).
[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 {if $smarty.post.u_kill_conf}
25 <form method="post" action="admin/user">
26   {xsrf_token_field}
27   <div class="center">
28     <input type="hidden" name="user_id" value="{$smarty.request.user_id}" />
29     Confirmer la suppression de {$smarty.request.user_id}&nbsp;&nbsp;
30     <input type="submit" name="u_kill" value="continuer" />
31   </div>
32 </form>
33 {elseif $user}
34
35 {literal}
36 <script type="text/javascript">
37 //<![CDATA[
38 function doEditUser() {
39   document.forms.auth.hashpass.value = hash_encrypt(document.forms.edit.password.value);
40   document.forms.auth.password.value = "";
41   document.forms.auth.submit();
42 }
43
44 function del_alias(alias) {
45   document.forms.alias.del_alias.value = alias;
46   document.forms.alias.submit();
47 }
48
49 function del_fwd(fwd) {
50   document.forms.fwds.del_fwd.value = fwd;
51   document.forms.fwds.submit();
52 }
53 function act_fwd(fwd, activate) {
54   if (activate)
55     document.forms.fwds.activate_fwd.value = fwd;
56   else
57     document.forms.fwds.deactivate_fwd.value = fwd;
58   document.forms.fwds.submit();
59 }
60 function clean_fwd(fwd) {
61   document.forms.fwds.clean_fwd.value = fwd;
62   document.forms.fwds.submit();
63 }
64 function ban_write()
65 {
66     document.forms.bans.write_perm.value = "!xorg.*";
67 }
68 function ban_read()
69 {
70     document.forms.bans.read_perm.value = "!xorg.*";
71 }
72
73 // ]]>
74 </script>
75 {/literal}
76
77 <form id="auth" method="post" action="admin/user/{$user->login()}">
78   {xsrf_token_field}
79   <h1>Informations sur le compte</h1>
80   <p class="smaller">
81     Dernière connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
82     depuis <strong>{$host}</strong>.
83   </p>
84
85   <table class="tinybicol">
86     <tr>
87       <th colspan="2">
88         <div style="float: right; text-align: right">
89           Inscrit le {$user->registration_date|date_format}
90         </div>
91         <div style="float: left; text-align: left">
92           {icon name=user_gray} {$mr.hruid} (uid {$user->id()})
93         </div>
94         <input type="hidden" name="uid" value="{$user->id()}" />
95       </th>
96     </tr>
97     <tr>
98       <td class="titre">Nom complet</td>
99       <td><input type="text" name="full_name" maxlength="255" value="{$user->fullName()}" /></td>
100     </tr>
101     <tr>
102       <td class="titre">Nom affiché</td>
103       <td><input type="text" name="display_name" maxlength="255" value="{$user->displayName()}" /></td>
104     </tr>
105     <tr>
106       <td class="titre">Sexe</td>
107       <td>
108         <label>femme <input type="radio" name="sex" value="female" {if $user->isFemale()}checked="checked"{/if} /></label>
109         <label><input type="radio" name="sexe" value="male" {if !$user->isFemale()}checked="checked"{/if} /> homme</label>
110       </td>
111     </tr>
112     <tr class="impair">
113       <td class="titre">Mot de passe</td>
114       <td>
115         <div style="float: left">
116           <input type="text" name="newpass_clair" size="10" maxlength="255" value="********" />
117           <input type="hidden" name="hashpass" value="" />
118         </div>
119         <div style="float: left; margin-top: 5px;">
120           {checkpasswd prompt="newpass_clair" submit="dummy_none"}
121         </div>
122       </td>
123     </tr>
124     <tr class="impair">
125       <td class="titre">Mot de passe SMTP</td>
126       <td>
127         <div style="float: left">
128           <input type="password" name="weak_password" size="10" maxlength="256" value="" />
129           {if $user->weak_access}
130           <input type="submit" name="disable_weak_access" value="Supprimer" />
131           {/if}
132         </div>
133       </td>
134     </tr>
135     <tr class="impair">
136       <td class="titre">Accès RSS</td>
137       <td>
138         <label>
139           <input type="checkbox" name="token_access" {if $user->token_access}checked="checked"{/if} />
140           activer l'accès
141         </label>
142       </td>
143     </tr>
144     <tr class="impair">
145       <td class="titre">Skin</td>
146       <td>
147         <select name="skin">
148           <option value="" {if !$user->skin}selected="selected"{/if}>Aucune (défaut du système)</option>
149           {iterate from=$skins item=skin}
150           <option value="{$skin.id}" {if $user->skin eq $skin.id}selected="selected"{/if}>{$skin.name}</option>
151           {/iterate}
152         </select>
153       </td>
154     </tr>
155     <tr class="pair">
156       <td class="titre">Etat du compte</td>
157       <td>
158         <select name="state">
159           <option value="pending" {if $user->state eq 'pending'}selected="selected"{/if}>pending (Non-inscrit)</option>
160           <option value="active" {if $user->state eq 'active'}selected="selected"{/if}>active (Inscrit, peu se logguer)</option>
161           <option value="disabled" {if $user->state eq 'disabled'}selected="selected"{/if}>disabled (Inscrit, accès interdit)</option>
162         </select><br />
163         <label>
164           <input type="checkbox" name="is_admin" value="1" {if $user->is_admin}checked="checked"{/if} />
165           administrateur du site
166         </label>
167       </td>
168     </tr>
169     <tr class="pair">
170       <td class="titre">Type de compte</td>
171       <td>
172         <select name="type">
173           {iterate from=$account_types item=type}
174           <option value="{$type.type}" {if $user->type eq $type.type}selected="selected"{/if}>{$type.type} ({$type.perms})</option>
175           {/iterate}
176         </select>
177         <a href="admin/account/types">gérer</a>
178       </td>
179     </tr>
180     <tr class="pair">
181       <td class="titre">
182         Surveillance
183       </td>
184       <td>
185         <label><input type="checkbox" name="watch" {if $user->watch}checked="checked"{/if} />
186         Surveiller l'activité de ce compte</label><br />
187         <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
188         du compte via le logger, et d'être alerté lors des connexions de l'utilisateur.</span>
189       </td>
190     </tr>
191     <tr class="pair">
192       <td class="titre">
193         Commentaire
194       </td>
195       <td>
196         <input type="text" name="comment" size="40" maxlength="64" value="{$user->comment}" />
197       </td>
198     </tr>
199   </table>
200   <div class="center">
201     <input type="submit" name="update_account" value="Mettre à jour" /><br />
202     <input type="submit" name="su_account" value="Prendre l'identité" />
203     <input type="submit" name="log_account" value="Consulter les logs" />
204   </div>
205
206 <!--
207   <h1>Informations sur la fiche</h1>
208   <table cellspacing="0" cellpadding="2" class="tinybicol">
209     <tr>
210       <th colspan="2">
211         <div style="float: right; text-align: right">
212           Matricule = {$mr.matricule}<br />
213           Matricule AX = {$mr.matricule_ax}
214         </div>
215         <div style="float: left; text-align: left">
216           UID = {$mr.user_id}<br />
217           Inscription = {$mr.date_ins|date_format}
218         </div>
219         <input type="hidden" name="user_id" value="{$mr.user_id}" />
220       </th>
221     </tr>
222     <tr class="pair">
223       <td class="titre">
224         Nom
225       </td>
226       <td>
227         <input type="text" name="nomN" size="20" maxlength="255" value="{$mr.nom}" />
228       </td>
229     </tr>
230     <tr class="pair">
231       <td class="titre">
232         Nom d'usage
233       </td>
234       <td>
235         <input type="text" name="nomusageN" size="20" maxlength="255" value="{$mr.nom_usage}" />
236       </td>
237     </tr>
238     <tr class="pair">
239       <td class="titre">
240         Prénom
241       </td>
242       <td>
243         <input type="text" name="prenomN" size="20" maxlength="30" value="{$mr.prenom}" />
244       </td>
245     </tr>
246     <tr class="pair">
247       <td class="titre">
248         Sexe
249       </td>
250       <td>
251         <label>femme <input type="radio" name="sexeN" {if $mr.sexe}checked="checked"{/if} value='1'/></label>
252         <label><input type="radio" name="sexeN" {if !$mr.sexe}checked="checked"{/if} value='0'/> homme</label>
253       </td>
254     </tr>
255     <tr class="pair">
256       <td class="titre">
257         Droits
258       </td>
259       <td>
260         <select name="permsN">
261           <option value="user" {if $mr.perms eq "user"}selected="selected"{/if}>user</option>
262           <option value="admin" {if $mr.perms eq "admin"}selected="selected"{/if}>admin</option>
263           <option value="pending" {if $mr.perms eq "pending"}selected="selected"{/if}>pending</option>
264           <option value="disabled" {if $mr.perms eq "disabled"}selected="selected"{/if}>disabled</option>
265         </select>
266       </td>
267     </tr>
268     {if $mr.perms neq 'pending'}
269     <tr class="pair">
270       <td class="titre">
271         {if $mr.naiss_err}<span class="erreur">{/if}
272         Date de naissance
273         {if $mr.naiss_err}</span>{/if}
274       </td>
275       <td>
276         <input type="text" name="naissanceN" size="12" maxlength="10" value="{$mr.naissance}" />
277         {if $mr.naissance_ini neq '0000-00-00' && $mr.naissance neq $mr.naissance_ini}
278           <span class="erreur smaller">({icon name=error}Date de naissance connue&nbsp;: {$mr.naissance_ini})</span>
279         {elseif $mr.naiss_err}
280           <span class="erreur smaller">({icon name=error}Date de naissance incohérente)</span>
281         {/if}
282       </td>
283     </tr>
284     {/if}
285     <tr class="pair">
286       <td class="titre">
287         Date de décès
288       </td>
289       <td>
290         <input type="text" name="decesN" size="12" maxlength="10" value="{$mr.deces}" />
291       </td>
292     </tr>
293     <tr class="pair">
294       <td class="titre">
295         Promo
296       </td>
297       <td>
298         <input type="text" name="promoN" size="4" maxlength="4" value="{$mr.promo}" />
299       </td>
300     </tr>
301     {if $mr.perms eq 'pending'}
302     <tr class="center">
303       <td colspan="2">
304         <input type="hidden" name="naissanceN" value="{$mr.naissance}" />
305         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
306       </td>
307     </tr>
308     {else}
309     <tr class="center">
310       <td>
311         <a href="profile/{$mr.hruid}" class="popup2">[Voir fiche]</a>
312       </td>
313       <td>
314         <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
315       </td>
316     </tr>
317     <tr class="center">
318       <td>
319         <a href="admin/trombino/{$mr.user_id}">[Trombino]</a>
320       </td>
321       <td>
322         <input type="submit" name="u_kill_conf" value="Désinscrire" />
323       </td>
324     </tr>
325     {/if}
326   </table>
327 </form>
328 {if $mr.perms neq 'pending'}
329 <p>
330 Ne pas utiliser [Désinscrire] si le but est d'exclure la personne.
331 Pour ceci changer ses permissions en 'disabled'.
332 </p>
333 <form id="alias" method="post" action="admin/user">
334   {xsrf_token_field}
335   <table class="tinybicol" cellpadding="2" cellspacing="0">
336     <tr>
337       <th class="alias" colspan="3">
338         Alias email
339       </th>
340     </tr>
341     {iterate from=$aliases item=a}
342     <tr class="{cycle values="impair,pair"}">
343       <td>
344         <input type="radio" name='best' {if $a.best}checked="checked"{/if} value='{$a.alias}' onclick="this.form.submit()" />
345       </td>
346       <td>
347         {if $a.for_life}<strong>{$a.alias}</strong>{else}{$a.alias}{/if}
348         {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
349       </td>
350       {if $a.for_life}
351       <td>garanti à vie*</td>
352       {else}
353       <td class="action">
354         <a href="javascript:del_alias('{$a.alias}')">delete</a>
355       </td>
356       {/if}
357     </tr>
358     {/iterate}
359     {foreach from=$virtuals item=virtual}
360     <tr class="{cycle values="impair,pair"}">
361       <td></td>
362       <td>{$virtual}</td>
363       <td></td>
364     </tr>
365     {/foreach}
366     <tr class="{cycle values="impair,pair"}">
367       <td colspan="2" class="detail">
368         <input type="text" name="email" size="29" maxlength="60" value="" />
369       </td>
370       <td class="action">
371         <input type="hidden" name="user_id" value="{$mr.user_id}" />
372         <input type="hidden" name="del_alias" value="" />
373         <input type="submit" name="add_alias" value="Ajouter" />
374       </td>
375     </tr>
376   </table>
377 </form>
378 -->
379
380 <p><strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong></p>
381
382 <form id="bans" method="post" action="admin/user/{$user->login()}">
383   {xsrf_token_field}
384   <table cellspacing="0" cellpadding="2" class="tinybicol">
385     <tr>
386       <th colspan="4">
387         Permissions sur les forums
388       </th>
389     </tr>
390     <tr class="impair">
391       <td class="titre">
392         Poster
393       </td>
394       <td>
395         <input type="text" name="write_perm" size="32" maxlength="255" value="{$bans.write_perm}" />
396       </td>
397       <td class="action">
398         <a href="javascript:ban_write()">Bannir</a>
399       </td>
400     </tr>
401     <tr class="pair">
402       <td class="titre">
403         Lire
404       </td>
405       <td>
406         <input type="text" name="read_perm" size="32" maxlength="255" value="{$bans.read_perm}" />
407       </td>
408       <td class="action">
409         <a href="javascript:ban_read()">Bannir</a>
410       </td>
411     </tr>
412     <tr class="impair">
413       <td class="titre">
414         Commentaire
415       </td>
416       <td colspan="2">
417         <input type="text" name="comment" size="40" maxlength="255" value="{$bans.comment}" />
418       </td>
419     </tr>
420     <tr class="center">
421       <td colspan="3">
422         <input type="hidden" name="user_id" value="{$mr.user_id}" />
423         <input type="submit" name="b_edit" value="Modifier" />
424       </td>
425     </tr>
426   </table>
427 </form>
428
429 {javascript name="ajax"}
430 {test_email hruid=$user->login()}
431
432 <form id="fwds" method="post" action="admin/user/{$user->login()}#fwds">
433   {xsrf_token_field}
434   <table class="bicol" cellpadding="2" cellspacing="0">
435     <tr>
436       <th colspan="4">
437         Redirections
438       </th>
439     </tr>
440     {assign var=actives value=false}
441     {assign var=disabled value=false}
442     {foreach item=mail from=$emails}
443     {cycle assign=class values="impair,pair"}
444     <tr class="{$class}">
445       {if $mail->active && $mail->has_disable()}
446         {assign var=actives value=true}
447       {elseif $mail->disabled && $mail->has_disable()}
448         {assign var=disabled value=true}
449       {/if}
450       <td class="titre">
451         {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
452       </td>
453       <td>
454         <span class="smaller">
455           {if !$mail->disabled}
456           <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
457             {if $mail->active}des{elseif $mail->broken}ré{/if}activer
458           </a>
459           {/if}
460         </span>
461       </td>
462       <td>
463         {if $mail->broken}<span style="color: #f00">{/if}
464         {if $mail->email == 'googleapps'}<a href="admin/googleapps/user/{$mr.hruid}">{/if}
465         {$mail->display_email}
466         {if $mail->email == 'googleapps'}</a>{/if}
467         {if $mail->broken}<em> (en panne)</em></span>{/if}
468       </td>
469       <td class="action">
470         {if $mail->is_removable()}
471         <a href="javascript:del_fwd('{$mail->email}')">delete</a>
472         {/if}
473       </td>
474     </tr>
475     {if $mail->panne && $mail->panne neq "0000-00-00"}
476     <tr class="{$class}">
477       <td colspan="3" class="smaller" style="color: #f00">
478         {icon name=error title="Panne"}
479         Panne de {$mail->display_email} le {$mail->panne|date_format}
480         {if $mail->panne neq $mail->last}confirmée le {$mail->last|date_format}{/if}
481       </td>
482       <td class="action">
483         <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
484       </td>
485     </tr>
486     {/if}
487     {/foreach}
488     {cycle assign=class values="impair,pair"}
489     <tr class="{$class}">
490       <td class="titre" colspan="2">
491         Ajouter une adresse
492       </td>
493       <td>
494         <input type="text" name="email" size="29" maxlength="60" value="" />
495       </td>
496       <td class="action">
497         <input type="hidden" name="user_id" value="{$mr.user_id}" />
498         <input type="hidden" name="del_fwd" value="" />
499         <input type="hidden" name="clean_fwd" value="" />
500         <input type="hidden" name="activate_fwd" value="" />
501         <input type="hidden" name="deactivate_fwd" value="" />
502         <input type="submit" name="add_fwd" value="Ajouter" />
503       </td>
504     </tr>
505     <tr class="{$class}">
506       <td colspan="4" class="center">
507         {if $actives}
508         <input type="submit" name="disable_fwd" value="Désactiver la redirection des emails" />
509         {/if}
510         {if $disabled}
511         <input type="submit" name="enable_fwd" value="Réactiver la redirection des emails" />
512         {/if}
513       </td>
514     </tr>
515   </table>
516 </form>
517
518 {/if}
519 {/if}
520
521 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}