diff --git a/module/program/view/browsebylist.html.php b/module/program/view/browsebylist.html.php index ee0f9fd2e7..f87daa05b9 100644 --- a/module/program/view/browsebylist.html.php +++ b/module/program/view/browsebylist.html.php @@ -102,8 +102,8 @@
diff --git a/module/project/control.php b/module/project/control.php index 028dfcbff7..e844295598 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1409,8 +1409,6 @@ class project extends control */ public function manageProducts($projectID, $programID = 0, $from = 'project') { - $this->project->setMenu($projectID); - if(!empty($_POST)) { if(!isset($_POST['products'])) @@ -1429,15 +1427,23 @@ class project 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']) : ''); - $locateLink = $this->session->projectBrowse ? $this->session->projectBrowse : inLink('manageProducts', "projectID=$projectID"); + $locateLink = inLink('manageProducts', "projectID=$projectID"); if($from == 'program') $locateLink = $this->createLink('program', 'browse'); if($from == 'programproject') $locateLink = $this->session->programProject ? $this->session->programProject : inLink('programProject', "projectID=$projectID"); $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink)); } $this->loadModel('product'); - $this->loadModel('program'); + $project = $this->project->getById($projectID); + if($this->app->openApp == 'program') + { + $this->program->setMenu($project->parent); + } + else if($this->app->openApp == 'project') + { + $this->project->setMenu($projectID); + } $allProducts = $this->program->getProductPairs($project->parent, 'assign', 'noclosed'); $linkedProducts = $this->product->getProducts($project->id); diff --git a/module/project/model.php b/module/project/model.php index 85c9f7c183..d4a91117eb 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1223,11 +1223,11 @@ class projectModel extends model * @param object $col * @param object $project * @param array $users - * @param int $projectID + * @param int $programID * @access public * @return void */ - public function printCell($col, $project, $users, $projectID = 0) + public function printCell($col, $project, $users, $programID = 0) { $canOrder = common::hasPriv('project', 'updateOrder'); $canBatchEdit = common::hasPriv('project', 'batchEdit'); @@ -1328,19 +1328,19 @@ class projectModel extends model echo ""; } - $from = $project->from == 'project' ? 'project' : 'pgmproject'; - $openApp = $project->from == 'project' ? 'project' : 'project'; + $from = $project->from == 'project' ? 'project' : 'pgmproject'; + $openApp = $this->app->openApp; common::printIcon('project', 'edit', "projectID=$project->id&from=$from", $project, 'list', 'edit', '', '', '', "data-app=$openApp", '', $project->id); common::printIcon('project', 'manageMembers', "projectID=$project->id", $project, 'list', 'group', '', '', '', '', $this->lang->execution->team, $project->id); - if($this->config->systemMode == 'new') common::printIcon('project', 'group', "projectID=$project->id&projectID=$projectID", $project, 'list', 'lock', '', '', '', '', '', $project->id); + if($this->config->systemMode == 'new') common::printIcon('project', 'group', "projectID=$project->id&programID=$programID", $project, 'list', 'lock', '', '', '', '', '', $project->id); - if(common::hasPriv('project','manageProducts') || common::hasPriv('project','whitelist') || common::hasPriv('project','delete')) + if(common::hasPriv('project','manageProducts') || common::hasPriv('project', 'whitelist') || common::hasPriv('project', 'delete')) { echo "
"; echo ""; echo ""; echo "
";