diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index c32e703516..0a3c53b48e 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -153,7 +153,7 @@ $lang->program->menu->browse = array('link' => '项目集|program|pgmbrowse|', $lang->PRJ = new stdclass(); $lang->PRJ->menu = new stdclass(); -$lang->PRJ->menu->browse = array('link' => '项目|program|prjbrowse|', 'alias' => 'prjcreate,prjedit,prjgroup,prjmanagepriv,prjmanageview,prjmanagemembers'); +$lang->PRJ->menu->browse = array('link' => '项目|program|prjbrowse|', 'alias' => 'prjcreate,prjedit,prjgroup,prjmanagepriv,prjmanageview,prjmanagemembers,prjmanageproducts'); $lang->program->viewMenu = new stdclass(); $lang->program->viewMenu->product = array('link' => '产品|program|pgmproduct|program=%s', 'alias' => 'view'); diff --git a/module/program/control.php b/module/program/control.php index 7438a90d97..08a01dfad2 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -924,7 +924,13 @@ class program extends control $this->loadModel('productplan'); /* Navigation stay in program when enter from program list. */ - if($from == 'pgmbrowse' or $from == 'pgmproject') $this->lang->PRJ->menu = $this->lang->program->menu; + if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu; + if($from == 'pgmproject') + { + $this->app->rawMethod = 'pgmproject'; + $this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true); + $this->program->setPGMViewMenu($programID); + } if($_POST) { @@ -1518,14 +1524,20 @@ class program extends control * * @param int $projectID * @param int $programID - * @param string $from PRJ|PGM + * @param string $from PRJ|pgmbrowse|pgmproject * @access public * @return void */ public function PRJManageProducts($projectID, $programID = 0, $from = 'PRJ') { /* Navigation stay in program when enter from program list. */ - if($from == 'PGM') $this->lang->PRJ->menu = $this->lang->program->menu; + if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu; + if($from == 'pgmproject') + { + $this->app->rawMethod = 'pgmproject'; + $this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true); + $this->program->setPGMViewMenu($programID); + } if(!empty($_POST)) { @@ -1545,15 +1557,10 @@ class program extends control $diffProducts = array_merge(array_diff($oldProducts, $newProducts), array_diff($newProducts, $oldProducts)); if($diffProducts) $this->loadModel('action')->create('project', $projectID, 'Managed', '', !empty($_POST['products']) ? join(',', $_POST['products']) : ''); - if($from == 'PGM') - { - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => inlink('PGMBrowse'))); - } - else - { - $browseProjectLink = $this->session->PRJBrowse ? $this->session->PRJBrowse : inLink('PRJBrowse', "programID=$programID"); - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $browseProjectLink)); - } + $locateLink = $this->session->PRJBrowse ? $this->session->PRJBrowse : inLink('PRJBrowse'); + if($from == 'pgmbrowse') $locateLink = inLink('PGMBrowse'); + if($from == 'pgmproject') $locateLink = inLink('PGMProject', "programID=$programID"); + $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink)); } $this->loadModel('product'); diff --git a/module/program/model.php b/module/program/model.php index c5bdc773ef..c4e0d0c955 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -1715,7 +1715,7 @@ class programModel extends model echo "