Links accounts requests to group sites.
authorStéphane Jacob <sj@m4x.org>
Wed, 30 Nov 2011 00:15:28 +0000 (01:15 +0100)
committerStéphane Jacob <sj@m4x.org>
Wed, 30 Nov 2011 00:16:01 +0000 (01:16 +0100)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
include/validations/account.inc.php
include/validations/bulkaccounts.inc.php
modules/xnetgrp.php
templates/include/form.valid.account.tpl
templates/include/form.valid.bulk_accounts.tpl

index f2154dd..7b41877 100644 (file)
@@ -28,6 +28,7 @@ class AccountReq extends Validate
     public $hruid;
     public $email;
     public $group;
+    public $dim;
     public $groups;
 
     public $rules = "Accepter si l'adresse email parait correcte, et pas absurde
@@ -37,22 +38,23 @@ class AccountReq extends Validate
     // }}}
     // {{{ constructor
 
-    public function __construct(User $user, $hruid, $email, $group)
+    public function __construct(User $user, $hruid, $email, $group, $dim)
     {
         parent::__construct($user, false, 'account');
         $this->hruid = $hruid;
         $this->email = $email;
         $this->group = $group;
+        $this->dim   = $dim;
         $this->uid = XDB::fetchOneCell('SELECT  uid
                                           FROM  accounts
                                          WHERE  hruid = {?}',
                                        $hruid);
-        $this->groups = implode(',', XDB::fetchColumn('SELECT  g.nom
-                                                         FROM  groups AS g
-                                                   INNER JOIN  group_members AS m ON (g.id = m.asso_id)
-                                                        WHERE  m.uid = {?}
-                                                     ORDER BY  g.nom',
-                                                      $this->uid));
+        $this->groups = XDB::fetchAllAssoc('SELECT  g.nom, g.diminutif
+                                              FROM  groups AS g
+                                        INNER JOIN  group_members AS m ON (g.id = m.asso_id)
+                                             WHERE  m.uid = {?}
+                                          ORDER BY  g.nom',
+                                           $this->uid);
     }
 
     // }}}
index b3fbcf2..c49ae12 100644 (file)
@@ -27,16 +27,18 @@ class BulkAccountsReq extends Validate
     private $limit = 50;
     public $users;
     public $group;
+    public $dim;
 
     public $rules = "Accepter si les adresses email paraissent correctes, et pas
         absurdes et si le demandeur est de confiance.";
     // }}}
     // {{{ constructor
 
-    public function __construct(User $user, array $uids, $group)
+    public function __construct(User $user, array $uids, $group, $dim)
     {
         parent::__construct($user, false, 'bulkaccounts');
         $this->group = $group;
+        $this->dim   = $dim;
         $this->users = XDB::fetchAllAssoc('SELECT  uid, hruid, email
                                              FROM  accounts
                                             WHERE  uid IN {?}',
index 96fd4c6..da12927 100644 (file)
@@ -615,8 +615,7 @@ class XnetGrpModule extends PLModule
             $uids_to_enable = array_intersect(array_keys(Post::v('enable_accounts')), $uids);
 
             $user = S::user();
-            $group = Platal::globals()->asso('nom');
-            $request = new BulkAccountsReq($user, $uids_to_enable, $group);
+            $request = new BulkAccountsReq($user, $uids_to_enable, $globals->asso('nom'), $globals->asso('diminutif'));
             $request->submit();
             $page->trigSuccess('Un email va bientôt être envoyé aux personnes sélectionnées pour l\'activation de leur compte.');
 
@@ -1028,11 +1027,13 @@ class XnetGrpModule extends PLModule
 
         if (Post::has('suggest')) {
             if (Post::t('suggest') == 'yes') {
+                global $globals;
+
                 $user = S::user();
-                $request = new AccountReq($user, $hruid, $email, Platal::globals()->asso('nom'));
+                $request = new AccountReq($user, $hruid, $email, $globals->asso('nom'), $globals->asso('diminutif'));
                 $request->submit();
                 $page->trigSuccessRedirect('Un email va bien être envoyé à ' . $email . ' pour l\'activation de son compte.',
-                                           Platal::globals()->asso('diminutif') . '/member/' . $hruid);
+                                           $globals->asso('diminutif') . '/member/' . $hruid);
             } else {
                 pl_redirect('member/' . $hruid);
             }
@@ -1287,7 +1288,7 @@ class XnetGrpModule extends PLModule
 
             if (($user->type == 'xnet' && !$user->perms)) {
                 if (Post::b('suggest')) {
-                    $request = new AccountReq(S::user(), $user->hruid, Post::t('email'), $globals->asso('nom'));
+                    $request = new AccountReq(S::user(), $user->hruid, Post::t('email'), $globals->asso('nom'), $globals->asso('diminutif'));
                     $request->submit();
                     $page->trigSuccess('Le compte va bientôt être activé.');
                 }
index 99cebb5..ec95e7f 100644 (file)
 
 <tr class="pair">
   <td class="titre">Groupe demandeur&nbsp;:</td>
-  <td>{$valid->group}</td>
+  <td><a href="http://polytechnique.net/{$valid->dim}">{$valid->group}</a></td>
 </tr>
 <tr class="pair">
   <td class="titre">Tous les groupes&nbsp;:</td>
-  <td>{$valid->groups}</td>
+  <td>
+  {foreach from=$valid->groups item=group}
+    <a href="http://polytechnique.net/{$group.diminutif}">{$group.nom}</a>
+  {/foreach}
+  </td>
 </tr>
 <tr class="pair">
   <td class="titre">Adresse email&nbsp;:</td>
index 59c27a4..2feb883 100644 (file)
@@ -22,7 +22,7 @@
 
 <tr class="pair">
   <td class="titre">Groupe demandeur&nbsp;:</td>
-  <td>{$valid->group}</td>
+  <td><a href="http://polytechnique.net/{$valid->dim}">{$valid->group}</a></td>
 </tr>
 <tr class="pair">
   <td class="titre">Adresses emails&nbsp;:</td>