Enables reminder for xnet accounts (Closes #1530).
authorStéphane Jacob <sj@m4x.org>
Tue, 20 Sep 2011 14:57:26 +0000 (16:57 +0200)
committerStéphane Jacob <sj@m4x.org>
Tue, 20 Sep 2011 14:57:26 +0000 (16:57 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
ChangeLog
bin/cron/cron_xnet_accounts.php
modules/xnetgrp.php
templates/xnet/account.mail.tpl
templates/xnetgrp/membres-edit.tpl

index 2717204..cc46cb5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,7 @@ Bug/Wish:
 
     * XnetGrp:
         - #1525: Fixes broken page on erroneous group page edition         -JAC
+        - #1530: Enables reminder for xnet accounts                        -JAC
 
 ================================================================================
 VERSION 1.1.3                                                         10 09 2011
index de935e0..6194f68 100755 (executable)
@@ -40,6 +40,7 @@ foreach ($users as $user) {
     $mailer->assign('email', $user['email']);
     $mailer->assign('group', $user['group_name']);
     $mailer->assign('sender_name', $user['sender_name']);
+    $mailer->assign('again', false);
     $mailer->send();
 
     XDB::execute('UPDATE  accounts
index 2b5966d..7ad6236 100644 (file)
@@ -1239,10 +1239,29 @@ class XnetGrpModule extends PLModule
                 $page->trigSuccess('Données de l\'utilisateur mises à jour.');
             }
 
-            if (($user->type == 'xnet' && !$user->perms) && Post::b('suggest')) {
-                $request = new AccountReq(S::user(), $user->hruid, Post::t('email'), $globals->asso('nom'));
-                $request->submit();
-                $page->trigSuccess('Le compte va bientôt être activé.');
+            if (($user->type == 'xnet' && !$user->perms)) {
+                if (Post::b('suggest')) {
+                    $request = new AccountReq(S::user(), $user->hruid, Post::t('email'), $globals->asso('nom'));
+                    $request->submit();
+                    $page->trigSuccess('Le compte va bientôt être activé.');
+                }
+                if (Post::b('again')) {
+                    $data = XDB::fetchOneAssoc('SELECT  hash, group_name, sender_name, email
+                                                  FROM  register_pending_xnet
+                                                 WHERE  uid = {?}',
+                                               $user->id());
+
+                    $mailer = new PlMailer('xnet/account.mail.tpl');
+                    $mailer->addCc('validation+xnet_account@polytechnique.org');
+                    $mailer->setTo($data['email']);
+                    $mailer->assign('hash', $data['hash']);
+                    $mailer->assign('email', $data['email']);
+                    $mailer->assign('group', $data['group_name']);
+                    $mailer->assign('sender_name', $data['sender_name']);
+                    $mailer->assign('again', true);
+                    $mailer->send();
+                    $page->trigSuccess('Relance effectuée avec succès.');
+                }
             }
 
             // Update group params for user
@@ -1343,6 +1362,10 @@ class XnetGrpModule extends PLModule
         $page->assign('alias', $user->emailGroupAliases($globals->asso('mail_domain')));
         $page->assign('positions', explode(',', $positions));
         $page->assign('nl_registered', $nl_registered);
+        $page->assign('pending_xnet_account', XDB::fetchOneCell('SELECT  1
+                                                                   FROM  register_pending_xnet
+                                                                  WHERE  uid = {?}',
+                                                                $user->id()));
     }
 
     function handler_rss(PlPage $page, PlUser $user)
index 123b691..75e5fe8 100644 (file)
@@ -28,7 +28,7 @@
 {elseif $mail_part eq 'text'}
 Bonjour,
 
-{$sender_name} nous a demandé de vous créer un compte pour que vous puissiez disposer pleinement de toutes les fonctionnalités liées au groupe {$group}.
+{$sender_name} nous a demandé de vous {if $again}relancer{else}créer un compte{/if} pour que vous puissiez disposer pleinement de toutes les fonctionnalités liées au groupe {$group}.
 
 Après activation, vos paramètres de connexion seront :
 
index 24edb37..acad698 100644 (file)
       <td colspan="2">
         <label>
           <input type="checkbox" name="suggest" />
-          coche cette case si tu souhaites qu'un compte « Extérieur » soit créé
+          coche cette case si tu souhaites qu'un compte «&nbsp;Extérieur&nbsp;» soit créé
           pour cette personne et que nous lui envoyions un email afin qu'il ait
           accès aux nombreuses fonctionnalités de Polytechnique.net (inscription
           aux évènements, télépaiement, modération des listes de diffusion&hellip;)
       </td>
     </tr>
     {/if}
+    {if $user->type eq 'xnet' && $pending_xnet_account}
+    <tr>
+      <td colspan="2">
+        <label>
+          <input type="checkbox" name="again" />
+          Cette personne a un compte «&nbsp;Extérieur&nbsp;» en attente d'activation de sa part. Pour la relancer, il suffit
+          de cocher la case ci-contre.
+        </label>
+      </td>
+    </tr>
+    {/if}
   </table>
 
   <h2>Abonnement aux listes</h2>