Can manage non registered users
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Mon, 13 Nov 2006 20:08:48 +0000 (20:08 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Mon, 13 Nov 2006 20:08:48 +0000 (20:08 +0000)
Add registration date in user administration form
Add "AX matricule" in user administration form

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

ChangeLog
modules/admin.php
templates/admin/utilisateurs.tpl
templates/include/minifiche.tpl

index e8de078..d3206c3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@ New:
 
     * Admin:
         - Can add sorting key in Table Editor.                             -FRU
+        - Can manage not registered users                                  -FRU
 
     * Carnet:
         - Add a vcard of all the contacts                                  -FRU
index 2e8f01a..81e0f8a 100644 (file)
@@ -345,7 +345,8 @@ class AdminModule extends PLModule
         $page->assign('xorg_title','Polytechnique.org - Administration - Logs des sessions');
     }
 
-    function handler_user(&$page, $login = false) {
+    function handler_user(&$page, $login = false)
+    {
         $page->changeTpl('admin/utilisateurs.tpl');
         $page->assign('xorg_title','Polytechnique.org - Administration - Edit/Su/Log');
         require_once("emails.inc.php");
@@ -357,6 +358,9 @@ class AdminModule extends PLModule
 
         if (Env::has('user_id')) {
             $login = get_user_login(Env::i('user_id'));
+            if (empty($login)) {
+                $login = Env::i('user_id');
+            }
         } elseif (Env::has('login')) {
             $login = get_user_login(Env::v('login'));
         }
@@ -380,12 +384,21 @@ class AdminModule extends PLModule
         }
 
         if ($login) {
-            $r  = XDB::query("SELECT  *, a.alias AS forlife, u.flags AS sexe
-                                          FROM  auth_user_md5 AS u
-                                    INNER JOIN  aliases       AS a ON ( a.id = u.user_id AND a.alias={?} AND type!='homonyme' )", $login);
+            if (is_numeric($login)) {
+                $r = XDB::query("SELECT *, a.alias AS forlife, u.flags AS sexe
+                                   FROM auth_user_md5 AS u
+                              LEFT JOIN aliases       AS a ON (a.id = u.user_id AND type= 'a_vie')
+                                  WHERE u.user_id = {?}", $login);
+            } else {
+                $r  = XDB::query("SELECT  *, a.alias AS forlife, u.flags AS sexe
+                                    FROM  auth_user_md5 AS u
+                              INNER JOIN  aliases       AS a ON ( a.id = u.user_id AND a.alias={?} AND type!='homonyme' )", $login);
+            }   
             $mr = $r->fetchOneAssoc();
 
-            $redirect = new Redirect($mr['user_id']);
+            if (!is_numeric($login)) { //user has a forlife
+                $redirect = new Redirect($mr['user_id']);
+            }
 
             // Check if there was a submission
             foreach($_POST as $key => $val) {
@@ -408,8 +421,9 @@ class AdminModule extends PLModule
 
                     case "del_alias":
                         if (!empty($val)) {
-                            XDB::execute("DELETE FROM aliases WHERE id={?} AND alias={?}
-                                    AND type!='a_vie' AND type!='homonyme'", $mr['user_id'], $val);
+                            XDB::execute("DELETE FROM aliases
+                                                WHERE id={?} AND alias={?}
+                                                      AND type!='a_vie' AND type!='homonyme'", $mr['user_id'], $val);
                             XDB::execute("UPDATE emails
                                              SET rewrite = ''
                                            WHERE uid = {?} AND rewrite LIKE CONCAT({?}, '@%')",
@@ -483,10 +497,10 @@ class AdminModule extends PLModule
                         if (Env::v('nomusageN') != $mr['nom_usage']) {
                             set_new_usage($mr['user_id'], Env::v('nomusageN'), make_username(Env::v('prenomN'), Env::v('nomusageN')));
                         }
-                        $r  = XDB::query("SELECT  *, a.alias AS forlife, u.flags AS sexe
-                                                      FROM  auth_user_md5 AS u
-                                                INNER JOIN  aliases       AS a ON (u.user_id=a.id)
-                                                     WHERE  user_id = {?}", $mr['user_id']);
+                        $r = XDB::query("SELECT *, a.alias AS forlife, u.flags AS sexe
+                                           FROM auth_user_md5 AS u
+                                      LEFT JOIN aliases       AS a ON (a.id = u.user_id AND type= 'a_vie')
+                                          WHERE u.user_id = {?}", $mr['user_id']);
                         $mr = $r->fetchOneAssoc();
                         break;
 
@@ -519,7 +533,9 @@ class AdminModule extends PLModule
                            FROM  aliases
                           WHERE  id = {?} AND type!='homonyme'
                        ORDER BY  type!= 'a_vie'", $mr["user_id"]));
-            $page->assign('emails',$redirect->emails);
+            if ($mr['perms'] != 'pending') {
+                $page->assign('emails',$redirect->emails);
+            }
 
             $page->assign('mr',$mr);
         }
index 0855e3c..e353de9 100644 (file)
@@ -112,11 +112,15 @@ function act_fwd(fwd, activate) {
 <form id="auth" method="post" action="admin/user">
   <table cellspacing="0" cellpadding="2" class="tinybicol">
     <tr>
-      <th>
-        UID et Matricule
-      </th>
-      <th>
-        {$mr.user_id} / {$mr.matricule}
+      <th colspan="2">
+        <div style="float: right; text-align: right">
+          Matricule = {$mr.matricule}<br />
+          Matricule AX = {$mr.matricule_ax}
+        </div>
+        <div style="float: left; text-align: left">
+          UID = {$mr.user_id}<br />
+          Inscription = {$mr.date_ins|date_format}
+        </div>
         <input type="hidden" name="user_id" value="{$mr.user_id}" />
       </th>
     </tr>
@@ -208,6 +212,13 @@ function act_fwd(fwd, activate) {
         <input type="text" name="commentN" size="40" maxlength="64" value="{$mr.comment}" />
       </td>
     </tr>
+    {if $mr.perms eq 'pending'}
+    <tr class="center">
+      <td colspan="2">
+        <input onclick="doEditUser(); return true;" type="submit" name="u_edit" value="UPDATE" />
+      </td>
+    </tr>
+    {else}
     <tr class="center">
       <td>
         <a href="profile/{$mr.forlife}" class="popup2">[Voir fiche]</a>
@@ -224,8 +235,10 @@ function act_fwd(fwd, activate) {
         <input type="submit" name="u_kill_conf" value="Désinscrire" />
       </td>
     </tr>
+    {/if}
   </table>
 </form>
+{if $mr.perms neq 'pending'}
 <p>
 Ne pas utiliser [Désinscrire] si le but est d'exclure la personne.
 Pour ceci changer ses permissions en 'disabled'.
@@ -325,5 +338,6 @@ Pour ceci changer ses permissions en 'disabled'.
 
 {/if}
 {/if}
+{/if}
 
 {* vim:set et sw=2 sts=2 sws=2: *}
index 967cb07..db60a9b 100644 (file)
     {/if}
 
     {if $smarty.session.perms eq admin}
-      {if !$c.wasinscrit && !$c.dcd}
-        [<a href="marketing/private/{$c.user_id}">{*
-          *}{icon name=wrench title="marketter user"}</a>
-      {elseif $c.wasinscrit}
-        [<a href="admin/user/{$c.forlife}">{*
-          *}{icon name=wrench title="administrer user"}</a>
+      [{if !$c.wasinscrit && !$c.dcd}
+        <a href="marketing/private/{$c.user_id}">{*
+          *}{icon name=email title="marketter user"}</a>
       {/if}
+      <a href="admin/user/{if $c.wasinscrit}{$c.forlife}{else}{$c.user_id}{/if}">{*
+        *}{icon name=wrench title="administrer user"}</a>
       <a href="http://www.polytechniciens.com/?page=AX_FICHE_ANCIEN&amp;anc_id={$c.matricule_ax}">{*
       *}{icon name=user_gray title="fiche AX"}</a>]
     {/if}