DataObjects/Core_person.php
[Pman.Core] / DataObjects / Core_person.php
index 8160a72..a8505fe 100644 (file)
@@ -1043,6 +1043,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             ");
         }
         
+        
     }
     
     function setFromRoo($ar, $roo)
@@ -1093,7 +1094,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function beforeDelete($dependants_array, $roo)
     {
-        
         //delete group membership except for admin group..
         // if they are a member of admin group do not delete anything.
         $default_admin = false;
@@ -1101,29 +1101,29 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $e = DB_DataObject::Factory('Events');
         $e->whereAdd('person_id = ' . $this->id);
         
-        $group = DB_DataObject::factory('core_group');
-        $group->get('name', 'Administrators');
+        $g = DB_DataObject::Factory('core_group');
+        $g->get('name', 'Administrators');  // select * from core_group where name = 'Administrators'
+        
+        $p = DB_DataObject::Factory('core_group_member');
+        $p->setFrom(array(
+            'user_id' => $this->id,
+            'group_id' => $g->id
+        ));
 
-        $member = DB_DataObject::factory('core_group_member');
-        $member->autoJoin();
-        $member->group_id = $group->id;
-        $member->whereAdd("
-            join_user_id_id.id IS NOT NULL
-        ");
-       
-        if($member->find(true)){
-            $default_admin = DB_DataObject::factory($this->tableName());
-            if(!$default_admin->get($member->user_id)){
-                $e->delete(true);
-                
-            }
-            else{
-                $roo->jerr("can not delete administrator");
-            }
+        if ($p->count()) {
+           $roo->jerr();
         }
+         
+        $p = DB_DataObject::Factory('core_group_member');
+        $p->user_id = $this->id;
+        $mem = $p->fetchAll();  // fetch all the rows and set the $mem variable to the rows data, just like mysqli_fetch_assoc
+   
+        $e->logDeletedRecord($p);
         
-        
-        
+        foreach($mem as $p) { 
+            $p->delete();
+        }  
         
         
         
@@ -1378,6 +1378,13 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             
             $roo->jok($qrcode);
         }
+        // handle group_id here..
+        if(!empty($q['group_id'])){
+            
+            // insert data into core_person_member...
+            
+            
+        }
     }
     
     function generateOathKey()