This commit is contained in:
Yagami
2020-10-15 09:07:32 +08:00
parent ff7e706d4d
commit 7d7305bab8
4 changed files with 50 additions and 6 deletions
+2 -2
View File
@@ -130,8 +130,8 @@ $lang->product->statusList[''] = '';
$lang->product->statusList['normal'] = '正常';
$lang->product->statusList['closed'] = '结束';
$lang->product->aclList['open'] = "默认设置(有{$lang->productCommon}视图权限,即可访问)";
$lang->product->aclList['private'] = "私有{$lang->productCommon}(只有{$lang->productCommon}相关负责人和{$lang->projectCommon}团队成员才能访问)";
$lang->product->aclList['open'] = "公开(有{$lang->productCommon}视图权限,即可访问)";
$lang->product->aclList['private'] = "私有({$lang->productCommon}相关负责人、所属项目集的干系人、相关联项目的团队成员和干系人可访问)";
$lang->product->aclList['custom'] = '自定义白名单(团队成员和白名单的成员可以访问)';
$lang->product->storySummary = "本页共 <strong>%s</strong> 个%s,预计 <strong>%s</strong> 个{$lang->hourCommon},用例覆盖率 <strong>%s</strong>。";
+1 -1
View File
@@ -183,7 +183,7 @@ $lang->program->PGMExport = '导出';
$lang->program->PGMManageGroupMember = '维护分组用户';
$lang->program->PGMStakeholder = '干系人列表';
$lang->program->createStakeholder = '添加干系人';
$lang->program->importStakeholder = '从父项目导入';
$lang->program->importStakeholder = '从父项目集导入';
/* Fields. */
$lang->program->PGMName = '项目集名称';
+1 -1
View File
@@ -283,7 +283,7 @@ class programModel extends model
{
$programID = $this->dao->lastInsertId();
$today = helper::today();
//if($project->acl != 'open') $this->loadModel('user')->updateUserView($programID, 'program');
if($program->acl != 'open') $this->loadModel('user')->updateUserView($programID, 'program');
$this->dao->update(TABLE_PROGRAM)->set('`order`')->eq($programID * 5)->where('id')->eq($programID)->exec(); // Save order.
$this->file->updateObjectID($this->post->uid, $programID, 'project');
+46 -2
View File
@@ -1533,7 +1533,7 @@ class userModel extends model
if(is_numeric($objectIdList)) $objectIdList = array($objectIdList);
if(!is_array($objectIdList)) return false;
$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, PRJ')->from(TABLE_USERGROUP)->where('PRJ')->ne('')->fetchPairs();
$userGroups = array();
$groupUsers = array();
@@ -1590,7 +1590,6 @@ class userModel extends model
if(strpos(",{$userView->programs},", ",{$program},") === false) $userView->programs .= ",{$program}";
}
}
$userObjects[$account]['programs'] = $userView->programs;
}
}
@@ -1678,6 +1677,26 @@ class userModel extends model
}
}
/* Get linked projects stakeholders.*/
$projectStakeholders = $this->dao->select('user')->from(TABLE_STAKEHOLDER)
->where('objectType')->eq('project')
->andWhere('objectID')->in($linkedProjects)
->fetchPairs();
if(isset($projectStakeholders[$account])) return true;
/* Get linked program stakeholders.*/
if($product->program)
{
$program = $this->loadModel('program')->getPGMByID($product->program);
$programStakeholders = $this->dao->select('user')->from(TABLE_STAKEHOLDER)
->where('objectType')->eq('program')
->andWhere('objectID')->eq($program->id)
->fetchPairs();
if(isset($programStakeholders[$account])) return true;
}
return false;
}
@@ -1717,6 +1736,31 @@ class userModel extends model
foreach($linkedProjects as $projectID) $users += zget($teams, $projectID, array());
}
/* Get linked projects stakeholders.*/
$projectStakeholders = $this->dao->select('objectID,user')->from(TABLE_STAKEHOLDER)
->where('objectType')->eq('project')
->andWhere('objectID')->in($linkedProjects)
->fetchPairs();
if(!empty($projectStakeholders))
{
foreach($projectStakeholders as $account) $users[$account] = $account;
}
/* Get linked program stakeholders.*/
if($product->program)
{
$program = $this->loadModel('program')->getPGMByID($product->program);
$programStakeholders = $this->dao->select('objectID,user')->from(TABLE_STAKEHOLDER)
->where('objectType')->eq('program')
->andWhere('objectID')->eq($program->id)
->fetchPairs();
if(!empty($programStakeholders))
{
foreach($programStakeholders as $account) $users[$account] = $account;
}
}
return $users;
}