Adds iterators on both group admins and members, renames filtering functions.
authorStéphane Jacob <sj@m4x.org>
Tue, 9 Mar 2010 22:19:41 +0000 (23:19 +0100)
committerStéphane Jacob <sj@m4x.org>
Wed, 10 Mar 2010 15:19:47 +0000 (16:19 +0100)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
bin/lists.rpc.py
classes/group.php
modules/xnetgrp.php

index dd959f3..4e47470 100755 (executable)
@@ -385,7 +385,7 @@ def subscribe(userdesc, perms, mlist):
     return result
 
 def unsubscribe(userdesc, perms, mlist):
-    """ Unsubscribe from a list
+    "" Unsubscribe from a list
             @mlist
             @edit
     """
index 25144e6..ce93e92 100644 (file)
@@ -61,16 +61,28 @@ class Group
         return new UserFilter($cond, $sort);
     }
 
-    public function getMembers($extra_cond = null, $sort = null)
+    public function getMembersFilter($extra_cond = null, $sort = null)
     {
         return $this->getUF(false, $extra_cond, $sort);
     }
 
-    public function getAdmins($extra_cond = null, $sort = null)
+    public function getAdminsFilter($extra_cond = null, $sort = null)
     {
         return $this->getUF(true, $extra_cond, $sort);
     }
 
+    public function iterMembers($extra_cond = null, $sort = null, $limit = null)
+    {
+        $uf = getMembersFilter($extra_cond, $sort);
+        return $uf->iterUsers($limit);
+    }
+
+    public function iterAdmins($extra_cond = null, $sort = null, $limit = null)
+    {
+        $uf = getAdminsFilter($extra_cond, $sort);
+        return $uf->iterUsers($limit);
+    }
+
     public function getLogo($fallback = true)
     {
         if (!empty($this->logo)) {
index b3da3d3..570f97b 100644 (file)
@@ -312,9 +312,9 @@ class XnetGrpModule extends PLModule
         }
 
         if (Env::b('admin')) {
-            $uf = $globals->asso()->getAdmins(null, $se);
+            $uf = $globals->asso()->getAdminsFilter(null, $se);
         } else {
-            $uf = $globals->asso()->getMembers(null, $se);
+            $uf = $globals->asso()->getMembersFilter(null, $se);
         }
         $users = $uf->getUsers(new PlLimit(NB_PER_PAGE, $ofs * NB_PER_PAGE));
         $count = $uf->getTotalCount();
@@ -340,7 +340,7 @@ class XnetGrpModule extends PLModule
     {
         global $globals;
         $vcard = new VCard($photos == 'photos', 'Membre du groupe ' . $globals->asso('nom'));
-        $vcard->addProfiles($globals->asso()->getMembers()->getProfiles());
+        $vcard->addProfiles($globals->asso()->getMembersFilter()->getProfiles());
         $vcard->show();
     }
 
@@ -350,7 +350,7 @@ class XnetGrpModule extends PLModule
         if (is_null($filename)) {
             $filename = $globals->asso('diminutif') . '.csv';
         }
-        $users = $globals->asso()->getMembers(null, new UFO_Name('directory_name'))->getUsers();
+        $users = $globals->asso()->getMembersFilter(null, new UFO_Name('directory_name'))->getUsers();
         header('Content-Type: text/x-csv; charset=utf-8;');
         header('Pragma: ');
         header('Cache-Control: ');
@@ -704,7 +704,7 @@ class XnetGrpModule extends PLModule
 
         if ($globals->asso('notif_unsub')) {
             $mailer = new PlMailer('xnetgrp/unsubscription-notif.mail.tpl');
-            foreach ($globals->asso()->getMembers()->getUsers() as $user) {
+            foreach ($globals->asso()->getMembersFilter()->getUsers() as $user) {
                 $mailer->addTo($user);
             }
             $mailer->assign('group', $globals->asso('nom'));