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;