DataObjects/Core_person.php
[Pman.Core] / DataObjects / Core_person.php
index 989c502..a8505fe 100644 (file)
@@ -1043,6 +1043,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             ");
         }
         
+        
     }
     
     function setFromRoo($ar, $roo)
@@ -1093,10 +1094,38 @@ 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;
         
         $e = DB_DataObject::Factory('Events');
         $e->whereAdd('person_id = ' . $this->id);
-        $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();
+        }  
+        
+        
         
         // anything else?  
         
@@ -1346,7 +1375,15 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             if(empty($qrcode)){
                 $roo->jerr('Fail to generate QR Code');
             }
-            $roo->jdata($qrcode);
+            
+            $roo->jok($qrcode);
+        }
+        // handle group_id here..
+        if(!empty($q['group_id'])){
+            
+            // insert data into core_person_member...
+            
+            
         }
     }