DataObjects/Core_company.php
[Pman.Core] / DataObjects / Core_group.php
index eebab2c..16d12c0 100644 (file)
@@ -12,7 +12,7 @@
  *  NOTE - used to be called Groups ....
  * 
  */
-require_once 'DB/DataObject.php';
+class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
 
 class Pman_Core_DataObjects_Core_group extends DB_DataObject 
 {
@@ -59,14 +59,13 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
                 $roo->jerr("missing group id");
 
             }
-            DB_DataObejct::debuglEvel(1);
-            foreach(explode(',', $q['user_ids']) as $uid) {
+             foreach(explode(',', $q['user_ids']) as $uid) {
                 switch($q['_action']) {
                     case 'add':
-                        $this->addMember($uid);
+                        $g->addMember($uid);
                         break;
                     case 'sub':
-                        $this->removeMember($uid);
+                        $g->removeMember($uid);
                         break;
                     default:
                         $roo->jerr('invalid action');
@@ -144,11 +143,11 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
         return $gm->fetchAll('user_id');
         
     }
-    function isMember($uid)
+    function isMember($person)
     {
         $gm = DB_Dataobject::factory('core_group_member');
         $gm->group_id = $this->id;
-        $gm->user_id = $uid;
+        $gm->user_id = is_object($person) ? $person->id : $person;
         return $gm->count();
     }
     
@@ -230,7 +229,7 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
     
     function postListFilter($ar, $au, $req)
     {      
-        if(!empty($req['_direct_return'])){
+        if(empty($req['_add_everyone'])){
             return $ar;
         }
         
@@ -247,11 +246,23 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
         $g->type = 0;
         $g->name = 'Administrators';
         if ($g->count()) {
-            return;
+            $g->find(true);;
+        } else {
+            $g->insert();
+            $gr = DB_DataObject::factory('core_group_right');
+            $gr->genDefault();
+        }
+        $m = $g->members();
+        if (empty($m)) {
+            $p = DB_DAtaObject::factory('core_person');
+            $p->orderBy('id ASC');
+            $p->limit(1);
+            if ($p->find(true)) {
+                $g->addMember($p);
+            }
+            
+            
         }
-        $g->insert();
-        $gr = DB_DataObject::factory('core_group_right');
-        $gr->genDefault();
     }
     
     function initDatabase($roo, $data)