DataObjects/Core_group.php
[Pman.Core] / DataObjects / Core_group.php
index 90a75e2..5db1a5b 100644 (file)
@@ -53,7 +53,19 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
                 $roo->jdata($core_group->memberCount());
             }
         }
+        $cgm = DB_DataObject::Factory('core_group_member')->tableName();;
         
+         $this->selectAdd("
+           (
+            SELECT 
+                count(user_id) 
+            FROM 
+                {$cgm}
+            WHERE 
+                {$this->tableName()}.id = {$cgm}.group_id
+            ) 
+            AS group_member_count            
+        ");
     }
 
     function toEventString() {
@@ -72,7 +84,7 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
              foreach(explode(',', $q['user_ids']) as $uid) {
                 switch($q['_action']) {
                     case 'add':
-                        $g->addMember($uid);
+                        $g->addMember($uid,$roo);
                         break;
                     case 'sub':
                         $g->removeMember($uid);
@@ -157,8 +169,11 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
         return $gm->count();
     }
 
-    function addMember($person)
+    function addMember($person,$roo = false)
     {
+        if ($this->name == "Empty Group") {
+            $roo->jerr('Cannot add the person into Empty Group');
+        }
         $gm = DB_Dataobject::factory('core_group_member');
         $gm->group_id = $this->id;
         $gm->user_id = is_object($person) ? $person->id : $person;
@@ -196,8 +211,6 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
         // groups databse is hard coded to person.. so this should not be used for other tables.????
         $p = DB_Dataobject::factory( 'core_person' );
 
-
-
         $p->whereAdd('id IN ('. implode(',', $ids) .')');
         $p->active = 1;
 
@@ -250,7 +263,8 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
 
     function initGroups()
     {
-
+        print_r($this);
+        var_dump($this->tableName()));
         $g = DB_DataObject::factory($this->tableName());
         $g->type = 0;
         $g->name = 'Administrators';