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