Merge branch 'master' of http://git.roojs.com/Pman.Core
authorbenny <benny@roojs.com>
Tue, 18 Sep 2018 06:28:39 +0000 (14:28 +0800)
committerbenny <benny@roojs.com>
Tue, 18 Sep 2018 06:28:39 +0000 (14:28 +0800)
Core.perms.json
DataObjects/Core_group.php
DataObjects/Core_person.php

index a1ddc3f..8e06806 100644 (file)
         
        "Person"                    : [ "ADEPS", "S" , "Contacts"] ,
        "Offices"                   : [ "ADEPS", "S" , "Contact Offices"] ,
-       "Companies"                 : [ "ADEPS", "S" , "Contact Companies"] ,
+       "Companies"                 : [ "ADEPS", "S" , "Company Management"] ,
         
        "Staff"                     : [ "ADEPS", "S" , "Staff"] ,
        "Groups"                    : [ "ADEPS", "" , "Group Management"] ,
         
        "Events"                    : [ "PS",     "", "Event Log"] ,
-    "ChangePassword"                    : [ "S",     "S", "User Can Change Password"] 
+       "ChangePassword"                    : [ "S",     "S", "User Can Change Password"] 
 }
             
             
index 7e76b1e..51d218e 100644 (file)
@@ -55,18 +55,19 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
             }
         }
         
-        if(!empty($q['_with_membership_user'])){
-            $q['_with_membership_user'] = 1*$q['_with_membership_user'];
+        if(!empty($q['_is_in_group'])){
             $this->selectAdd("
-                COALESCE(
-                    (SELECT id from core_group_member
+                COALESCE((
+                    SELECT 
+                            COUNT(id) 
+                    FROM 
+                            core_group_member
                         WHERE 
-                            user_id = {$q['_with_membership_user']}
+                            user_id = {$q['_is_in_group']}
                         AND
                             group_id = {$this->tableName()}.id
-                        LIMIT 1
-                    ),0) as group_membership_user_id
-                    ");
+                    ), 0) AS is_in_group
+            ");
         }
         
         
@@ -89,22 +90,6 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
                 ) AS group_member_count            
         ");
         
-        /*WHERE 
-            {$this->tableName()}.id = core_group_member.group_id
-            AND
-                core_group_member.user_id = core_person.id
-            AND
-                core_person.active = 1    
-        )*/ 
-        
-//        $this->whereAdd("{$this->tableName()}.id = core_group_member.group_id");
-//        $this->whereAdd("core_group_member.user_id = core_person.id");
-//        $this->whereAdd("core_person.active = 1");
-     
-    
-        /*$cgmDBObj->joinAdd($cpObj);
-        $this->joinAdd($cgmDBObj);
-        DB_DataObject::debugLevel();*/
     }
 
     function toEventString() {
@@ -120,7 +105,11 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject
                 $roo->jerr("missing group id");
 
             }
-             foreach(explode(',', $q['user_ids']) as $uid) {
+            
+            $user_ids = explode(',', $q['user_ids']);
+            
+            foreach($user_ids as $uid) {
+                
                 switch($q['_action']) {
                     case 'add':
                         $g->addMember($uid,$roo);
index dee8f05..13b93c4 100644 (file)
@@ -1043,19 +1043,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             ");
         }
         
-        $cgm = DB_DataObject::Factory('core_group_member')->tableName();
-        
-        $this->selectAdd("
-           (
-            SELECT GROUP_CONCAT({$cgm}.group_id) 
-                FROM 
-                    {$cgm}
-                WHERE 
-                    {$cgm}.user_id = {$this->tableName()}.id
-                ) AS membership_list    
-            
-        ");    
-        
         
     }
     
@@ -1383,8 +1370,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function beforeUpdate($old, $q, $roo)
     {
-       
-        
         if(!empty($q['_generate_oath_key'])){
             $o = clone($this);
             $this->generateOathKey();
@@ -1402,68 +1387,6 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             $roo->jok($qrcode);
         }
         
-        if(!empty($q['membership_list'])){
-            
-             
-            if ($roo->authUser->id == $old->id) {
-                // you are editing yourself...
-                
-                // if was admin before....
-                   // -if new membership does not icnlude  admin id
-                      // -- then show error
-                
-                
-            }
-            
-            
-            
-            
-         
-            $x = PDO_DataObject::factory('core_group_member');
-            $x->select('group_id');
-            $x->user_id = $q['id'];
-            
-            $ar = $x->fetchAll('group_id');
-            
-            $group_id_arr = explode(",", $q['membership_list']);
-            
-            $result_del = array_diff($ar, $group_id_arr);
-            
-            // check if id needs to be deleted
-            if(!empty($result_del)){
-                /*
-                $x = PDO_DataObject::factory('core_group_member');
-                $x->user_id = $q['id'];
-                $x->whereAddIn('group_id', $result_del, 'int');
-                foreach($x->fetchAll() as $cgm) {
-                    $cgm->delete();
-                }
-                
-                
-                */
-                foreach($result_del as $group_id){
-                    $x = PDO_DataObject::factory('core_group_member');
-                    $x->user_id = $q['id'];
-                    $x->group_id = $group_id;
-                    $x->find(true);
-                    $x->delete();
-                }
-            }
-            
-            $result_add = array_diff($group_id_arr, $ar);
-            
-            
-            // insert data into core_person_member...
-            //PDO_DataObject::Factory('coremytable_group_member')->set([ 'group_id' => 'test', 'user_id' => "{$this->tableName()}.id"])->insert();
-            if(!empty($result_add)){
-                foreach($result_add as $gid){
-                    PDO_DataObject::Factory('core_group_member')->set(array(
-                        'group_id'=> $gid,
-                        'user_id' => $q['id']
-                    ))->insert();
-                }
-            }
-        }
         $this->email = trim($this->email);
     }