* Finish task #61967.

This commit is contained in:
tianshujie
2022-07-25 15:35:47 +08:00
parent 96c71eb326
commit 21f33a3ee9
6 changed files with 25 additions and 14 deletions
+1 -8
View File
@@ -148,14 +148,7 @@ class personnel extends control
*/
public function addWhitelist($objectID = 0, $deptID = 0, $copyID = 0, $objectType = 'program', $module = 'personnel', $programID = 0, $from = '')
{
if($this->app->tab == 'program')
{
$this->loadModel('program')->setMenu($objectID);
}
else if($this->app->tab == 'project')
{
$this->loadModel('project')->setMenu($objectID);
}
if($this->app->tab == 'program') $this->loadModel('program')->setMenu($objectID);
$this->app->loadLang('execution');
+6 -2
View File
@@ -1608,14 +1608,18 @@ class programModel extends model
$menu .= $this->buildMenu('project', 'edit', $params, $program, $type, 'edit', '', 'iframe', true);
$menu .= $this->buildMenu('project', 'team', $params, $program, $type, 'group', '', '', '', 'data-app="project"');
$menu .= $this->buildMenu('project', 'group', $params, $program, $type, 'lock', '', '', '', 'data-app="project"');
$disabledGroup = $program->model == 'kanban' ? " disabled='disabled' style='pointer-events: none;'" : '';
$menu .= $this->buildMenu('project', 'group', $params, $program, $type, 'lock', '', '', '', 'data-app="project"' . $disabledGroup);
if(common::hasPriv('project', 'manageProducts') || common::hasPriv('project', 'whitelist') || common::hasPriv('project', 'delete'))
{
$menu .= "<div class='btn-group'>";
$menu .= "<button type='button' class='btn dropdown-toggle' data-toggle='dropdown' title='{$this->lang->more}'><i class='icon-more-alt'></i></button>";
$menu .= "<ul class='dropdown-menu pull-right text-center' role='menu'>";
$menu .= $this->buildMenu('project', 'manageProducts', "$params&from=program", $program, $type, 'link', '', '', '', "data-app={$this->app->tab}");
$menu .= $this->buildMenu('project', 'whitelist', "$params&module=project&from=browse", $program, $type, 'shield-check', '', '', '', "data-app='project'");
$disabledWhitelist = $program->acl == 'open' ? " disabled='disabled' style='pointer-events: none;'" : '';
$menu .= $this->buildMenu('project', 'whitelist', "$params&module=project&from=browse", $program, $type, 'shield-check', '', '', '', "data-app='project'" . $disabledWhitelist);
if(common::hasPriv('project','delete'))
{
$menu .= $this->buildMenu("project", "delete", $params, $program, $type, 'trash', 'hiddenwin', '', '', "data-group='program'", $this->lang->delete);
+5 -1
View File
@@ -1924,7 +1924,7 @@ class project extends control
{
$projectID = $this->project->setMenu($projectID);
$project = $this->project->getById($projectID);
if(isset($project->acl) and $project->acl == 'open') $this->locate($this->createLink('project', 'view', "projectID=$projectID"));
if(isset($project->acl) and $project->acl == 'open') $this->locate($this->createLink('project', 'index', "projectID=$projectID"));
echo $this->fetch('personnel', 'whitelist', "objectID=$projectID&module=$module&browseType=$objectType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID&projectID=$projectID&from=$from");
}
@@ -1942,6 +1942,10 @@ class project extends control
*/
public function addWhitelist($projectID = 0, $deptID = 0, $copyID = 0, $programID = 0, $from = 'project')
{
$projectID = $this->project->setMenu($projectID);
$project = $this->project->getById($projectID);
if(isset($project->acl) and $project->acl == 'open') $this->locate($this->createLink('project', 'index', "projectID=$projectID"));
echo $this->fetch('personnel', 'addWhitelist', "objectID=$projectID&dept=$deptID&copyID=$copyID&objectType=project&module=project&programID=$programID&from=$from");
}
+8
View File
@@ -60,6 +60,8 @@ class projectModel extends model
if($action == 'close') return $project->status != 'closed';
if($action == 'suspend') return $project->status == 'wait' or $project->status == 'doing';
if($action == 'activate') return $project->status == 'done' or $project->status == 'closed';
if($action == 'whitelist') return $project->acl != 'open';
if($action == 'group') return $project->model != 'kanban';
return true;
}
@@ -2634,6 +2636,12 @@ class projectModel extends model
unset($this->lang->project->menu->settings['subMenu']->whitelist);
}
if($project->model == 'kanban')
{
unset($this->lang->project->menu->settings['subMenu']->stakeholder);
unset($this->lang->project->menu->settings['subMenu']->group);
}
common::setMenuVars('project', $objectID);
return $objectID;
}
+1 -1
View File
@@ -77,7 +77,7 @@ foreach($projects as $programID => $programProjects)
{
$link = helper::createLink('project', 'index', "projectID=%s");
}
elseif($project->model == 'kanban' and (($module == 'stakeholder' and $method != 'browse') or ($module == 'project' and !in_array($method, array('build', 'view', 'manageproducts', 'team', 'whitlist', 'group')))))
elseif($project->model == 'kanban' and ($module == 'project' and !in_array($method, array('build', 'view', 'manageproducts', 'team', 'whitlist', 'managemembers'))))
{
$link = helper::createLink('project', 'index', "projectID=%s");
}
+4 -2
View File
@@ -19,7 +19,7 @@
<div class="panel block-dynamic" style="height: 280px">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->execution->latestDynamic;?></div>
<?php if($project->model != 'kanban'):?>
<?php if($project->model != 'kanban' and common::hasPriv('project', 'dynamic')):?>
<nav class="panel-actions nav nav-default">
<li><?php common::printLink('project', 'dynamic', "projectID=$project->id&type=all", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
</nav>
@@ -43,9 +43,11 @@
<div class="panel block-team" style="height: 280px">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->execution->relatedMember;?></div>
<?php if(common::hasPriv('project', 'team')):?>
<nav class="panel-actions nav nav-default">
<li><?php common::printLink('project', 'manageMembers', "projectID=$project->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
<li><?php common::printLink('project', 'team', "projectID=$project->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
</nav>
<?php endif;?>
</div>
<div class="panel-body">
<div class="row row-grid">