Merge branch 'xorg/master' into xorg/f/xnet-accounts
[platal.git] / templates / xnetgrp / membres-edit.tpl
index c25d873..12e1da1 100644 (file)
@@ -1,6 +1,6 @@
 {**************************************************************************}
 {*                                                                        *}
-{*  Copyright (C) 2003-2009 Polytechnique.org                             *}
+{*  Copyright (C) 2003-2011 Polytechnique.org                             *}
 {*  http://opensource.polytechnique.org/                                  *}
 {*                                                                        *}
 {*  This program is free software; you can redistribute it and/or modify  *}
 {literal}
   function showInformations(box)
   {
-      var state = (box.value == 'ext') ? '' : 'none';
+      var state = (box.value != 'virtual') ? '' : 'none';
       document.getElementById('prenom').style.display = state;
       document.getElementById('sexe').style.display = state;
       document.getElementById('make_X').style.display = state;
+      document.getElementById('password').style.display = state;
   }
 
   function showXInput(box)
 {/literal}
 </script>
 
-<h1>{$asso.nom}&nbsp;: gestion des membres</h1>
+<h1>{$asso->nom}&nbsp;: gestion des membres</h1>
 
 <p>
 [<a href='{$platal->ns}annuaire'>Retour à l'annuaire</a>]
 </p>
 
 <h2>
-  Édition du profil de {if "`$user.prenom` `$user.nom`"|trim}{$user.prenom} {$user.nom}{else}{$user.email}{/if}
-  {if $user.origine eq 'X'}
-  &nbsp;(X{$user.promo})
-  <a href="https://www.polytechnique.org/profile/{$user.alias}">{icon name=user_suit title="fiche"}</a>
-  {/if}
-  <a href="{$platal->ns}member/del/{$user.email}">{icon name=delete title="Suppression du compte"}</a>
-  <a href="mailto:{$user.email}">{icon name=email title="mail"}</a>
+  Édition du profil de {profile user=$user groupperms=false sex=false promo=true}
+  <a href="mailto:{$user->bestEmail()}">{icon name=email title="mail"}</a>
 </h2>
 
 <form method="post" action="{$platal->ns}member/{$platal->argv[1]}">
   {xsrf_token_field}
   <table cellpadding="0" cellspacing="0" class='tinybicol'>
+    {if hasPerm('admin')}
+    <tr class="pair">
+      <td class="titre">
+        Identifiant unique&nbsp;:
+      </td>
+      <td>
+        {$user->hruid}
+        <a href="https://www.polytechnique.org/admin/user/{$user->hruid}">{icon name="user_edit" title="Administer"}</a>
+      </td>
+    </tr>
+    {/if}
     <tr class="pair">
       <td class="titre">
         Permissions&nbsp;:
       </td>
       <td>
-        <select name="is_admin">
-          <option value="0" {if !$user.perms}selected="selected"{/if}>Membre</option>
-          <option value="1" {if $user.perms}selected="selected"{/if}>Animateur</option>
+        <select name="group_perms">
+          <option value="membre" {if $user->group_perms eq 'membre'}selected="selected"{/if}>Membre</option>
+          <option value="admin" {if $user->group_perms eq 'admin'}selected="selected"{/if}>Animateur</option>
+        </select>
+      </td>
+    </tr>
+    <tr class="pair">
+      <td class="titre">
+        Poste&nbsp;:
+      </td>
+      <td>
+        <select name="group_position">
+          <option value=""{if $user->group_position eq ''} selected="selected"{/if}></option>
+          {foreach from=$positions item=position}
+          <option value="{$position}"{if $user->group_position eq $position} selected="selected"{/if}>{$position}</option>
+          {/foreach}
         </select>
       </td>
     </tr>
-    {if $user.origine neq X}
+    {if $user->type eq 'virtual' || $user->type eq 'xnet'}
     <tr class="impair">
       <td class="titre">
         Type d'utilisateur&nbsp;:
       </td>
       <td>
-        <select name="origine" onchange="showInformations(this); return true">
-          <option value="ext" {if $user.origine eq "ext"}selected="selected"{/if}>Personne physique</option>
-          <option value="groupe" {if $user.origine eq "groupe"}selected="selected"{/if}>Personne morale</option>
+        <select name="type" onchange="showInformations(this); return true">
+          <option value="xnet" {if $user->type neq 'virtual'}selected="selected"{/if}>Personne physique</option>
+          <option value="virtual" {if $user->type eq "virtual"}selected="selected"{/if}>Personne morale</option>
         </select>
       </td>
     </tr>
-    <tr id="prenom" class="impair" {if $user.origine eq "groupe"}style="display: none"{/if}>
+      <tr id="prenom" class="impair" {if $user->type eq "virtual"}style="display: none"{/if}>
+      <td class="titre">
+        Nom affiché&nbsp;:
+      </td>
+      <td>
+        <input type="text" value="{$user->displayName()}" name="display_name" size="40" />
+      </td>
+    </tr>
+    <tr class="impair">
       <td class="titre">
-        Prénom&nbsp;:
+        Nom complet&nbsp;:
       </td>
       <td>
-        <input type="text" value="{$user.prenom}" name="prenom" size="40" />
+        <input type="text" value="{$user->fullName()}" name="full_name" size="40" />
       </td>
     </tr>
     <tr class="impair">
       <td class="titre">
-        Nom&nbsp;:
+        Nom annuaire&nbsp;:
       </td>
       <td>
-        <input type="text" value="{$user.nom}" name="nom" size="40" />
+        <input type="text" value="{$user->directoryName()}" name="directory_name" size="40" />
       </td>
     </tr>
-    <tr id="sexe" class="impair" {if $user.origine eq "groupe"}style="display: none"{/if}>
+    <tr id="sexe" class="impair" {if $user->type eq "virtual"}style="display: none"{/if}>
       <td class="titre">
         Sexe&nbsp;:
       </td>
       <td>
-        <select name="sexe">
-          <option value="0"{if $user.sexe eq 0} selected="selected"{/if}>Homme</option>
-          <option value="1"{if $user.sexe eq 1} selected="selected"{/if}>Femme</option>
+        <select name="sex">
+          <option value="male"{if !$user->isFemale()} selected="selected"{/if}>Homme</option>
+          <option value="female"{if $user->isFemale()} selected="selected"{/if}>Femme</option>
         </select>
       </td>
     </tr>
+    {if !$user->perms}
     <tr class="impair">
       <td class="titre">
         Email&nbsp;:
       </td>
       <td>
-        <input type="text" value="{$user.email}" name="email" size="40" />
+        <input type="text" value="{$user->forlifeEmail()}" name="email" size="40" />
       </td>
     </tr>
     {/if}
+    {/if}
     <tr class="impair">
       <td class="titre">
         Commentaire&nbsp;:
       </td>
       <td>
-        <input type="text" name="comm" value="{$user.comm}" size="40" maxlength="255" /><br />
+        <input type="text" name="comm" value="{$user->group_comm}" size="40" maxlength="255" /><br />
         <small>Poste, origine&hellip; (accessible à toutes les personnes autorisées à consulter l'annuaire)</small>
       </td>
     </tr>
-    {if $user.origine neq X}
-    <tr id="make_X" {if $user.origine eq "groupe"}style="display: none"{/if}>
+    {if $user->type eq 'xnet'}
+    <tr class="impair" id="password">
+      <td class="titre">Mot de passe&nbsp;:</td>
+      <td>
+        <div style="float: left">
+          <input type="text" name="new_plain_password" size="10" maxlength="256" value="********" />
+          <input type="hidden" name="pwhash" value="" />
+        </div>
+        <div style="float: left; margin-top: 5px;">
+          {checkpasswd prompt="new_plain_password" submit="dummy_none"}
+        </div>
+        {if !$onlyGroup}
+        <div style="clear: both">
+          <small class="error">
+            Attention, cet utilisateur est inscrit à d'autres groupes, changer son mot de passe modifiera aussi ses accès aux autres groupes.
+          </small>
+        </div>
+        {/if}
+      </td>
+    </tr>
+    <tr id="make_X">
       <td colspan="2">
         <span id="make_X_cb">
           <input type="checkbox" name="is_x" id="is_x" onclick="showXInput(this);" onchange="showXInput(this);" />
       <th>Alias</th>
     </tr>
 
-    {foreach from=$alias item=a}
+    {foreach from=$alias key=address item=sub}
     <tr>
       <td align='right'>
-        <input type='hidden' name='ml3[{$a.alias}]' value='{$a.sub}' />
-        <input type='checkbox' name='ml4[{$a.alias}]' {if $a.sub}checked="checked"{/if} />
+        <input type='hidden' name='ml3[{$address}]' value='{$sub}' />
+        <input type='checkbox' name='ml4[{$address}]' {if $sub}checked="checked"{/if} />
       </td>
       <td>
-        <a href='{$platal->ns}alias/admin/{$a.alias}'>{$a.alias}</a>
+        <a href='{$platal->ns}alias/admin/{$address}'>{$address}</a>
       </td>
     </tr>
     {foreachelse}
 
   <div class="center">
     <br />
-    <input type="submit" name='change' value="Valider ces changements" />
+    <input type="submit" name='change' value="Valider ces changements" onclick="return hashResponse('new_plain_password', false, false);" />
     &nbsp;
     <input type="reset" value="Annuler ces changements" />
-  </div>                                                                      
+  </div>
 
 </form>