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