Add a free text field in x.net profile (Closes #848)
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Fri, 27 Jun 2008 20:53:36 +0000 (22:53 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Fri, 27 Jun 2008 20:53:36 +0000 (22:53 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
modules/xnetgrp.php
templates/xnetgrp/annuaire.tpl
templates/xnetgrp/membres-edit.tpl

index e727443..b27831c 100644 (file)
@@ -34,7 +34,7 @@ function get_infos($email)
     }
 
     $res = XDB::query(
-            "SELECT  uid, nom, prenom, email, email AS email2, perms='admin', origine, sexe
+            "SELECT  uid, nom, prenom, email, email AS email2, perms='admin', origine, comm, sexe
                FROM  groupex.membres
               WHERE  $field = {?} AND asso_id = {?}", $email, $globals->asso('id'));
 
@@ -54,7 +54,7 @@ function get_infos($email)
                          u.prenom, b.alias,
                          CONCAT(b.alias, '@m4x.org') AS email,
                          CONCAT(b.alias, '@polytechnique.org') AS email2,
-                         m.perms = 'admin' AS perms, m.origine,
+                         m.perms = 'admin' AS perms, m.origine, m.comm,
                          FIND_IN_SET('femme', u.flags) AS sexe
                    FROM  auth_user_md5   AS u
              INNER JOIN  aliases         AS a ON ( u.user_id = a.id AND a.type != 'homonyme' )
@@ -438,6 +438,7 @@ class XnetGrpModule extends PLModule
                            m.perms='admin' AS admin,
                            m.origine='X' AS x,
                            u.perms!='pending' AS inscrit,
+                           m.comm as comm,
                            m.uid, IF(e.email IS NULL AND FIND_IN_SET('googleapps', u.mail_storage) = 0, NULL, 1) AS actif
                      FROM  groupex.membres AS m
                 LEFT JOIN  auth_user_md5   AS u ON ( u.user_id = m.uid )
@@ -975,20 +976,29 @@ class XnetGrpModule extends PLModule
                                SET prenom={?}, nom={?}, email={?}, sexe={?}, origine={?}
                              WHERE uid={?} AND asso_id={?}',
                            $user['prenom'], $user['nom'], Post::v('email'),
-                           $user['sexe'], $user['origine'], $user['uid'],
-                           $globals->asso('id'));
+                           $user['sexe'], $user['origine'],
+                           $user['uid'], $globals->asso('id'));
                 $user['email']   = Post::v('email');
                 $user['email2']  = Post::v('email');
+                $page->trigSuccess('Données de l\'utilisateur mise à jour.');
             }
 
             $perms = Post::i('is_admin');
-            if ($user['perms'] != $perms) {
-                XDB::query('UPDATE groupex.membres SET perms={?}
+            $comm  = trim(Post::s('comm'));
+            if ($user['perms'] != $perms || $user['comm'] != $comm) {
+                XDB::query('UPDATE groupex.membres
+                               SET perms={?}, comm={?}
                              WHERE uid={?} AND asso_id={?}',
-                            $perms ? 'admin' : 'membre',
+                            $perms ? 'admin' : 'membre', $comm,
                             $user['uid'], $globals->asso('id'));
+                if ($perms != $user['perms']) {
+                    $page->trigSuccess('Permissions modifiées !');
+                }
+                if ($comm != $user['comm']) {
+                    $page->trigSuccess('Commentaire mis à jour.');
+                }
                 $user['perms'] = $perms;
-                $page->trigSuccess('Permissions modifiées !');
+                $user['comm'] = $comm;
             }
 
             // Update ML subscriptions
@@ -1039,7 +1049,6 @@ class XnetGrpModule extends PLModule
         }
 
         $page->assign('user', $user);
-        echo $user['email2'];
         $listes = $mmlist->get_lists($user['email2']);
         $page->assign('listes', $listes);
 
index 8b42863..acb7244 100644 (file)
@@ -64,7 +64,7 @@ Le groupe {$asso.nom} compte {$nb_tot} membres&nbsp;:
 {/foreach}
 </p>
 
-<table summary="membres du groupe" class="tinybicol">
+<table summary="membres du groupe" class="bicol">
   <tr>
     <th>
       <a href="{$platal->ns}annuaire?order=alpha{if $sort neq "alpha_inv"}_inv{/if}{if $request_group and $group eq 'initiale'}&amp;initiale={$request_group}{/if}{if $only_admin}&amp;admin=1{/if}">
@@ -86,7 +86,7 @@ Le groupe {$asso.nom} compte {$nb_tot} membres&nbsp;:
         Promo
       </a>
     </th>
-    <th>Infos</th>
+    <th colspan="2">Infos</th>
     {if $is_admin}
     <th>Actions</th>
     {/if}
@@ -108,7 +108,10 @@ Le groupe {$asso.nom} compte {$nb_tot} membres&nbsp;:
       {assign var=broken value=true}
       {/if}</td>
     <td>{if $m.admin}<strong>{/if}{$m.promo}{if $m.admin}</strong>{/if}</td>
-    <td class="center">
+    {if $m.comm}
+    <td>{$m.comm}</td>
+    {/if}
+    <td class="center" {if !$m.comm}colspan="2"{/if}>
       {if $m.inscrit}
       <a href="https://www.polytechnique.org/vcard/{$m.email}.vcf">{icon name=vcard title="[vcard]"}</a>
       <a href="mailto:{$m.email}@polytechnique.org">{icon name=email title="mail"}</a>
index 6baa2ec..0dc6347 100644 (file)
@@ -60,7 +60,7 @@
   <table cellpadding="0" cellspacing="0" class='tinybicol'>
     <tr class="pair">
       <td class="titre">
-        Permissions:
+        Permissions&nbsp;:
       </td>
       <td>
         <select name="is_admin">
     </tr>
     <tr class="impair">
       <td class="titre">
-        Email:
+        Email&nbsp;:
       </td>
       <td>
         <input type="text" value="{$user.email}" name="email" size="40" />
       </td>
     </tr>
+    {/if}
+    <tr class="impair">
+      <td class="titre">
+        Commentaire&nbsp;:
+      </td>
+      <td>
+        <input type="text" name="comm" value="{$user.comm}" size="40" maxlength="255" /><br />
+        <small>Poste, origine, ... (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}>
       <td colspan="2">
         <span id="make_X_cb">