DataObjects/Images.php
[Pman.Core] / DataObjects / Core_person.php
index 067b2fd..13b93c4 100644 (file)
@@ -50,7 +50,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
-    
     function owner()
     {
         $p = DB_DataObject::Factory($this->tableName());
@@ -438,7 +438,10 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         }
                 
              
-        if (isset(   $_SESSION[get_class($this)][$sesPrefix .'-empty'] ) && $_SESSION[get_class($this)][$sesPrefix .'-empty']  < 1) {
+        if (
+            isset(   $_SESSION[get_class($this)][$sesPrefix .'-empty'] ) && 
+            $_SESSION[get_class($this)][$sesPrefix .'-empty']  < 1
+        ) {
             
             // fake person - open system..
             //$ce = DB_DataObject::factory('core_enum');
@@ -759,11 +762,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     {
         //DB_DataObject::DebugLevel(1);
         
-        $core_group_member = DB_DataObject::factory('core_group_member');
-        $core_group_member->get(1);
-        
-        print_R($core_group_member);exit;
-        
         if (!empty($q['query']['is_owner'])) {
             $this->whereAdd(" join_company_id_id.comptype = 'OWNER'");
         }
@@ -828,10 +826,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
                 // list all staff who are not in a group.
                 $this->whereAdd("{$this->tableName()}.id NOT IN (
                     SELECT distinct(user_id) FROM $tn_gm LEFT JOIN
-                        $tn_g ON $tn_g.id = $tn_gm.group_id
-                        WHERE $tn_g.type = ".$q['query']['type']."
-                    )");
-                
+                        $tn_g ON $tn_g.id = $tn_gm.group_id)");
                 
             } else {
                 
@@ -1048,6 +1043,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             ");
         }
         
+        
     }
     
     function setFromRoo($ar, $roo)
@@ -1106,19 +1102,36 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $e->whereAdd('person_id = ' . $this->id);
         
         $g = DB_DataObject::Factory('core_group');
-        $g->get('name', 'Administrators');
+        $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
+        ));
 
-        $p->get('user_id', $this->id); 
+        if ($p->count()) {
+           $roo->jerr("Please remove this user from the Administrator group before deleting");
+        }
  
          
-        if ($p->group_id != $g->id) {
-            $e->delete(true);
-        }
-        else{
-            $roo->jerr("Can not delete admin user");
-        }
+        $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($mem);
+                
+        foreach($mem as $p) { 
+            $p->delete();
+        }  
         
+        $e = DB_DataObject::Factory('Events');        
+        $e->person_id = $this->id;
+        $eve = $e->fetchAll();  // fetch all the rows and set the $mem variable to the rows data, just like mysqli_fetch_assoc
+
+        $e->logDeletedRecord($eve);
+        foreach($eve as $e) { 
+            $e->delete();
+        }  
         
         
         // anything else?  
@@ -1211,6 +1224,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         }
         $c->find(true);
         $this->company_id = $c->id;
+        $this->email = trim($this->email);
         
     }
     
@@ -1356,7 +1370,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function beforeUpdate($old, $q, $roo)
     {
-        print_r($q);exit;
         if(!empty($q['_generate_oath_key'])){
             $o = clone($this);
             $this->generateOathKey();
@@ -1373,6 +1386,8 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             
             $roo->jok($qrcode);
         }
+        
+        $this->email = trim($this->email);
     }
     
     function generateOathKey()