Better alias administration integration.
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Tue, 14 Nov 2006 21:07:18 +0000 (21:07 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Tue, 14 Nov 2006 21:07:18 +0000 (21:07 +0000)
Improves member-add ajax behaviour

git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1083 839d8a87-29fc-0310-9880-83ba4fa771e5

modules/xnetgrp.php
modules/xnetlists.php
templates/xnet/groupe/alias-admin.tpl
templates/xnet/groupe/membres-add.tpl

index 47de695..171a421 100644 (file)
@@ -739,8 +739,10 @@ class XnetGrpModule extends PLModule
         if (!empty($prenom)) {
             $where .= " AND prenom LIKE '%$prenom%'";
         }
-        if (is_numeric(Env::v('promo'))) {
+        if (preg_match('/^[0-9]{4}$/', Env::v('promo'))) {
             $where .= " AND promo = " . Env::i('promo');
+        } elseif (Env::has('promo')) {
+            return;
         }
         $res = XDB::iterator("SELECT user_id, nom, prenom, promo
                                 FROM auth_user_md5
index 47e325b..2a9ad7d 100644 (file)
@@ -279,12 +279,25 @@ class XnetListsModule extends ListsModule
             pl_redirect('alias/admin/'.$lfull);
         }
 
+        global $globals;
         $res = XDB::iterator(
-                "SELECT  redirect
+                "SELECT  redirect,
+                         IF(u.nom IS NOT NULL, IF(u.nom_usage<>'', u.nom_usage, u.nom), m.nom) AS nom,
+                         IF(u.prenom IS NOT NULL, u.prenom, m.prenom) AS prenom,
+                         IF(u.promo IS NOT NULL, u.promo, 'extérieur') AS promo,
+                         IF(m2.perms, m2.perms = 'admin', m.perms = 'admin') AS admin,
+                         a.alias
                    FROM  x4dat.virtual_redirect AS vr
              INNER JOIN  x4dat.virtual          AS v  USING(vid)
+              LEFT JOIN  x4dat.aliases          AS a  ON(vr.redirect = CONCAT(a.alias, CONCAT('@', {?}))
+                                                        OR vr.redirect = CONCAT(a.alias, CONCAT('@', {?})))
+              LEFT JOIN  x4dat.auth_user_md5    AS u  ON(a.id = u.user_id)
+              LEFT JOIN  groupex.membres        AS m2 ON(u.user_id = m2.uid AND m2.asso_id = {?})
+              LEFT JOIN  groupex.membres        AS m  ON(m.email = vr.redirect AND m.asso_id = {?})
                   WHERE  v.alias={?}
-               ORDER BY  redirect", $lfull);
+               ORDER BY  redirect",
+               $globals->mail->domain, $globals->mail->domain2,
+               $globals->asso('id'), $globals->asso('id'), $lfull);
         $page->assign('mem', $res);
     }
 
index 82412bf..30fbefa 100644 (file)
 
 <h1>Membres de {$platal->argv[1]}</h1>
       
-<table class='tiny'>
+<table class='tinybicol'>
+  {if $mem->total()}
+  {iterate from=$mem item=m}
   <tr>
-    <td class='titre'>Membres</td>
     <td>
-      {if $mem->total()}
-      {iterate from=$mem item=m}
+      {if $m.nom}
+      {if $m.admin}<strong>{/if}
+      {if $m.alias}<a href="https://www.polytechnique.org/profile/{$m.alias}" class="popup2">{/if}
+      {$m.prenom} {$m.nom}
+      {if $m.alias}</a>{/if}
+      {if $m.admin}</strong>{/if}
+      {else}
       {$m.redirect}
+      {/if}
+    </td>
+    <td class="right">
+      {if $m.admin}<strong>{/if}
+      {$m.promo}
+      {if $m.admin}</strong>{/if}
+    </td>
+    <td class="center">
       <a href='{$platal->ns}alias/admin/{$platal->argv[1]}?del_member={$m.redirect|urlencode}'>
-      {icon name=delete title='retirer membre'}</a>]
+      {icon name=delete title='retirer membre'}
       </a>
-      <br />
-      {/iterate}
-      {else}
+    </td>
+  </tr>
+  {/iterate}
+  {else}
+  <tr>
+    <td colspan="3">
       <em>aucun membres ...</em>
-      {/if}
     </td>
   </tr>
+  {/if}
   <tr>
-    <td><strong>Ajouter</strong></td>
-    <td>
+    <th colspan="3">Ajouter</th>
+  </tr>
+  <tr>
+    <td colspan="3" class="center">
       <form method="post" action="{$platal->ns}alias/admin/{$platal->argv[1]}">
         <div>
         <input type='text' name='add_member' />
index 9202918..d34bc73 100644 (file)
@@ -82,15 +82,15 @@ function searchX()
     </tr>
     <tr id="xnom" style="display: none">
       <td class="titre">Nom :</td>
-      <td><input type="text" id="nom" name="nom" size="20" value="" onchange="searchX();" /></td>
+      <td><input type="text" id="nom" name="nom" size="20" value="" onkeyup="searchX();" /></td>
     </tr>
     <tr id="xprenom" style="display: none">
       <td class="titre">Prénom :</td>
-      <td><input type="text" id="prenom" name="prenom" size="20" value="" onchange="searchX();" /></td>
+      <td><input type="text" id="prenom" name="prenom" size="20" value="" onkeyup="searchX();" /></td>
     </tr>
     <tr id="xpromo" style="display: none">
       <td class="titre">Promotion :</td>
-      <td><input type="text" id="promo" name="promo" size="4" value="" onchange="searchX();" /></td>
+      <td><input type="text" id="promo" name="promo" size="4" value="" onkeyup="searchX();" /></td>
     </tr>
     <tr id="xsearch" style="display: none" class="pair">
       {include file="xnet/groupe/membres-new-search.tpl"}