From b378b533070ec9728ed93e36db8fb7d7d00c4017 Mon Sep 17 00:00:00 2001 From: daitingting Date: Fri, 12 May 2017 14:45:57 +0800 Subject: [PATCH 1/3] * Adjust menu for onlyTest. --- module/bug/control.php | 2 +- module/bug/js/browse.js | 11 ++ module/bug/model.php | 26 +++- module/bug/view/browse.html.php | 51 ++++++++ module/common/lang/zh-cn.php | 142 +++++++++++++++------- module/testcase/control.php | 2 +- module/testcase/js/browse.js | 10 ++ module/testcase/model.php | 48 +++++++- module/testcase/view/caseheader.html.php | 68 +++++++++++ module/testreport/model.php | 32 ++++- module/testsuite/control.php | 2 +- module/testsuite/js/common.js | 3 +- module/testsuite/model.php | 21 +++- module/testsuite/view/browse.html.php | 2 + module/testsuite/view/library.html.php | 16 +++ module/testtask/js/browse.js | 8 ++ module/testtask/model.php | 32 ++++- module/testtask/view/browse.html.php | 19 +-- module/tree/control.php | 31 +++++ module/tree/view/ajaxgetdropmenu.html.php | 17 +++ 20 files changed, 471 insertions(+), 72 deletions(-) create mode 100644 module/testtask/js/browse.js create mode 100644 module/tree/view/ajaxgetdropmenu.html.php diff --git a/module/bug/control.php b/module/bug/control.php index dad61c063c..ad9f2053a7 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -82,7 +82,7 @@ class bug extends control $queryID = ($browseType == 'bysearch') ? (int)$param : 0; /* Set menu and save session. */ - $this->bug->setMenu($this->products, $productID, $branch); + $this->bug->setMenu($this->products, $productID, $branch, $moduleID); $this->session->set('bugList', $this->app->getURI(true)); /* Process the order by field. */ diff --git a/module/bug/js/browse.js b/module/bug/js/browse.js index b939022371..b49f8fa698 100644 --- a/module/bug/js/browse.js +++ b/module/bug/js/browse.js @@ -19,4 +19,15 @@ $(document).ready(function() }); setTimeout(function(){fixedTfootAction('#bugForm')}, 100); setTimeout(function(){fixedTheadOfList('#bugList')}, 100); + + if(flow == 'onlyTest') + { + $('#modulemenu > .nav').append($('#featurebar').html()); + toggleSearch(); + + $(".export").modalTrigger({width:650, type:'iframe'}); + + $('#modulemenu > .nav > li').removeClass('active'); + $('#modulemenu > .nav > li[data-id=' + browseType + ']').addClass('active'); + } }); diff --git a/module/bug/model.php b/module/bug/model.php index 4a4fd2e217..828fd4f2ab 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -21,13 +21,31 @@ class bugModel extends model * @access public * @return void */ - public function setMenu($products, $productID, $branch = 0) + public function setMenu($products, $productID, $branch = 0, $moduleID = 0) { - $this->loadModel('product')->setMenu($products, $productID, $branch); - $selectHtml = $this->product->select($products, $productID, 'bug', 'browse', '', $branch); + $this->loadModel('product')->setMenu($products, $productID, $branch, $moduleID, 'bug'); + $selectHtml = $this->product->select($products, $productID, 'bug', 'browse', '', $branch, $moduleID, 'bug'); + foreach($this->lang->bug->menu as $key => $menu) { - $replace = ($key == 'product') ? $selectHtml : $productID; + if($this->config->global->flow != 'onlyTest') + { + $replace = ($key == 'product') ? $selectHtml : $productID; + } + else + { + if($key == 'product') + { + $replace = $selectHtml; + } + else + { + $replace = array(); + $replace['productID'] = $productID; + $replace['branch'] = $branch; + $replace['param'] = $moduleID; + } + } common::setMenuVars($this->lang->bug->menu, $key, $replace); } } diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php index 7476d492ff..4160032063 100644 --- a/module/bug/view/browse.html.php +++ b/module/bug/view/browse.html.php @@ -16,7 +16,57 @@ include '../../common/view/datatable.fix.html.php'; js::set('browseType', $browseType); js::set('moduleID', $moduleID); js::set('bugBrowseType', ($browseType == 'bymodule' and $this->session->bugBrowseType == 'bysearch') ? 'all' : $this->session->bugBrowseType); +js::set('flow', $this->config->global->flow); ?> +config->global->flow == 'onlyTest'):?> + +
'>
+
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 2701eb0a46..61613bec2c 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -653,75 +653,125 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest') unset($lang->project->menuOrder); /* Add bug, testcase and testtask module. */ - $lang->menu->bug = 'Bug|bug|index'; - $lang->menu->testcase = '用例|testcase|index'; - $lang->menu->testtask = '测试|testtask|index'; - $lang->menu->caselib = '用例库|testsuite|library'; + $lang->menu->bug = 'Bug|bug|index'; + $lang->menu->testcase = '用例|testcase|index'; + $lang->menu->testsuite = '套件|testsuite|index'; + $lang->menu->testtask = '测试|testtask|index'; + $lang->menu->caselib = '用例库|testsuite|library'; - $lang->menuOrder[6] = 'bug'; - $lang->menuOrder[7] = 'testcase'; - $lang->menuOrder[8] = 'testtask'; - $lang->menuOrder[9] = 'caselib'; + $lang->menuOrder[6] = 'bug'; + $lang->menuOrder[7] = 'testcase'; + $lang->menuOrder[8] = 'testsuite'; + $lang->menuOrder[9] = 'testtask'; + $lang->menuOrder[10] = 'caselib'; + $lang->menuOrder[11] = 'product'; /* Adjust sub menu of bug module. */ $lang->bug->menu = new stdclass(); - $lang->bug->menu->product = '%s'; - $lang->bug->menu->browse = array('link' => '浏览Bug|bug|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree'); - $lang->bug->menu->create = array('link' => '提Bug|bug|create|productID=%s'); + $lang->bug->menu->product = '%s'; + $lang->bug->menu->unclosed = '未关闭|bug|browse|productID=%s&branch=%s&browseType=unclosed¶m=%s'; + $lang->bug->menu->all = '所有|bug|browse|productID=%s&branch=%s&browseType=all¶m=%s'; + $lang->bug->menu->assigntome = '指派给我|bug|browse|productID=%s&branch=%s&browseType=assigntome¶m=%s'; + $lang->bug->menu->openedbyme = '由我创建|bug|browse|productID=%s&branch=%s&browseType=openedbyme¶m=%s'; + $lang->bug->menu->resolvedbyme = '由我创建|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme¶m=%s'; + $lang->bug->menu->unconfirmed = '未确认|bug|browse|productID=%s&branch=%s&browseType=unconfirmed¶m=%s'; + $lang->bug->menu->assigntonull = '未指派|bug|browse|productID=%s&branch=%s&browseType=assigntonull¶m=%s'; + $lang->bug->menu->unresolved = '未解决|bug|browse|productID=%s&branch=%s&browseType=unresolved¶m=%s'; + $lang->bug->menu->toclosed = '待关闭|bug|browse|productID=%s&branch=%s&browseType=toclosed¶m=%s'; + $lang->bug->menu->longlifebugs = '久未处理|bug|browse|productID=%s&branch=%s&browseType=longlifebugs¶m=%s'; + $lang->bug->menu->postponedbugs = '被延期|bug|browse|productID=%s&branch=%s&browseType=postponedbugs¶m=%s'; + $lang->bug->menu->overduebugs = '过期Bug|bug|browse|productID=%s&branch=%s&browseType=overduebugs¶m=%s'; $lang->bug->menuOrder[5] = 'product'; - $lang->bug->menuOrder[10] = 'browse'; - $lang->bug->menuOrder[15] = 'create'; + $lang->bug->menuOrder[10] = 'unclosed'; + $lang->bug->menuOrder[15] = 'all'; + $lang->bug->menuOrder[20] = 'assigntome'; + $lang->bug->menuOrder[25] = 'openedbyme'; + $lang->bug->menuOrder[30] = 'resolvedbyme'; + $lang->bug->menuOrder[35] = 'unresolved'; + $lang->bug->menuOrder[40] = 'assigntonull'; + $lang->bug->menuOrder[45] = 'unresolved'; + $lang->bug->menuOrder[50] = 'toclosed'; + $lang->bug->menuOrder[55] = 'longlifebugs'; + $lang->bug->menuOrder[60] = 'postponedbugs'; + $lang->bug->menuOrder[65] = 'overduebugs'; /* Adjust sub menu of testcase. */ $lang->testcase->menu = new stdclass(); - $lang->testcase->menu->product = '%s'; - $lang->testcase->menu->browse = array('link' => '浏览用例|testcase|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree'); - $lang->testcase->menu->testsuite = array('link' => '浏览套件|testsuite|browse|productID=%s', 'alias' => 'linkcase,create,edit,view'); + $lang->testcase->menu->product = '%s'; + $lang->testcase->menu->all = '所有|testcase|browse|productID=%s&branch=%s&browseType=all'; + $lang->testcase->menu->wait = '待评审|testcase|browse|productID=%s&branch=%s&browseType=wait'; + $lang->testcase->menu->suite = '%s'; $lang->testcase->menuOrder[5] = 'product'; - $lang->testcase->menuOrder[10] = 'browse'; - $lang->testcase->menuOrder[15] = 'testsuite'; + $lang->testcase->menuOrder[10] = 'all'; + $lang->testcase->menuOrder[15] = 'wait'; + $lang->testcase->menuOrder[20] = 'suite'; /* Adjust sub menu of bug module. */ $lang->testsuite->menu = new stdclass(); - $lang->testsuite->menu->product = '%s'; - $lang->testsuite->menu->testcase = array('link' => '浏览用例|testcase|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree'); - $lang->testsuite->menu->browse = array('link' => '浏览套件|testsuite|browse|productID=%s', 'alias' => 'linkcase,create,edit,view'); + $lang->testsuite->menu->product = '%s'; + $lang->testsuite->menu->create = array('link' => " 建套件|testsuite|create|productID=%s", 'float' => 'right'); $lang->testsuite->menuOrder[5] = 'product'; - $lang->testsuite->menuOrder[10] = 'testcase'; - $lang->testsuite->menuOrder[15] = 'browse'; + $lang->testsuite->menuOrder[10] = 'create'; /* Adjust sub menu of testtask. */ $lang->testtask->menu = new stdclass(); - $lang->testtask->menu->product = '%s'; - $lang->testtask->menu->browse = array('link' => '浏览版本|testtask|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree'); - $lang->testtask->menu->create = array('link' => '提交测试|testtask|create|productID=%s'); - $lang->testtask->menu->report = array('link' => '报告|testreport|browse'); + $lang->testtask->menu->product = '%s'; + $lang->testtask->menu->scope = '%s'; + $lang->testtask->menu->wait = '待测版本|testtask|browse|productID=%s&branch=%s&type=%s,wait'; + $lang->testtask->menu->doing = '测试中版本|testtask|browse|productID=%s&branch=%s&type=%s,doing'; + $lang->testtask->menu->blocked = '被阻塞版本|testtask|browse|productID=%s&branch=%s&type=%s,blocked'; + $lang->testtask->menu->done = '已测版本|testtask|browse|productID=%s&branch=%s&type=%s,done'; + $lang->testtask->menu->totalStatus = '全部|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus'; + $lang->testtask->menu->report = array('link' => '报告|testreport|browse'); + $lang->testtask->menu->create = array('link' => " 提交测试|testtask|create|productID=%s", 'float' => 'right'); - $lang->testtask->menuOrder[5] = 'product'; - $lang->testtask->menuOrder[10] = 'browse'; - $lang->testtask->menuOrder[15] = 'create'; - $lang->testtask->menuOrder[20] = 'report'; - - /* Adjust sub menu of caselib module. */ - $lang->caselib->menu = new stdclass(); - $lang->caselib->menu->lib = array('link' => '%s', 'fixed' => true); - $lang->caselib->menu->caselib = array('link' => '用例库|testsuite|library', 'alias' => 'createlib,createcase,libview,edit,batchcreatecase,showimport', 'subModule' => 'tree,testcase'); - $lang->caselib->menu->createlib = array('link' => "创建库|testsuite|createLib|", 'float' => 'right'); + $lang->testtask->menuOrder[5] = 'product'; + $lang->testtask->menuOrder[10] = 'scope'; + $lang->testtask->menuOrder[15] = 'wait'; + $lang->testtask->menuOrder[20] = 'doing'; + $lang->testtask->menuOrder[25] = 'blocked'; + $lang->testtask->menuOrder[30] = 'done'; + $lang->testtask->menuOrder[35] = 'totalStatus'; + $lang->testtask->menuOrder[40] = 'report'; + $lang->testtask->menuOrder[45] = 'create'; /* Adjust sub menu of report module. */ $lang->testreport->menu = new stdclass(); - $lang->testreport->menu->product = '%s'; - $lang->testreport->menu->browse = array('link' => '浏览版本|testtask|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree'); - $lang->testreport->menu->create = array('link' => '提交测试|testtask|create|productID=%s'); - $lang->testreport->menu->report = array('link' => '报告|testreport|browse'); + $lang->testreport->menu->product = '%s'; + $lang->testreport->menu->scope = '%s'; + $lang->testreport->menu->wait = '待测版本|testtask|browse|productID=%s&branch=%s&type=%s,wait'; + $lang->testreport->menu->doing = '测试中版本|testtask|browse|productID=%s&branch=%s&type=%s,doing'; + $lang->testreport->menu->blocked = '被阻塞版本|testtask|browse|productID=%s&branch=%s&type=%s,blocked'; + $lang->testreport->menu->done = '已测版本|testtask|browse|productID=%s&branch=%s&type=%s,done'; + $lang->testreport->menu->totalStatus = '全部|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus'; + $lang->testreport->menu->report = array('link' => '报告|testreport|browse'); + $lang->testreport->menu->testtask = array('link' => " 提交测试|testtask|create|productID=%s", 'float' => 'right'); - $lang->testreport->menuOrder[5] = 'product'; - $lang->testreport->menuOrder[10] = 'browse'; - $lang->testreport->menuOrder[15] = 'create'; - $lang->testreport->menuOrder[20] = 'report'; + $lang->testreport->menuOrder[5] = 'product'; + $lang->testreport->menuOrder[10] = 'scope'; + $lang->testreport->menuOrder[15] = 'wait'; + $lang->testreport->menuOrder[20] = 'doing'; + $lang->testreport->menuOrder[25] = 'blocked'; + $lang->testreport->menuOrder[30] = 'done'; + $lang->testreport->menuOrder[35] = 'totalStatus'; + $lang->testreport->menuOrder[40] = 'report'; + $lang->testreport->menuOrder[45] = 'create'; + + /* Adjust sub menu of caselib module. */ + $lang->caselib->menu = new stdclass(); + $lang->caselib->menu->lib = array('link' => '%s', 'fixed' => true); + $lang->caselib->menu->all = '所有|testsuite|library|libID=%s&browseType=all'; + $lang->caselib->menu->wait = '待评审|testsuite|library|libID=%s&browseType=wait'; + $lang->caselib->menu->view = '概况|testsuite|libview|libID=%s'; + $lang->caselib->menu->create = array('link' => " 创建库|testsuite|createLib", 'float' => 'right'); + + $lang->caselib->menuOrder[5] = 'lib'; + $lang->caselib->menuOrder[10] = 'all'; + $lang->caselib->menuOrder[15] = 'wait'; + $lang->caselib->menuOrder[20] = 'view'; /* Adjust sub menu of product module. */ unset($lang->product->menu->story); @@ -756,6 +806,4 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest') unset($lang->searchObjects['task']); unset($lang->searchObjects['release']); unset($lang->searchObjects['productplan']); - - $lang->zentaoPMS = '禅道测试管理'; } diff --git a/module/testcase/control.php b/module/testcase/control.php index 7b2ba3fbd3..fc4919dab4 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -80,7 +80,7 @@ class testcase extends control $queryID = ($browseType == 'bysearch') ? (int)$param : 0; /* Set menu, save session. */ - $this->testcase->setMenu($this->products, $productID, $branch); + $this->testcase->setMenu($this->products, $productID, $branch, $moduleID, $suiteID); $this->session->set('caseList', $this->app->getURI(true)); $this->session->set('productID', $productID); $this->session->set('moduleID', $moduleID); diff --git a/module/testcase/js/browse.js b/module/testcase/js/browse.js index dbb1877696..0bb5a59a8c 100644 --- a/module/testcase/js/browse.js +++ b/module/testcase/js/browse.js @@ -44,4 +44,14 @@ $(document).ready(function() }); setModal4List('runCase', 'caseList'); + + if(flow == 'onlyTest') + { + $('#modulemenu > .nav').append($('#featurebar').html()); + toggleSearch(); + $('.export').modalTrigger({width:650, type:'iframe'}); + + $('#modulemenu > .nav > li').removeClass('active'); + $('#modulemenu > .nav > li[data-id=' + browseType + ']').addClass('active'); + } }); diff --git a/module/testcase/model.php b/module/testcase/model.php index 12d7de3dd2..8b217fd08a 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -21,13 +21,53 @@ class testcaseModel extends model * @access public * @return void */ - public function setMenu($products, $productID, $branch = 0) + public function setMenu($products, $productID, $branch = 0, $moduleID = 0, $suiteID = 0) { - $this->loadModel('product')->setMenu($products, $productID, $branch); - $selectHtml = $this->product->select($products, $productID, 'testcase', 'browse', '', $branch); + $this->loadModel('product')->setMenu($products, $productID, $branch, $moduleID, 'case'); + $selectHtml = $this->product->select($products, $productID, 'testcase', 'browse', '', $branch, $moduleID, 'case'); foreach($this->lang->testcase->menu as $key => $menu) { - $replace = ($key == 'product') ? $selectHtml : $productID; + if($this->config->global->flow != 'onlyTest') + { + $replace = ($key == 'product') ? $selectHtml : $productID; + } + else + { + if($key == 'product') + { + $replace = $selectHtml; + } + elseif($key == 'suite' and common::hasPriv('testcase', 'browse')) + { + $suiteList = $this->loadModel('testsuite')->getSuites($productID); + $currentSuiteID = isset($suiteID) ? (int)$suiteID : 0; + $currentSuite = zget($suiteList, $currentSuiteID, ''); + $currentLable = empty($currentSuite) ? $this->lang->testsuite->common : $currentSuite->name; + + $replace = "'; + } + else + { + $replace = array(); + $replace['productID'] = $productID; + $replace['branch'] = $branch; + } + } common::setMenuVars($this->lang->testcase->menu, $key, $replace); } } diff --git a/module/testcase/view/caseheader.html.php b/module/testcase/view/caseheader.html.php index 36fec7c0f3..aecada0390 100644 --- a/module/testcase/view/caseheader.html.php +++ b/module/testcase/view/caseheader.html.php @@ -1,4 +1,71 @@ +config->global->flow);?> +config->global->flow == 'onlyTest'):?> + +
'>
+ lang->testtask->menu as $key => $value) { - $replace = ($key == 'product') ? $selectHtml : $productID; + if($this->config->global->flow != 'onlyTest') + { + $replace = ($key == 'product') ? $selectHtml : $productID; + } + else + { + if($key == 'product') + { + $replace = $selectHtml; + } + elseif($key == 'scope') + { + $scope = $this->session->testTaskVersionScope; + $status = $this->session->testTaskVersionStatus; + $viewName = $scope == 'local'? $products[$productID] : $this->lang->testtask->all; + + $replace = '
  • '; + $replace .= "{$viewName} "; + $replace .= "
  • "; + } + else + { + $replace = array(); + $replace['productID'] = $productID; + $replace['branch'] = $branch; + $replace['scope'] = $this->session->testTaskVersionScope; + } + } common::setMenuVars($this->lang->testreport->menu, $key, $replace); } } diff --git a/module/testsuite/control.php b/module/testsuite/control.php index 574ad487c8..5f01b765c2 100644 --- a/module/testsuite/control.php +++ b/module/testsuite/control.php @@ -401,7 +401,7 @@ class testsuite extends control $queryID = ($browseType == 'bysearch') ? (int)$param : 0; /* Set lib menu. */ - $this->testsuite->setLibMenu($libraries, $libID); + $this->testsuite->setLibMenu($libraries, $libID, $moduleID); /* Load pager. */ $this->app->loadClass('pager', $static = true); diff --git a/module/testsuite/js/common.js b/module/testsuite/js/common.js index b9480c5f28..4aed7936cf 100644 --- a/module/testsuite/js/common.js +++ b/module/testsuite/js/common.js @@ -2,7 +2,6 @@ $(document).ready(function() { if(onlyTest) { - $('#mainmenu > .nav > li').removeClass('active'); - $('#mainmenu > .nav > li[data-id=testcase]').addClass('active'); + toggleSearch(); } }) diff --git a/module/testsuite/model.php b/module/testsuite/model.php index f709bf6f8d..89b8017ca5 100644 --- a/module/testsuite/model.php +++ b/module/testsuite/model.php @@ -72,14 +72,33 @@ class testsuiteModel extends model * @access public * @return void */ - public function setLibMenu($libraries, $libID) + public function setLibMenu($libraries, $libID, $moduleID = 0) { $currentLibName = zget($libraries, $libID, ''); $selectHtml = empty($libraries) ? '' : "{$currentLibName}
    "; + + if($this->config->global->flow == 'onlyTest') + { + $isMobile = $this->app->viewType == 'mhtml'; + $modules = $this->loadModel('tree')->getModulePairs($libID, 'caselib'); + $moduleName = ($moduleID && isset($modules[$moduleID])) ? $modules[$moduleID] : $this->lang->tree->all; + + if(!$isMobile) + { + $selectHtml .= '
  • '; + $selectHtml .= "{$moduleName}
    "; + } + else + { + $selectHtml .= "{$moduleName} "; + } + } + setCookie("lastCaseLib", $libID, $this->config->cookieLife, $this->config->webRoot); foreach($this->lang->caselib->menu as $key => $value) { $replace = ($key == 'lib') ? $selectHtml : ''; + if($this->config->global->flow == 'onlyTest') $replace = ($key == 'lib') ? $selectHtml : $libID; common::setMenuVars($this->lang->caselib->menu, $key, $replace); } $this->lang->testsuite->menu = $this->lang->caselib->menu; diff --git a/module/testsuite/view/browse.html.php b/module/testsuite/view/browse.html.php index cb09e20e28..eaf72fcf05 100644 --- a/module/testsuite/view/browse.html.php +++ b/module/testsuite/view/browse.html.php @@ -13,10 +13,12 @@ testsuite->confirmDelete)?> global->flow == 'onlyTest')?> +config->global->flow != 'onlyTest'):?>
    testsuite->browse?>
    + recTotal}&recPerPage={$pager->recPerPage}"; ?> diff --git a/module/testsuite/view/library.html.php b/module/testsuite/view/library.html.php index 15b4db4b76..30231e6919 100644 --- a/module/testsuite/view/library.html.php +++ b/module/testsuite/view/library.html.php @@ -17,7 +17,14 @@ js::set('browseType', $browseType); js::set('moduleID', $moduleID); js::set('confirmDelete', $lang->testsuite->confirmDelete); js::set('batchDelete', $lang->testcase->confirmBatchDelete); +js::set('flow', $this->config->global->flow); ?> +config->global->flow == 'onlyTest'):?> + +
    " . html::icon($lang->icons['usecase']) . '' . $libName . '';?> @@ -76,6 +83,7 @@ js::set('batchDelete', $lang->testcase->confirmBatchDelete);
    '>
    +
    @@ -213,5 +221,13 @@ js::set('batchDelete', $lang->testcase->confirmBatchDelete); diff --git a/module/testtask/js/browse.js b/module/testtask/js/browse.js new file mode 100644 index 0000000000..a83e3be0cb --- /dev/null +++ b/module/testtask/js/browse.js @@ -0,0 +1,8 @@ +$(document).ready(function() +{ + if(flow == 'onlyTest') + { + $('#modulemenu > .nav > li').removeClass('active'); + $('#modulemenu > .nav > li[data-id=' + status + ']').addClass('active'); + } +}); diff --git a/module/testtask/model.php b/module/testtask/model.php index 3270784c30..486718e451 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -27,7 +27,37 @@ class testtaskModel extends model $selectHtml = $this->product->select($products, $productID, 'testtask', 'browse', '', $branch); foreach($this->lang->testtask->menu as $key => $value) { - $replace = ($key == 'product') ? $selectHtml : $productID; + if($this->config->global->flow != 'onlyTest') + { + $replace = ($key == 'product') ? $selectHtml : $productID; + } + else + { + if($key == 'product') + { + $replace = $selectHtml; + } + elseif($key == 'scope') + { + $scope = $this->session->testTaskVersionScope; + $status = $this->session->testTaskVersionStatus; + $viewName = $scope == 'local'? $products[$productID] : $this->lang->testtask->all; + + $replace = '
  • '; + $replace .= "{$viewName} "; + $replace .= "
  • "; + } + else + { + $replace = array(); + $replace['productID'] = $productID; + $replace['branch'] = $branch; + $replace['scope'] = $this->session->testTaskVersionScope; + } + } common::setMenuVars($this->lang->testtask->menu, $key, $replace); } } diff --git a/module/testtask/view/browse.html.php b/module/testtask/view/browse.html.php index a945439131..567b19c2ba 100644 --- a/module/testtask/view/browse.html.php +++ b/module/testtask/view/browse.html.php @@ -12,19 +12,19 @@ ?> testtask->confirmDelete)?> - +config->global->flow);?> +session->testTaskVersionScope; +$status = $this->session->testTaskVersionStatus; +?> + +config->global->flow != 'onlyTest'):?>
    +
    recTotal}&recPerPage={$pager->recPerPage}"; ?> diff --git a/module/tree/control.php b/module/tree/control.php index 026199bf5c..8ff929d8c3 100644 --- a/module/tree/control.php +++ b/module/tree/control.php @@ -352,6 +352,37 @@ class tree extends control if($returnType == 'json') die(json_encode($optionMenu)); } + /** + * Ajax get drop menu. + * + * @param int $rootID + * @param string $module + * @param string $method + * @param string $extra + * @access public + * @return void + */ + public function ajaxGetDropMenu($rootID, $module, $method, $extra) + { + $this->view->productID = $rootID; + $this->view->module = $module; + $this->view->method = $method; + $this->view->extra = $extra; + + if($module == 'bug') $viewType = 'bug'; + if($module == 'testcase') $viewType = 'case'; + if($module == 'testsuite') $viewType = 'caselib'; + + $modules = $this->tree->getOptionMenu($rootID, $viewType); + $modulesPinyin = common::convert2Pinyin($modules); + + $this->view->link = $viewType == 'caselib' ? helper::createLink($module, $method, "rootID=%s&type=byModule¶m=%s") : helper::createLink($module, $method, "rootID=%s&branch=&type=byModule¶m=%s"); + $this->view->viewType = $viewType; + $this->view->modules = $modules; + $this->view->modulesPinyin = $modulesPinyin; + $this->display(); + } + /** * AJAX: get modules. * diff --git a/module/tree/view/ajaxgetdropmenu.html.php b/module/tree/view/ajaxgetdropmenu.html.php new file mode 100644 index 0000000000..cf0445560a --- /dev/null +++ b/module/tree/view/ajaxgetdropmenu.html.php @@ -0,0 +1,17 @@ + + + + +search->common;?>'/> +
    +
    +
      + $module) + { + echo "
    • " . html::a(sprintf($link, $productID, $moduleID), " " . $module, '', "class='text-important'"). "
    • "; + } + ?> +
    +
    +
    From e5bc4d44b51ce20ae3f35d41726505759c967b5d Mon Sep 17 00:00:00 2001 From: daitingting Date: Fri, 12 May 2017 15:04:25 +0800 Subject: [PATCH 2/3] * Adjust codes. --- www/js/my.full.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/js/my.full.js b/www/js/my.full.js index 490c39e609..c440801148 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -87,7 +87,7 @@ function shortcut() */ function showSearchMenu(objectType, objectID, module, method, extra) { - var $toggle = $(objectType == 'branch' ? '#currentBranch' : '#currentItem').closest('li').toggleClass('show'); + var $toggle = $(objectType == 'branch' ? '#currentBranch' : (objectType == 'tree' ? '#currentModule' : '#currentItem')).closest('li').toggleClass('show'); if(!$toggle.hasClass('show')) return; var $menu = $toggle.find('#dropMenu'); var uuid = $.zui.uuid(); From 4e691243c61c2699ee545a1648a723410ed3a5bb Mon Sep 17 00:00:00 2001 From: daitingting Date: Fri, 12 May 2017 15:33:41 +0800 Subject: [PATCH 3/3] * Adjust style for create btn. --- module/bug/css/browse.css | 2 ++ module/testcase/css/browse.css | 2 ++ 2 files changed, 4 insertions(+) diff --git a/module/bug/css/browse.css b/module/bug/css/browse.css index 4b05fd42c7..88519fbb4c 100644 --- a/module/bug/css/browse.css +++ b/module/bug/css/browse.css @@ -15,3 +15,5 @@ .dropdown-list > li > a {display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.53846154; color: #141414; white-space: nowrap;} .dropdown-list > li > a:hover, .dropdown-list > li > a:focus {color: #1a4f85;text-decoration: none;background-color: #ddd;} + +.nav > li > .btn-group > a, .nav > li > .btn-group > a:hover, .nav > li > .btn-group > a:focus{background: #1a4f85; border-color: #164270;} diff --git a/module/testcase/css/browse.css b/module/testcase/css/browse.css index 877b99ebf5..1c74f0e6b0 100644 --- a/module/testcase/css/browse.css +++ b/module/testcase/css/browse.css @@ -16,3 +16,5 @@ tbody > tr > td > .btn-icon {margin-right: 3px;} tbody > tr > td .icon-bug {margin-left: -8px;} + +.nav > li > .btn-group > a, .nav > li > .btn-group > a:hover, .nav > li > .btn-group > a:focus{background: #1a4f85; border-color: #164270;}