diff --git a/module/product/control.php b/module/product/control.php
index f19dad53df..595f290cc0 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -920,9 +920,7 @@ class product extends control
foreach($this->config->qa->menuList as $menu) $this->lang->navGroup->$menu = 'qa';
}
- $moduleGroup = zget($this->lang->navGroup, $module);
- $moduleGroup = in_array($moduleGroup, array('product', 'qa'))? $moduleGroup : 'project';
- $products = $moduleGroup == 'project' ? $this->product->getProducts($this->session->project) : $this->product->getList();
+ $products = $this->app->openApp == 'project' ? $this->product->getProducts($this->session->project) : $this->product->getList();
$this->view->link = $this->product->getProductLink($module, $method, $extra);
$this->view->productID = $productID;
@@ -930,10 +928,10 @@ class product extends control
$this->view->method = $method;
$this->view->extra = $extra;
$this->view->products = $products;
- $this->view->projectID = $moduleGroup == 'project' ? $this->session->project : 0;
+ $this->view->projectID = $this->app->openApp == 'project' ? $this->session->project : 0;
$this->view->programs = $this->loadModel('program')->getPairs(true);
$this->view->lines = $this->product->getLinePairs();
- $this->view->openApp = $moduleGroup;
+ $this->view->openApp = $this->app->openApp;
$this->display();
}
diff --git a/module/product/model.php b/module/product/model.php
index fb3ca82529..682db54b6a 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -70,10 +70,10 @@ class productModel extends model
*/
public function select($products, $productID, $currentModule, $currentMethod, $extra = '', $branch = 0, $module = 0, $moduleType = '')
{
- $isProjectBug = isset($products[0]) ? true : false;
+ $isProject = ($this->app->openApp == 'project' and strpos('bug,testcase,testtask', $this->app->rawMethod) !== false and isset($products[0])) ? true : false;
$this->app->loadLang('product');
- if(!$isProjectBug and !$productID)
+ if(!$isProject and !$productID)
{
unset($this->lang->product->menu->settings['subMenu']->branch);
return;
@@ -82,7 +82,9 @@ class productModel extends model
setCookie("lastProduct", $productID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
if($productID) $currentProduct = $this->getById($productID);
- if($isProjectBug and !$productID)
+
+ if($isProject) $extra = $this->session->project;
+ if($isProject and !$productID)
{
$currentProduct = new stdclass();
$currentProduct->name = $products[$productID];
@@ -93,7 +95,7 @@ class productModel extends model
$output = '';
if(!empty($products))
{
- $dropMenuLink = helper::createLink($isProjectBug ? 'bug' : 'product', 'ajaxGetDropMenu', "objectID=$productID&module=$currentModule&method=$currentMethod&extra=$extra");
+ $dropMenuLink = helper::createLink($isProject ? 'bug' : 'product', 'ajaxGetDropMenu', "objectID=$productID&module=$currentModule&method=$currentMethod&extra=$extra");
$output = "
";
@@ -1522,7 +1524,7 @@ class productModel extends model
public function getProductLink($module, $method, $extra, $branch = false)
{
$link = '';
- if(strpos('programplan,product,roadmap,bug,testcase,testtask,story,qa,testsuite,testreport,build,projectrelease,projectstory', $module) !== false)
+ if(strpos('programplan,product,roadmap,bug,testcase,testtask,story,qa,testsuite,testreport,build,projectrelease,projectstory', ',' . $module . ',') !== false)
{
if($module == 'product' && $method == 'project')
{
@@ -1583,6 +1585,10 @@ class productModel extends model
{
return helper::createLink('design', 'browse', "productID=%s");
}
+ elseif($module == 'project')
+ {
+ return helper::createLink('project', $method, "projectID=$extra&productID=%s");
+ }
return $link;
}
diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php
index f63a46f97b..6a5d10b94b 100644
--- a/module/product/view/ajaxgetdropmenu.html.php
+++ b/module/product/view/ajaxgetdropmenu.html.php
@@ -20,12 +20,6 @@ $myProductsHtml = '';
$normalProductsHtml = '';
$closedProductsHtml = '';
-if($this->app->openApp == 'project' and $this->app->rawModule == 'testcase')
-{
- $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, 0);
- $myProductsHtml .= html::a($linkHtml, $this->lang->product->all, '', "class='text-important' title='{$this->lang->product->all}' data-key='" . zget($productsPinYin, $this->lang->product->all, '') . "' data-app='project'");
-}
-
foreach($products as $product)
{
$selected = $product->id == $productID ? 'selected' : '';
diff --git a/module/project/control.php b/module/project/control.php
index b679476429..00990d11c4 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -757,6 +757,10 @@ class project extends control
*/
public function testcase($projectID = 0, $productID = 0, $branch = 0, $browseType = 'all', $param = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
+ $this->loadModel('product');
+ $products = array('0' => $this->lang->product->all) + $this->project->getProducts($projectID, false);
+ $this->lang->modulePageNav = $this->product->select($products, $productID, 'project', 'testcase', '', $branch);
+
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/project/view/testcase.html.php b/module/project/view/testcase.html.php
deleted file mode 100644
index ab047c062f..0000000000
--- a/module/project/view/testcase.html.php
+++ /dev/null
@@ -1,243 +0,0 @@
-
- * @package project
- * @version $Id: testcase.html.php 5108 2013-07-12 01:59:04Z chencongzhi520@gmail.com $
- * @link http://www.zentao.net
- */
-?>
-session->caseBrowseType == 'bysearch') ? 'all' : $this->session->caseBrowseType);
-js::set('moduleID' , $moduleID);
-js::set('confirmDelete', $lang->testcase->confirmDelete);
-js::set('batchDelete', $lang->testcase->confirmBatchDelete);
-js::set('productID', $productID);
-js::set('branch', $branch);
-js::set('suiteID', $suiteID);
-?>
-
-
-
-
'>
-
-
-
-
- testcase->noCase;?>
-
-
- createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule"), " " . $lang->testcase->create, '', "class='btn btn-info'");?>
-
-
-
-
- moduleName . ucfirst($this->methodName);
- $useDatatable = (isset($config->datatable->$datatableId->mode) and $config->datatable->$datatableId->mode == 'datatable');
- ?>
-