diff --git a/module/product/model.php b/module/product/model.php index 8bc8e7997d..b7c7c80051 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -75,10 +75,10 @@ class productModel extends model */ public function select($products, $productID, $currentModule, $currentMethod, $extra = '', $branch = '', $module = 0, $moduleType = '', $withBranch = true) { - $isBrowseBug = (strpos(',project,execution,', ",{$this->app->tab},") !== false and strpos(',bug,testcase,testtask,ajaxselectstory,', ",{$this->app->rawMethod},") !== false and isset($products[0])) ? true : false; + $isQaModule = (strpos(',project,execution,', ",{$this->app->tab},") !== false and strpos(',bug,testcase,testtask,ajaxselectstory,', ",{$this->app->rawMethod},") !== false and isset($products[0])) ? true : false; $this->app->loadLang('product'); - if(!$isBrowseBug and !$productID) + if(!$isQaModule and !$productID) { unset($this->lang->product->menu->settings['subMenu']->branch); return; @@ -88,10 +88,13 @@ class productModel extends model setcookie("lastProduct", $productID, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, true); if($productID) $currentProduct = $this->getById($productID); - if($isBrowseBug and $this->app->tab == 'project') $extra = $this->session->project; - if($isBrowseBug and $this->app->tab == 'execution') $extra = $this->session->execution; + if($isQaModule and $this->app->tab == 'project') + { + if($this->app->tab == 'project') $extra = $currentMethod == 'testcase' ? $extra : $this->session->project; + if($this->app->tab == 'execution') $extra = $this->session->execution; + } - if($isBrowseBug and !$productID) + if($isQaModule and !$productID) { $currentProduct = new stdclass(); $currentProduct->name = $products[$productID]; @@ -102,7 +105,7 @@ class productModel extends model $output = ''; if(!empty($products)) { - $dropMenuLink = helper::createLink($isBrowseBug ? 'bug' : 'product', 'ajaxGetDropMenu', "objectID=$productID&module=$currentModule&method=$currentMethod&extra=$extra"); + $dropMenuLink = helper::createLink($isQaModule ? 'bug' : 'product', 'ajaxGetDropMenu', "objectID=$productID&module=$currentModule&method=$currentMethod&extra=$extra"); $output = "
"; @@ -2006,6 +2009,10 @@ class productModel extends model $projectID = isset($output['projectID']) ? $output['projectID'] : 0; $link = helper::createLink($module, $method, "productID=%s&branch=" . ($branch ? "%s" : '') . "&groupBy=&projectID=$projectID") . "#app=project"; } + elseif($module == 'testcase' and $method == 'browse') + { + $link = helper::createLink('testcase', 'browse', "productID=%s" . ($branch ? "&branch=%s" : '&branch=all') . "&browseType=$extra"); + } elseif($module == 'testreport' and ($method == 'create' or $method == 'edit')) { $vars = $method == 'edit' ? "objectID=%s" : "objectID=&objectType=testtask&extra=%s"; @@ -2039,6 +2046,11 @@ class productModel extends model { return helper::createLink('design', 'browse', "productID=%s"); } + elseif($module == 'project' and $method == 'testcase') + { + $params = explode('|', $extra); + return helper::createLink('project', 'testcase', "projectID={$params[0]}&productID=%s&branch=all&browseType={$params[1]}"); + } elseif($module == 'project' or $module == 'execution') { $objectID = $module == 'project' ? 'projectID' : 'executionID'; diff --git a/module/project/control.php b/module/project/control.php index 022f155e7d..fbfcdfef1d 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -969,7 +969,9 @@ class project extends control $this->session->set('bugList', $this->app->getURI(true), 'project'); $products = array('0' => $this->lang->product->all) + $this->product->getProducts($projectID, 'all', '', false); - $this->lang->modulePageNav = $this->product->select($products, $productID, 'project', 'testcase', '', $branch, 0, '', false); + + $extra = "$projectID|$browseType"; + $this->lang->modulePageNav = $this->product->select($products, $productID, 'project', 'testcase', $extra, $branch, 0, '', false); echo $this->fetch('testcase', 'browse', "productID=$productID&branch=$branch&browseType=$browseType¶m=$param&orderBy=$orderBy&recTotal=$orderBy&recPerPage=$recPerPage&pageID=$pageID&projectID=$projectID"); } diff --git a/module/testcase/control.php b/module/testcase/control.php index cf16ddad92..c7a8d13387 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -131,7 +131,7 @@ class testcase extends control } else { - $this->qa->setMenu($this->products, $productID, $branch); + $this->qa->setMenu($this->products, $productID, $branch, $browseType); } $uri = $this->app->getURI(true);