* finish task #2556.

This commit is contained in:
chenfeiCF
2016-03-31 13:43:01 +08:00
parent 040f86ddcc
commit 8da31932bd
5 changed files with 37 additions and 11 deletions
+8 -2
View File
@@ -57,11 +57,16 @@ class testcase extends control
{
$this->loadModel('datatable');
/* Set browseType, productID, moduleID and queryID. */
/* Set browse type. */
$browseType = strtolower($browseType);
if($browseType == 'bymodule') setcookie('caseModule', (int)$param, $this->config->cookieLife, $this->config->webRoot);
if($browseType != 'bymodule') $this->session->set('caseBrowseType', $browseType);
/* Set browseType, productID, moduleID and queryID. */
$productID = $this->product->saveState($productID, $this->products);
$branch = ($branch === '') ? $this->session->branch : $branch;
$moduleID = ($browseType == 'bymodule') ? (int)$param : 0;
$moduleID = ($browseType == 'bymodule') ? (int)$param : ($browseType == 'bysearch' ? 0 : ($this->cookie->caseModule ? $this->cookie->caseModule : 0));
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
/* Set menu, save session. */
@@ -101,6 +106,7 @@ class testcase extends control
$this->view->productName = $this->products[$productID];
$this->view->modules = $this->tree->getOptionMenu($productID, $viewType = 'case', $startModuleID = 0, $branch);
$this->view->moduleTree = $this->tree->getTreeMenu($productID, $viewType = 'case', $startModuleID = 0, array('treeModel', 'createCaseLink'), '', $branch);
$this->view->moduleName = $moduleID ? $this->tree->getById($moduleID)->name : $this->lang->tree->all;
$this->view->moduleID = $moduleID;
$this->view->pager = $pager;
$this->view->users = $this->user->getPairs('noletter');
+1 -1
View File
@@ -23,7 +23,7 @@ function confirmBatchDelete(actionLink)
$(document).ready(function()
{
$('#' + browseType + 'Tab').addClass('active');
$('#' + caseBrowseType + 'Tab').addClass('active');
$('#module' + moduleID).addClass('active');
if(browseType == 'bysearch') ajaxGetSearchForm();
setTimeout(function(){fixedTfootAction('#batchForm')}, 100);
+8 -4
View File
@@ -246,10 +246,15 @@ class testcaseModel extends model
*/
public function getTestCases($productID, $branch, $browseType, $queryID, $moduleID, $sort, $pager)
{
/* Set modules and browse type. */
$modules = $moduleID ? $this->loadModel('tree')->getAllChildId($moduleID) : '0';
$browseType = (($browseType == 'bymodule') and ($this->session->caseBrowseType) and ($this->session->caseBrowseType != 'bysearch')) ? $this->session->caseBrowseType : $browseType;
/* By module or all cases. */
$cases = array();
if($browseType == 'bymodule' or $browseType == 'all')
{
$cases = $this->getModuleCases($productID, $branch, $this->loadModel('tree')->getAllChildId($moduleID), $sort, $pager);
$cases = $this->getModuleCases($productID, $branch, $modules, $sort, $pager);
}
/* Cases need confirmed. */
elseif($browseType == 'needconfirm')
@@ -260,6 +265,7 @@ class testcaseModel extends model
->andWhere('t2.version > t1.storyVersion')
->andWhere('t1.product')->eq($productID)
->beginIF($branch)->andWhere('t1.branch')->eq($branch)
->beginIF($modules)->andWhere('t1.module')->in($modules)
->orderBy($sort)
->page($pager)
->fetchAll();
@@ -270,9 +276,7 @@ class testcaseModel extends model
$cases = $this->getBySearch($productID, $queryID, $sort, $pager);
}
if($cases) return $cases;
return array();
return $cases;
}
/**
+5 -4
View File
@@ -15,10 +15,11 @@ include '../../common/view/header.html.php';
include '../../common/view/datepicker.html.php';
include '../../common/view/datatable.fix.html.php';
include './caseheader.html.php';
js::set('browseType', $browseType);
js::set('moduleID' , $moduleID);
js::set('confirmDelete', $lang->testcase->confirmDelete);
js::set('batchDelete', $lang->testcase->confirmBatchDelete);
js::set('browseType', $browseType);
js::set('caseBrowseType', $this->session->caseBrowseType);
js::set('moduleID' , $moduleID);
js::set('confirmDelete', $lang->testcase->confirmDelete);
js::set('batchDelete', $lang->testcase->confirmBatchDelete);
?>
<div class='side' id='treebox'>
<a class='side-handle' data-id='testcaseTree'><i class='icon-caret-left'></i></a>
+15
View File
@@ -1,6 +1,21 @@
<?php if(!isset($branch)) $branch = 0;?>
<div id='featurebar'>
<ul class='nav'>
<?php if(isset($moduleID)):?>
<li>
<span>
<?php
echo $moduleName;
if($moduleID)
{
$removeLink = $browseType == 'bymodule' ? inlink('browse', "productID=$productID&branch=$branch&browseType=$browseType&param=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("caseModule")';
echo '&nbsp;' . html::a($removeLink, "<i class='icon icon-remove'></i>") . '&nbsp;';
}
echo " <i class='icon-angle-right'></i>&nbsp; ";
?>
</span>
</li>
<?php endif;?>
<?php
echo "<li id='allTab'>" . html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=all"), $lang->testcase->allCases) . "</li>";
echo "<li id='needconfirmTab'>" . html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=needconfirm"), $lang->testcase->needConfirm) . "</li>";