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