DataObjects/Core_person.php
[Pman.Core] / DataObjects / Core_person.php
index 016b8e9..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,20 +1101,29 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $e = DB_DataObject::Factory('Events');
         $e->whereAdd('person_id = ' . $this->id);
         
-        $g = DB_DataObject::Factory('core_group_member');
-        $g->whereAdd('group_id is NOT NULL AND user_id IS NOT NULL');
-  
-        if ($g->count()) {
-            // add the current user to the admin group..
-            $g = DB_DataObject::Factory('core_group');
-            if ($g->get('name', 'Administrators')) {
-                $roo->jerr("can not delete admin user");
-            }
-            else{
-                $e->delete(true);
-            }
-            
+        $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
+        ));
+
+        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();
+        }  
         
         
         
@@ -1369,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()