From fb422cab62b9dd57b5c29f6ab3f1cb330fcc1aa4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Sun, 20 Mar 2011 19:03:58 +0100 Subject: [PATCH] Proposes xnet activation from member edition. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- modules/xnetgrp.php | 41 +++++++++++++++++++++++++------------- templates/xnetgrp/membres-edit.tpl | 13 ++++++++++++ 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 3b9e3a1..b004fde 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -729,20 +729,7 @@ class XnetGrpModule extends PLModule $user = User::get($hruid); } - // Check if the user is has a pending or active account. - $active = XDB::fetchOneCell('SELECT state = \'active\' - FROM accounts - WHERE uid = {?}', - $user->id()); - $pending = XDB::fetchOneCell('SELECT uid - FROM register_pending_xnet - WHERE uid = {?}', - $user->id()); - $requested = AccountReq::isPending($user->id()); - - if (!($active || $pending || $requested)) { - $suggest_account_activation = true; - } + $suggest_account_activation = $this->suggest($user); } if ($user) { @@ -758,6 +745,25 @@ class XnetGrpModule extends PLModule } } + // Check if the user has a pending or active account, and thus if we should her account's activation. + private function suggest(PlUser $user) + { + $active = XDB::fetchOneCell('SELECT state = \'active\' + FROM accounts + WHERE uid = {?}', + $user->id()); + $pending = XDB::fetchOneCell('SELECT uid + FROM register_pending_xnet + WHERE uid = {?}', + $user->id()); + $requested = AccountReq::isPending($user->id()); + + if ($active || $pending || $requested) { + return false; + } + return true; + } + function handler_admin_member_suggest($page, $hruid, $email) { $page->changeTpl('xnetgrp/membres-suggest.tpl'); @@ -1008,6 +1014,12 @@ 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é.'); + } + // Update group params for user $perms = Post::v('group_perms'); $comm = Post::t('comm'); @@ -1084,6 +1096,7 @@ class XnetGrpModule extends PLModule $positions = str_replace(array('enum(', ')', '\''), '', $res[0]['Type']); $page->assign('user', $user); + $page->assign('suggest', $this->suggest($user)); $page->assign('listes', $mmlist->get_lists($user->forlifeEmail())); $page->assign('alias', $user->emailGroupAliases($globals->asso('mail_domain'))); $page->assign('positions', explode(',', $positions)); diff --git a/templates/xnetgrp/membres-edit.tpl b/templates/xnetgrp/membres-edit.tpl index 2be988b..a3347d2 100644 --- a/templates/xnetgrp/membres-edit.tpl +++ b/templates/xnetgrp/membres-edit.tpl @@ -171,6 +171,19 @@ {/if} + {if $user->type eq 'xnet' && $suggest} + + + + + + {/if}

Abonnement aux listes

-- 2.1.4