* Fix user view bug.
This commit is contained in:
@@ -387,6 +387,7 @@ class groupModel extends model
|
||||
*/
|
||||
public function updatePgmAdmin($groupID)
|
||||
{
|
||||
$this->loadModel('user');
|
||||
$this->dao->delete()->from(TABLE_USERGROUP)->where('`group`')->eq($groupID)->exec();
|
||||
|
||||
$members = $this->post->members ? $this->post->members : array();
|
||||
@@ -400,6 +401,11 @@ class groupModel extends model
|
||||
$data->program = implode($programs[$account], ',');
|
||||
|
||||
$this->dao->replace(TABLE_USERGROUP)->data($data)->exec();
|
||||
foreach($programs[$account] as $programID)
|
||||
{
|
||||
if(!$programID) continue;
|
||||
$this->user->updateUserView($programID, 'program');
|
||||
}
|
||||
}
|
||||
|
||||
if(!dao::isError()) return true;
|
||||
|
||||
@@ -141,6 +141,7 @@ class program extends control
|
||||
*/
|
||||
public function group($programID = 0)
|
||||
{
|
||||
$this->session->set('program', $programID);
|
||||
$title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->browse;
|
||||
$position[] = $this->lang->group->browse;
|
||||
|
||||
|
||||
+11
-2
@@ -1329,7 +1329,7 @@ class userModel extends model
|
||||
}
|
||||
|
||||
$allProducts = $this->dao->select('id,PO,QD,RD,createdBy,acl,whitelist')->from(TABLE_PRODUCT)->where('program')->in($programs)->fetchAll('id');
|
||||
$allProjects = $this->dao->select('id,PO,PM,QD,RD,acl,whitelist')->from(TABLE_PROJECT)->where('program')->eq($programs)->fetchAll('id');
|
||||
$allProjects = $this->dao->select('id,PO,PM,QD,RD,acl,whitelist')->from(TABLE_PROJECT)->where('program')->in($programs)->fetchAll('id');
|
||||
if($projectProducts === null)
|
||||
{
|
||||
$stmt = $this->dao->select('project,product')->from(TABLE_PROJECTPRODUCT)->query();
|
||||
@@ -1469,7 +1469,8 @@ class userModel extends model
|
||||
$object = $this->dao->select('*')->from($table)->where('id')->eq($objectID)->fetch();
|
||||
if($object->acl == 'open') return true;
|
||||
|
||||
$allGroups = $this->dao->select('account,`group`')->from(TABLE_USERGROUP)->fetchAll();
|
||||
$allGroups = $this->dao->select('account,`group`')->from(TABLE_USERGROUP)->fetchAll();
|
||||
$managePrograms = $this->dao->select('account, program')->from(TABLE_USERGROUP)->where('program')->ne('')->fetchPairs();
|
||||
$userGroups = array();
|
||||
foreach($allGroups as $group)
|
||||
{
|
||||
@@ -1520,9 +1521,17 @@ class userModel extends model
|
||||
}
|
||||
elseif($objectType == 'program')
|
||||
{
|
||||
$manageProgram = zget($managePrograms, $account, '');
|
||||
$hasPriv = $this->checkProjectPriv($object, $account, zget($userGroups, $account, ''), zget($teams, $objectID));
|
||||
if($hasPriv and strpos(",{$userView->programs},", ",{$objectID},") === false) $userView->programs .= ",{$objectID}";
|
||||
if(!$hasPriv and strpos(",{$userView->programs},", ",{$objectID},") !== false) $userView->programs = trim(str_replace(",{$objectID},", ',', ",{$userView->programs},"), ',');
|
||||
if($manageProgram)
|
||||
{
|
||||
foreach(explode(',', $manageProgram) as $program)
|
||||
{
|
||||
if(strpos(",{$userView->programs},", ",{$program},") === false) $userView->programs .= ",{$program}";
|
||||
}
|
||||
}
|
||||
$userObjects[$account]['programs'] = $userView->programs;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user