From 04824e964b59ec287c29e46fbd583711cd060e0f Mon Sep 17 00:00:00 2001 From: liuruogu Date: Thu, 15 Sep 2022 05:12:30 +0000 Subject: [PATCH] * Finish task #69016. --- module/common/lang/menu.php | 6 ++++-- module/project/control.php | 9 +-------- module/project/lang/de.php | 2 -- module/project/lang/en.php | 2 -- module/project/lang/fr.php | 2 -- module/project/lang/vi.php | 2 -- module/project/lang/zh-cn.php | 2 -- module/project/model.php | 12 ++++++++++++ 8 files changed, 17 insertions(+), 20 deletions(-) diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index 856fe405a8..c6f2c848eb 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -209,7 +209,7 @@ $lang->scrum->menu->devops = array('link' => "{$lang->repo->common}|repo|brow $lang->scrum->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s"); $lang->scrum->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease'); $lang->scrum->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s"); -$lang->scrum->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team'); +$lang->scrum->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'tree,stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team'); $lang->scrum->dividerMenu = ',execution,programplan,doc,settings,'; @@ -241,6 +241,7 @@ $lang->scrum->menu->settings['subMenu']->members = array('link' => "{$lang-> $lang->scrum->menu->settings['subMenu']->whitelist = array('link' => "{$lang->whitelist}|project|whitelist|project=%s", 'subModule' => 'personnel'); $lang->scrum->menu->settings['subMenu']->stakeholder = array('link' => "{$lang->stakeholder->common}|stakeholder|browse|project=%s", 'subModule' => 'stakeholder'); $lang->scrum->menu->settings['subMenu']->group = array('link' => "{$lang->priv}|project|group|project=%s", 'alias' => 'group,manageview,managepriv'); +$lang->scrum->menu->settings['subMenu']->module = array('link' => "{$lang->module}|tree|browse|product=%s&view=story"); /* Waterfall menu. */ $lang->waterfall->menu = new stdclass(); @@ -295,7 +296,7 @@ $lang->kanbanProject = new stdclass(); $lang->kanbanProject->menu = new stdclass(); $lang->kanbanProject->menu->index = array('link' => "{$lang->kanban->common}|project|index|project=%s"); $lang->kanbanProject->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s"); -$lang->kanbanProject->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team'); +$lang->kanbanProject->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'tree,stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team'); $lang->kanbanProject->dividerMenu = ''; @@ -309,6 +310,7 @@ $lang->kanbanProject->menu->settings['subMenu']->view = array('link' => " $lang->kanbanProject->menu->settings['subMenu']->products = array('link' => "{$lang->product->common}|project|manageProducts|project=%s", 'alias' => 'manageproducts'); $lang->kanbanProject->menu->settings['subMenu']->members = array('link' => "{$lang->team->common}|project|team|project=%s", 'alias' => 'managemembers,team'); $lang->kanbanProject->menu->settings['subMenu']->whitelist = array('link' => "{$lang->whitelist}|project|whitelist|project=%s", 'subModule' => 'personnel'); +$lang->kanbanProject->menu->settings['subMenu']->module = array('link' => "{$lang->module}|tree|browse|product=%s&view=story"); /* Execution menu. */ $lang->execution->homeMenu = new stdclass(); diff --git a/module/project/control.php b/module/project/control.php index f9600dee6d..0b0159be81 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -851,14 +851,6 @@ class project extends control $this->executeHooks($projectID); - if(empty($project->hasProduct)) - { - $projectProduct = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetch()->product; - $this->lang->project->moduleMenu['link'] = sprintf($this->lang->project->moduleMenu['link'], $projectProduct); - $this->lang->project->menu->settings['subMenu']->tree = $this->lang->project->moduleMenu; - unset($this->lang->project->menu->settings['subMenu']->products); - } - $this->view->title = $this->lang->project->view; $this->view->position = $this->lang->project->view; $this->view->projectID = $projectID; @@ -1992,6 +1984,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', '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"); diff --git a/module/project/lang/de.php b/module/project/lang/de.php index 011cacffef..2b4f15db07 100644 --- a/module/project/lang/de.php +++ b/module/project/lang/de.php @@ -341,5 +341,3 @@ $lang->project->confirmUnlinkMember = "Do you want to remove this user from pro $lang->project->action = new stdclass(); $lang->project->action->managed = '$date, managed by $actor. $extra' . "\n"; - -$lang->project->moduleMenu = array('link' => 'Module|tree|browse|product=%s&view=story'); diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 1532a58fb9..45db2db3bd 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -341,5 +341,3 @@ $lang->project->confirmUnlinkMember = "Do you want to remove this user from proj $lang->project->action = new stdclass(); $lang->project->action->managed = '$date, managed by $actor. $extra' . "\n"; - -$lang->project->moduleMenu = array('link' => 'Module|tree|browse|product=%s&view=story'); diff --git a/module/project/lang/fr.php b/module/project/lang/fr.php index 6ae69a832f..96d872c13d 100644 --- a/module/project/lang/fr.php +++ b/module/project/lang/fr.php @@ -341,5 +341,3 @@ $lang->project->confirmUnlinkMember = "Do you want to remove this user from pro $lang->project->action = new stdclass(); $lang->project->action->managed = '$date, managed by $actor. $extra' . "\n"; - -$lang->project->moduleMenu = array('link' => 'Module|tree|browse|product=%s&view=story'); diff --git a/module/project/lang/vi.php b/module/project/lang/vi.php index 968c5d2417..162e4ca1fe 100644 --- a/module/project/lang/vi.php +++ b/module/project/lang/vi.php @@ -241,5 +241,3 @@ $lang->project->childLongTime = "There are long-term projects in the child p $lang->project->action = new stdclass(); $lang->project->action->managed = '$date, managed by $actor. $extra' . "\n"; - -$lang->project->moduleMenu = array('link' => 'Module|tree|browse|product=%s&view=story'); diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 1d776a176c..3dc85712a6 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -341,5 +341,3 @@ $lang->project->confirmUnlinkMember = "您确定从该项目中移除该用户 $lang->project->action = new stdclass(); $lang->project->action->managed = '$date, 由 $actor 维护。$extra' . "\n"; - -$lang->project->moduleMenu = array('link' => '模块|tree|browse|product=%s&view=story'); diff --git a/module/project/model.php b/module/project/model.php index 8aaa6a4bf7..683afe62ca 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -2436,6 +2436,7 @@ class projectModel extends model $model = 'scrum'; $objectID = (empty($objectID) and $this->session->project) ? $this->session->project : $objectID; $project = $this->getByID($objectID); + if($project and $project->model == 'waterfall') $model = $project->model; if($project and $project->model == 'kanban') { @@ -2451,6 +2452,17 @@ class projectModel extends model $lang->project->dividerMenu = $lang->{$model}->dividerMenu; } + if(empty($project->hasProduct)) + { + unset($this->lang->project->menu->settings['subMenu']->products); + $projectProduct = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($objectID)->fetch()->product; + $this->lang->project->menu->settings['subMenu']->module['link'] = sprintf($this->lang->project->menu->settings['subMenu']->module['link'], $projectProduct); + } + else + { + unset($this->lang->project->menu->settings['subMenu']->module); + } + /* Reset project priv. */ $moduleName = $this->app->rawModule; $methodName = $this->app->rawMethod;