diff --git a/module/group/control.php b/module/group/control.php index 108a17add5..d100674b40 100644 --- a/module/group/control.php +++ b/module/group/control.php @@ -142,8 +142,8 @@ class group extends control $this->view->position[] = $this->lang->group->manageView; $this->view->group = $group; - $this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->orderBy('order_desc')->fetchPairs('id', 'name'); - $this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->orderBy('order_desc')->fetchPairs('id', 'name'); + $this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq('0')->orderBy('order_desc')->fetchPairs('id', 'name'); + $this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq('0')->orderBy('order_desc')->fetchPairs('id', 'name'); $this->display(); } diff --git a/module/user/model.php b/module/user/model.php index 549b479f5b..08c119a7d8 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -594,9 +594,18 @@ class userModel extends model ->where('t2.account')->eq($account) ->fetchAll(); $acls = array(); + $viewAllow = false; + $productAllow = false; + $projectAllow = false; foreach($groups as $group) { - if(empty($group->acl)) continue; + if(empty($group->acl)) + { + $productAllow = true; + $projectAllow = true; + $viewAllow = true; + break; + } $acl = json_decode($group->acl, true); if(empty($acls)) { @@ -604,11 +613,18 @@ class userModel extends model continue; } + if(empty($acl['products'])) $productAllow = true; + if(empty($acl['projects'])) $projectAllow = true; + $acls['views'] = array_merge($acls['views'], $acl['views']); if(!empty($acl['products'])) $acls['products'] = !empty($acls['products']) ? array_merge($acls['products'], $acl['products']) : $acl['products']; if(!empty($acl['projects'])) $acls['projects'] = !empty($acls['projects']) ? array_merge($acls['projects'], $acl['projects']) : $acl['projects']; } + if($productAllow) $acls['products'] = array(); + if($projectAllow) $acls['projects'] = array(); + if($viewAllow) $acls = array(); + $sql = $this->dao->select('module, method')->from(TABLE_USERGROUP)->alias('t1')->leftJoin(TABLE_GROUPPRIV)->alias('t2') ->on('t1.group = t2.group') ->where('t1.account')->eq($account);