Fixes vim mode line.
[platal.git] / templates / admin / user.tpl
CommitLineData
0337d704 1{**************************************************************************}
2{* *}
c441aabe 3{* Copyright (C) 2003-2014 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
40965e32
SJ
24{if t($smarty.post.delete_account)}
25<form method="post" action="admin/user/{$user->login()}">
e61326ed 26 {xsrf_token_field}
879d38da
FB
27 <fieldset>
28 <legend>Confirmer la suppression de l'utilisateur {$user->hruid}</legend>
29
30 {if $user->hasProfile()}
31 <p>
32 <input type="checkbox" name="clear_profile" /> Vider la fiche de
33 l'utilisateur.
34 </p>
35 {else}
36 <p>
37 <input type="checkbox" name="erase_account" {if $user->state eq 'pending'}checked="checked"{/if} /> Supprimer le compte définitivement.
38 </p>
39 {/if}
40 <p>
41 <input type="hidden" name="uid" value="{$user->uid}" />
42 <input type="submit" name="account_deletion_cancel" value="Annuler" />
43 <input type="submit" name="account_deletion_confirmation" value="Confirmer" />
44 </p>
45 </fieldset>
0337d704 46</form>
879d38da
FB
47{elseif t($smarty.post.erase_account)}
48<p>
49 <a href="admin/accounts">Retourner à la gestion des comptes</a>
50</p>
8338711c 51{else}
0337d704 52{literal}
16019034 53
0337d704 54<script type="text/javascript">
55//<![CDATA[
0337d704 56function del_alias(alias) {
57 document.forms.alias.del_alias.value = alias;
58 document.forms.alias.submit();
59}
60
f9743cf1
FB
61function del_profile(pid) {
62 document.forms.profiles.del_profile.value = pid;
63 document.forms.profiles.submit();
64}
65
0337d704 66function del_fwd(fwd) {
67 document.forms.fwds.del_fwd.value = fwd;
68 document.forms.fwds.submit();
69}
83353c71
FB
70
71function del_openid(id) {
72 document.forms.openid.del_openid.value = id;
73 document.forms.openid.submit();
74}
75
8ffa657a 76function act_fwd(fwd, activate) {
77 if (activate)
78 document.forms.fwds.activate_fwd.value = fwd;
79 else
80 document.forms.fwds.deactivate_fwd.value = fwd;
81 document.forms.fwds.submit();
82}
441c2451 83function clean_fwd(fwd) {
84 document.forms.fwds.clean_fwd.value = fwd;
85 document.forms.fwds.submit();
86}
669cb0e0 87function ban_write()
88{
89 document.forms.bans.write_perm.value = "!xorg.*";
90}
91function ban_read()
92{
93 document.forms.bans.read_perm.value = "!xorg.*";
94}
95
4171c0bf 96$(function() {
1b50c20c 97 $('#tabs').tabs();
83353c71 98 $('.ui-tabs-nav li').width('24%')
73e4718a 99 .click(function() { $(this).children('a').click() });
16019034
FB
100});
101
0337d704 102// ]]>
103</script>
104{/literal}
105
16019034 106<div id="tabs">
7679a55a 107 <ul style="margin-top: 0">
1b50c20c
FB
108 <li><a href="#account"><span>Compte de {$user->login()}</span></a></li>
109 <li><a href="#emails"><span>Emails</span></a></li>
110 <li><a href="#authext"><span>OpenID</span></a></li>
111 <li><a href="#forums"><span>Forums</span></a></li>
7679a55a 112 </ul>
16019034
FB
113
114<div id="account">
f9743cf1 115<form id="auth" method="post" action="admin/user/{$user->login()}#account">
e61326ed 116 {xsrf_token_field}
8f2104cb
FB
117 <h1>Informations sur le compte</h1>
118 <p class="smaller">
119 Dernière connexion le <strong>{$lastlogin|date_format:"%d %B %Y, %T"}</strong>
120 depuis <strong>{$host}</strong>.
121 </p>
122
7679a55a 123 <table class="bicol">
0337d704 124 <tr>
f97f90f0 125 <th colspan="2">
126 <div style="float: right; text-align: right">
98f28a5f
SJ
127 {if $user->state eq 'pending'}
128 Non-inscrit
129 {else}
8f2104cb 130 Inscrit le {$user->registration_date|date_format}
98f28a5f 131 {/if}
f97f90f0 132 </div>
133 <div style="float: left; text-align: left">
210c547f 134 {icon name=user_gray} {$user->hruid} (uid {$user->id()})
f97f90f0 135 </div>
8f2104cb 136 <input type="hidden" name="uid" value="{$user->id()}" />
0337d704 137 </th>
138 </tr>
8f2104cb 139 <tr>
b7753795
SJ
140 <td class="titre">Nom complet</td>
141 <td>{$user->fullName()}</td>
8f2104cb
FB
142 </tr>
143 <tr>
b7753795
SJ
144 <td class="titre">Nom annuaire</td>
145 <td>{$user->directoryName()}</td>
d081acb2 146 </tr>
b7753795
SJ
147 {if !$hasProfile}
148 <tr>
149 <td class="titre">Nom</td>
150 <td><input type="text" name="lastname" maxlength="255" value="{$user->lastname}" /></td>
151 </tr>
152 {if $user->type neq 'virtual'}
153 <tr>
154 <td class="titre">Prénom</td>
155 <td><input type="text" name="firstname" maxlength="255" value="{$user->firstname}" /></td>
156 </tr>
157 {/if}
158 {/if}
159 {if $user->type neq 'virtual'}
d081acb2 160 <tr>
8f2104cb 161 <td class="titre">Nom affiché</td>
aef87266 162 <td>{if $hasProfile}{$user->displayName()}{else}<input type="text" name="display_name" maxlength="255" value="{$user->displayName()}" />{/if}</td>
8f2104cb 163 </tr>
b7753795 164 {/if}
8f2104cb
FB
165 <tr>
166 <td class="titre">Sexe</td>
167 <td>
168 <label>femme <input type="radio" name="sex" value="female" {if $user->isFemale()}checked="checked"{/if} /></label>
83752d10 169 <label><input type="radio" name="sex" value="male" {if !$user->isFemale()}checked="checked"{/if} /> homme</label>
0337d704 170 </td>
8f2104cb 171 </tr>
a8a11a70
FB
172 <tr>
173 <td class="titre">Email</td>
174 <td>{if $user->checkPerms('mail')}{$user->forlifeEmail()}{else}<input type="text" name="email" size="40" maxlength="255" value="{$user->forlifeEmail()}" />{/if}</td>
175 </tr>
8f2104cb
FB
176 <tr class="impair">
177 <td class="titre">Mot de passe</td>
0337d704 178 <td>
5f4ce949 179 <div style="float: left">
853c66f2 180 <input type="text" name="new_plain_password" size="10" maxlength="256" value="********" />
2477a631 181 <input type="hidden" name="pwhash" value="" />
5f4ce949
FB
182 </div>
183 <div style="float: left; margin-top: 5px;">
853c66f2 184 {checkpasswd prompt="new_plain_password" submit="dummy_none"}
5f4ce949 185 </div>
0337d704 186 </td>
187 </tr>
8f2104cb
FB
188 <tr class="impair">
189 <td class="titre">Mot de passe SMTP</td>
190 <td>
191 <div style="float: left">
192 <input type="password" name="weak_password" size="10" maxlength="256" value="" />
193 {if $user->weak_access}
194 <input type="submit" name="disable_weak_access" value="Supprimer" />
195 {/if}
196 </div>
197 </td>
198 </tr>
199 <tr class="impair">
200 <td class="titre">Accès RSS</td>
201 <td>
202 <label>
83752d10 203 <input type="checkbox" name="token_access" {if $user->token_access}checked="checked"{/if} value="1" />
8f2104cb
FB
204 activer l'accès
205 </label>
206 </td>
207 </tr>
208 <tr class="impair">
209 <td class="titre">Skin</td>
210 <td>
211 <select name="skin">
212 <option value="" {if !$user->skin}selected="selected"{/if}>Aucune (défaut du système)</option>
213 {iterate from=$skins item=skin}
214 <option value="{$skin.id}" {if $user->skin eq $skin.id}selected="selected"{/if}>{$skin.name}</option>
215 {/iterate}
216 </select>
217 </td>
218 </tr>
219 <tr class="pair">
220 <td class="titre">Etat du compte</td>
221 <td>
222 <select name="state">
223 <option value="pending" {if $user->state eq 'pending'}selected="selected"{/if}>pending (Non-inscrit)</option>
16019034 224 <option value="active" {if $user->state eq 'active'}selected="selected"{/if}>active (Inscrit, peut se logguer)</option>
8f2104cb
FB
225 <option value="disabled" {if $user->state eq 'disabled'}selected="selected"{/if}>disabled (Inscrit, accès interdit)</option>
226 </select><br />
227 <label>
228 <input type="checkbox" name="is_admin" value="1" {if $user->is_admin}checked="checked"{/if} />
229 administrateur du site
230 </label>
231 </td>
232 </tr>
233 <tr class="pair">
234 <td class="titre">Type de compte</td>
235 <td>
236 <select name="type">
237 {iterate from=$account_types item=type}
238 <option value="{$type.type}" {if $user->type eq $type.type}selected="selected"{/if}>{$type.type} ({$type.perms})</option>
239 {/iterate}
240 </select>
f9743cf1 241 <a href="admin/account/types">{icon name=wrench title=Gérer} gérer</a>
8f2104cb
FB
242 </td>
243 </tr>
244 <tr class="pair">
245 <td class="titre">
246 Surveillance
247 </td>
248 <td>
83752d10 249 <label><input type="checkbox" name="watch" {if $user->watch}checked="checked"{/if} value="1" />
8f2104cb
FB
250 Surveiller l'activité de ce compte</label><br />
251 <span class="smaller">Cette option permet d'avoir des logs complets de l'activité
252 du compte via le logger, et d'être alerté lors des connexions de l'utilisateur.</span>
253 </td>
254 </tr>
255 <tr class="pair">
256 <td class="titre">
257 Commentaire
258 </td>
259 <td>
260 <input type="text" name="comment" size="40" maxlength="64" value="{$user->comment}" />
261 </td>
262 </tr>
7679a55a
VZ
263 <tr class="impair">
264 <td colspan="2" class="center">
30439e34 265 <input type="submit" name="update_account" value="Mettre à jour" onclick="return hashResponse('new_plain_password', false, false, false);" />
7679a55a
VZ
266 <input type="submit" name="su_account" value="Prendre l'identité" />
267 <input type="submit" name="log_account" value="Consulter les logs" />
879d38da
FB
268 {if $user->state neq 'pending'}
269 <input type="submit" name="delete_account" value="Désinscrire" />
270 {elseif !$user->hasProfile()}
40965e32 271 <input type="submit" name="delete_account" value="Supprimer le compte" />
879d38da 272 {/if}
7679a55a
VZ
273 </td>
274 </tr>
8f2104cb 275 </table>
83752d10 276</form>
f9743cf1
FB
277
278<h1>Fiches associées au compte</h1>
279
280<form id="profiles" method="post" action="admin/user/{$user->login()}#account">
281 {xsrf_token_field}
7679a55a 282 <table class="bicol">
f9743cf1
FB
283 <tr>
284 <th></th>
285 <th>Identifiant de la fiche</th>
286 <th></th>
287 </tr>
288 {iterate from=$profiles item=profile}
289 <tr>
290 <td><input type="radio" name="owner" value="{$profile.pid}" {if $profile.owner}checked="checked"{/if}
291 onclick="this.form.submit()" /></td>
21aebdf6 292 <td>{$profile.hrpid} (pid {$profile.pid}, ax_id {$profile.ax_id})</td>
f9743cf1
FB
293 <td class="right">
294 <a href="profile/edit/{$profile.hrpid}">{icon name=user_edit}</a>
295 <a href="profile/{$profile.hrpid}" class="popup2">{icon name=user_suit}</a>
296 <a href="javascript:del_profile({$profile.pid})">{icon name=cross}</a>
297 </td>
298 </tr>
299 {/iterate}
879d38da 300 {if $profiles->total() > 0}
f9743cf1
FB
301 <tr>
302 <td>
303 <input type="radio" name="owner" value="0" onclick="this.form.submit()" />
304 </td>
305 <td>None</td>
306 <td></td>
307 </tr>
879d38da 308 {/if}
f9743cf1
FB
309 <tr class="pair">
310 <td colspan="3">
311 <input type="hidden" name="del_profile" value="" />
312 <input type="text" maxlength="64" name="new_profile" />
313 <input type="submit" name="add_profile" value="Ajouter" />
314 </td>
315 </tr>
316 </table>
317</form>
318
1d889ac4
FB
319<h1>Groupes dont l'utilisateur est membre</h1>
320
321<table class="bicol">
322 <tr>
323 <th>Nom du groupe</th>
324 <th>Permissions</th>
325 </tr>
326 {foreach from=$user->groups() item=group}
327 <tr class="impair">
328 <td>{$group.nom}</td>
329 <td style="text-align: right">
330 {$group.perms}
331 <a href="http://www.polytechnique.net/{$group.diminutif}/member/{$user->hruid}">
332 {icon name="user_edit" title="Modifier l'inscription"}
333 </a>
334 </td>
335 </tr>
336 {/foreach}
337</table>
338
16019034 339</div>
8f2104cb 340
16019034 341<div id="emails">
7679a55a 342<h1>Gestion de l'adresse X.org</h1>
16019034 343
f9743cf1 344<form id="alias" method="post" action="admin/user/{$user->login()}#emails">
e61326ed 345 {xsrf_token_field}
7679a55a 346 <table class="bicol" cellpadding="2" cellspacing="0">
0337d704 347 <tr>
5c5554b7 348 <th class="alias" colspan="3">
73e4718a 349 Alias email de l'utilisateur
0337d704 350 </th>
351 </tr>
352 {iterate from=$aliases item=a}
353 <tr class="{cycle values="impair,pair"}">
354 <td>
b284e2fa 355 <input type="radio" name='best' {if $a.bestalias}checked="checked"{/if} value='{$a.email}' onclick="this.form.submit()" />
5c5554b7 356 </td>
357 <td>
b284e2fa 358 {if $a.forlife}<strong>{$a.email}</strong>{elseif $a.alias}<em>{$a.email}</em>{else}{$a.email}{/if}
0337d704 359 {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
360 </td>
b284e2fa 361 {if $a.forlife}
a7de4ef7 362 <td>garanti à vie*</td>
0337d704 363 {else}
364 <td class="action">
b284e2fa 365 <a href="javascript:del_alias('{$a.email}')">{icon name=cross}</a>
0337d704 366 </td>
367 {/if}
368 </tr>
369 {/iterate}
370 <tr class="{cycle values="impair,pair"}">
5c5554b7 371 <td colspan="2" class="detail">
3232ad9b 372 <input type="text" name="email" size="29" maxlength="255" value="" />
0337d704 373 </td>
374 <td class="action">
210c547f 375 <input type="hidden" name="uid" value="{$user->id()}" />
0337d704 376 <input type="hidden" name="del_alias" value="" />
377 <input type="submit" name="add_alias" value="Ajouter" />
378 </td>
379 </tr>
73e4718a
FB
380 <tr class="{cycle values="impair,pair"}">
381 <td colspan="3" class="desc">
382 <strong>* à ne modifier qu'avec l'accord express de l'utilisateur !!!</strong>
383 </td>
384 </tr>
0337d704 385 </table>
386</form>
387
73e4718a 388<br />
5ff3f06b 389
f9743cf1 390<form id="fwds" method="post" action="admin/user/{$user->login()}#emails">
e61326ed 391 {xsrf_token_field}
0337d704 392 <table class="bicol" cellpadding="2" cellspacing="0">
393 <tr>
1bab8330 394 <th colspan="5">
0337d704 395 Redirections
396 </th>
397 </tr>
11ed26e5
VZ
398 {assign var=actives value=false}
399 {assign var=disabled value=false}
0337d704 400 {foreach item=mail from=$emails}
2069538b 401 {cycle assign=class values="impair,pair"}
402 <tr class="{$class}">
afde0a3a 403 {if $mail->active && $mail->has_disable()}
441c2451 404 {assign var=actives value=true}
afde0a3a 405 {elseif $mail->disabled && $mail->has_disable()}
441c2451 406 {assign var=disabled value=true}
407 {/if}
0337d704 408 <td class="titre">
441c2451 409 {if $mail->active}active{elseif $mail->disabled}suspendue{/if}
0337d704 410 </td>
411 <td>
441c2451 412 <span class="smaller">
413 {if !$mail->disabled}
414 <a href="javascript:act_fwd('{$mail->email}',{if $mail->active}false{else}true{/if})">
415 {if $mail->active}des{elseif $mail->broken}ré{/if}activer
416 </a>
417 {/if}
418 </span>
8ffa657a 419 </td>
420 <td>
dc557110 421 {if $mail->broken}<span style="color: #f00">{/if}
e86e920f 422 {if $mail->type == 'googleapps'}<a href="admin/googleapps/user/{$user->login()}">{/if}
11ed26e5 423 {$mail->display_email}
e86e920f 424 {if $mail->type == 'googleapps'}</a>{/if}
dc557110 425 {if $mail->broken}<em> (en panne)</em></span>{/if}
0337d704 426 </td>
1bab8330
SJ
427 <td>
428 {if $mail->type != 'imap'}<span class="smaller">(niveau {$mail->filter_level} : {$mail->action})</span>{/if}
429 </td>
0337d704 430 <td class="action">
afde0a3a 431 {if $mail->is_removable()}
f9743cf1 432 <a href="javascript:del_fwd('{$mail->email}')">{icon name=cross}</a>
afde0a3a 433 {/if}
0337d704 434 </td>
435 </tr>
9096e484 436 {if $mail->broken && $mail->broken_date neq "0000-00-00"}
2069538b 437 <tr class="{$class}">
1bab8330 438 <td colspan="4" class="smaller" style="color: #f00">
2069538b 439 {icon name=error title="Panne"}
9096e484
SJ
440 Panne de {$mail->display_email} le {$mail->broken_date|date_format}
441 {if $mail->broken_date neq $mail->last}confirmée le {$mail->last|date_format}{/if}
2069538b 442 </td>
441c2451 443 <td class="action">
444 <a href="javascript:clean_fwd('{$mail->email}')">effacer les pannes</a>
445 </td>
2069538b 446 </tr>
447 {/if}
0337d704 448 {/foreach}
441c2451 449 {cycle assign=class values="impair,pair"}
450 <tr class="{$class}">
8ffa657a 451 <td class="titre" colspan="2">
faefdbb7 452 Ajouter une adresse
0337d704 453 </td>
1bab8330 454 <td colspan="2">
3232ad9b 455 <input type="text" name="email" size="29" maxlength="255" value="" />
0337d704 456 </td>
457 <td class="action">
1844170a 458 <input type="hidden" name="uid" value="{$user->id()}" />
0337d704 459 <input type="hidden" name="del_fwd" value="" />
441c2451 460 <input type="hidden" name="clean_fwd" value="" />
8ffa657a 461 <input type="hidden" name="activate_fwd" value="" />
462 <input type="hidden" name="deactivate_fwd" value="" />
0337d704 463 <input type="submit" name="add_fwd" value="Ajouter" />
464 </td>
465 </tr>
441c2451 466 <tr class="{$class}">
1bab8330 467 <td colspan="5" class="center">
441c2451 468 {if $actives}
faefdbb7 469 <input type="submit" name="disable_fwd" value="Désactiver la redirection des emails" />
441c2451 470 {/if}
471 {if $disabled}
faefdbb7 472 <input type="submit" name="enable_fwd" value="Réactiver la redirection des emails" />
441c2451 473 {/if}
474 </td>
475 </tr>
0337d704 476 </table>
477</form>
478
73e4718a
FB
479{test_email hruid=$user->login()}
480
481<h1>Autres adresses de l'utilisateur</h1>
482
7679a55a 483<table class="bicol">
b5997e90 484 <tr>
1d889ac4
FB
485 <th colspan="3">Mailing lists auquelles l'utilisateur appartient</th>
486 </tr>
487 {foreach from=$mlists item=mlist}
488 <tr>
489 <td>
490 <a href="http://listes.polytechnique.org/members/{$mlist.addr|replace:"@":"_"}">
491 {$mlist.addr}
492 </a>
493 </td>
494 <td>
495 <input type="checkbox" disabled="disabled" {if $mlist.sub}checked="checked"{/if} /> Membre
496 </td>
497 <td>
498 <input type="checkbox" disabled="disabled" {if $mlist.own}checked="checked"{/if} /> Modérateur
499 </td>
500 </tr>
501 {/foreach}
502</table>
503
504<br />
505<table class="bicol">
506 <tr>
b284e2fa 507 <th>Alias de groupe auquel l'utilisateur appartient</th>
b5997e90 508 </tr>
73e4718a
FB
509 {foreach from=$virtuals item=virtual}
510 <tr class="{cycle values="impair,pair"}">
511 <td>{$virtual}</td>
512 </tr>
513 {/foreach}
514</table>
83353c71 515</div>
73e4718a 516
83353c71
FB
517<div id="authext">
518<h1>Gestion des autorisations d'authentification externe</h1>
519
520<form id="openid" method="post" action="admin/user/{$user->login()}#authext">
521 {xsrf_token_field}
522 <table class="bicol">
523 <tr>
524 <th colspan="2">Sites de confiance</th>
525 </tr>
526 {iterate from=$openid item=site}
527 <tr class="{cycle values="pair,impair"}">
528 <td><a href="{$site.url}">{$site.url}</a></td>
529 <td><a href="javascript:del_openid({$site.id})">{icon name=cross}</a></td>
530 </tr>
531 {/iterate}
532 </table>
533 <div><input type="hidden" name="del_openid"/></div>
534</form>
16019034
FB
535</div>
536
537<div id="forums">
7679a55a 538<h1>Gestion de l'accès au forums</h1>
16019034 539
f9743cf1 540<form id="bans" method="post" action="admin/user/{$user->login()}#forums">
16019034 541 {xsrf_token_field}
7679a55a 542 <table class="bicol">
16019034
FB
543 <tr>
544 <th colspan="4">
545 Permissions sur les forums
546 </th>
547 </tr>
548 <tr class="impair">
549 <td class="titre">
550 Poster
551 </td>
552 <td>
553 <input type="text" name="write_perm" size="32" maxlength="255" value="{$bans.write_perm}" />
554 </td>
555 <td class="action">
556 <a href="javascript:ban_write()">Bannir</a>
557 </td>
558 </tr>
559 <tr class="pair">
560 <td class="titre">
561 Lire
562 </td>
563 <td>
564 <input type="text" name="read_perm" size="32" maxlength="255" value="{$bans.read_perm}" />
565 </td>
566 <td class="action">
567 <a href="javascript:ban_read()">Bannir</a>
568 </td>
569 </tr>
570 <tr class="impair">
571 <td class="titre">
572 Commentaire
573 </td>
574 <td colspan="2">
575 <input type="text" name="comment" size="40" maxlength="255" value="{$bans.comment}" />
576 </td>
577 </tr>
578 <tr class="center">
579 <td colspan="3">
210c547f 580 <input type="hidden" name="uid" value="{$user->id()}" />
16019034
FB
581 <input type="submit" name="b_edit" value="Modifier" />
582 </td>
583 </tr>
584 </table>
585</form>
586</div>
9dacb0d4 587</div>
0337d704 588{/if}
0337d704 589
448c8cdc 590{* vim:set et sw=2 sts=2 sws=2 fenc=utf-8: *}