diff --git a/module/execution/control.php b/module/execution/control.php index fbd5b4af95..a31b480f19 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -761,13 +761,22 @@ class execution extends control $users = $this->user->getPairs('noletter'); /* Build the search form. */ - $modules = array(); + $modules = array(); + $productModules = array(); $executionModules = $this->loadModel('tree')->getTaskTreeModules($executionID, true); - $products = $this->product->getProducts($executionID); - foreach($products as $product) + $products = $this->product->getProducts($executionID); + if($productID) { - $productModules = $this->tree->getOptionMenu($product->id); - foreach($productModules as $moduleID => $moduleName) + $product = $products[$productID]; + $productModules = $this->tree->getOptionMenu($productID, 'story', 0, $product->branches); + } + else + { + foreach($products as $product) $productModules += $this->tree->getOptionMenu($product->id, 'story', 0, $product->branches); + } + foreach($productModules as $branchID => $moduleList) + { + foreach($moduleList as $moduleID => $moduleName) { if($moduleID and !isset($executionModules[$moduleID])) continue; $modules[$moduleID] = ((count($products) >= 2 and $moduleID) ? $product->name : '') . $moduleName; diff --git a/module/product/model.php b/module/product/model.php index f6a9fc665b..4a4f803838 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -903,7 +903,7 @@ class productModel extends model $this->config->product->search['params']['product']['values'] = $product + array('all' => $this->lang->product->allProduct); /* Get modules. */ - $modules = $this->loadModel('tree')->getOptionMenu($productID, 'story', 0, $branch); + $this->loadModel('tree'); if($this->app->tab == 'project') { if($productID) @@ -938,6 +938,10 @@ class productModel extends model } } } + else + { + $modules = $this->tree->getOptionMenu($productID, 'story', 0, $branch); + } $this->config->product->search['params']['module']['values'] = $modules; $productInfo = $this->getById($productID);