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);