From a24c58482ed1957918cf482c1c8ed122dde8d980 Mon Sep 17 00:00:00 2001 From: holan20180123 <56391770@qq.com> Date: Fri, 19 Mar 2021 09:02:01 +0800 Subject: [PATCH 1/6] * Fix get bug tree error. --- module/tree/model.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/module/tree/model.php b/module/tree/model.php index 2a6b8f9e78..2b6ba00adf 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -636,11 +636,6 @@ class treeModel extends model if($startModule) $startModulePath = $startModule->path . '%'; } - $manage = $userFunc[1] == 'createBugLink' ? true : false; - - /* if not manage, only get linked modules and ignore others. */ - if(!$manage) $executionModules = $this->getBugTreeModules($rootID, true); - /* Get module according to product. */ $productNum = count($products); foreach($products as $id => $product) From 08c42cf246dd5da998dcd89a652232e917ddbedf Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Fri, 19 Mar 2021 10:04:40 +0800 Subject: [PATCH 2/6] * Fix code. --- module/common/model.php | 2 +- module/personnel/control.php | 2 +- module/program/model.php | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/module/common/model.php b/module/common/model.php index 04917e4964..b6c1212ec3 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -698,7 +698,7 @@ class commonModel extends model if($currentModule == 'product' and $currentMethod == 'browse') $active = ''; if($currentModule == 'story') $active = ''; - $misc = $openApp != $lang->navGroup->$module ? "data-app='$openApp'" : ''; + $misc = isset($lang->navGroup->$module) and $openApp != $lang->navGroup->$module ? "data-app='$openApp'" : ''; $menuItemHtml = "
  • " . html::a($link, $label, $target, $misc) . $subMenu . "
  • \n"; echo $menuItemHtml; diff --git a/module/personnel/control.php b/module/personnel/control.php index 1249ba4f69..efa1c286f7 100644 --- a/module/personnel/control.php +++ b/module/personnel/control.php @@ -225,7 +225,7 @@ class personnel extends control public function setProgramMenu($programID = 0) { $this->loadModel('program'); - $this->lang->program->switcherMenu = $this->program->getSwitcher($programID, true); + $this->lang->program->switcherMenu = $this->program->getSwitcher($programID); commonModel::setAppObjectID('program', $programID); } } diff --git a/module/program/model.php b/module/program/model.php index 1c28de1157..4bf6fa82bc 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -372,7 +372,6 @@ class programModel extends model * Get program swapper. * * @param int $programID - * @param bool $active * @access private * @return string */ From a805f958b895cffe539ae9c2466f3dadc4a9db3b Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Fri, 19 Mar 2021 10:35:18 +0800 Subject: [PATCH 3/6] * Modify the method of linking products when creating a build. --- module/build/lang/de.php | 2 +- module/build/lang/en.php | 2 +- module/build/lang/fr.php | 2 +- module/build/lang/vi.php | 2 +- module/build/lang/zh-cn.php | 2 +- module/build/view/create.html.php | 3 +-- module/execution/control.php | 1 + module/product/control.php | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/module/build/lang/de.php b/module/build/lang/de.php index b0b86e3e36..8f68f4650b 100644 --- a/module/build/lang/de.php +++ b/module/build/lang/de.php @@ -45,7 +45,7 @@ $lang->build->unlinkBug = 'Bug Verknüpgung aufheben'; $lang->build->stories = "Abgeschlossene {$lang->SRCommon}"; $lang->build->bugs = 'Gelöster Bug'; $lang->build->generatedBugs = 'Left Bug'; -$lang->build->noProduct = " Dieses {$lang->executionCommon} ist nicht mit einem {$lang->productCommon} verknüpft, daher kann das Build nicht erstellt werden. Bitte erst {$lang->productCommon} verknüpfen."; +$lang->build->noProduct = " Dieses {$lang->executionCommon} ist nicht mit einem {$lang->productCommon} verknüpft, daher kann das Build nicht erstellt werden. Bitte erst {$lang->productCommon} verknüpfen."; $lang->build->noBuild = 'Keine Builds. '; $lang->build->notice = new stdclass(); diff --git a/module/build/lang/en.php b/module/build/lang/en.php index d8212d1511..d88c3855f5 100644 --- a/module/build/lang/en.php +++ b/module/build/lang/en.php @@ -45,7 +45,7 @@ $lang->build->unlinkBug = 'Unlink Bug'; $lang->build->stories = "Finished {$lang->SRCommon}"; $lang->build->bugs = 'Resolved Bugs'; $lang->build->generatedBugs = 'Reported Bugs'; -$lang->build->noProduct = " This {$lang->executionCommon} is not linked to {$lang->productCommon}, so the Build cannot be created. Please first link {$lang->productCommon}"; +$lang->build->noProduct = " This {$lang->executionCommon} is not linked to {$lang->productCommon}, so the Build cannot be created. Please first link {$lang->productCommon}"; $lang->build->noBuild = 'No builds yet.'; $lang->build->notice = new stdclass(); diff --git a/module/build/lang/fr.php b/module/build/lang/fr.php index c1ae861a86..c8bc850f73 100644 --- a/module/build/lang/fr.php +++ b/module/build/lang/fr.php @@ -45,7 +45,7 @@ $lang->build->unlinkBug = 'Retirer Bug'; $lang->build->stories = 'Stories terminées'; $lang->build->bugs = 'Bugs Résolus'; $lang->build->generatedBugs = 'Bugs signalés'; -$lang->build->noProduct = " Ce {$lang->executionCommon} n'est pas associé à un {$lang->productCommon}, le Build ne peut pas être créé. Commencez par rattacher le projet à un {$lang->productCommon}"; +$lang->build->noProduct = " Ce {$lang->executionCommon} n'est pas associé à un {$lang->productCommon}, le Build ne peut pas être créé. Commencez par rattacher le projet à un {$lang->productCommon}"; $lang->build->noBuild = 'Aucun builds.'; $lang->build->notice = new stdclass(); diff --git a/module/build/lang/vi.php b/module/build/lang/vi.php index db54213729..adf75db272 100644 --- a/module/build/lang/vi.php +++ b/module/build/lang/vi.php @@ -45,7 +45,7 @@ $lang->build->unlinkBug = 'Hủy liên kết Bug'; $lang->build->stories = "{$lang->SRCommon} đã kết thúc"; $lang->build->bugs = 'Bugs đã giải quyết'; $lang->build->generatedBugs = 'Bugs đã báo cáo'; -$lang->build->noProduct = " {$lang->executionCommon} này chưa liên kết tới {$lang->productCommon}, bởi vậy Bản dựng này không thể tạo. Vui lòng liên kết {$lang->productCommon} trước"; +$lang->build->noProduct = " {$lang->executionCommon} này chưa liên kết tới {$lang->productCommon}, bởi vậy Bản dựng này không thể tạo. Vui lòng liên kết {$lang->productCommon} trước"; $lang->build->noBuild = 'Không có bản dựng nào'; $lang->build->notice = new stdclass(); diff --git a/module/build/lang/zh-cn.php b/module/build/lang/zh-cn.php index d62cd8e7dc..82ae8b7752 100644 --- a/module/build/lang/zh-cn.php +++ b/module/build/lang/zh-cn.php @@ -45,7 +45,7 @@ $lang->build->unlinkBug = '移除Bug'; $lang->build->stories = "完成的{$lang->SRCommon}"; $lang->build->bugs = '解决的Bug'; $lang->build->generatedBugs = '产生的Bug'; -$lang->build->noProduct = " 该{$lang->executionCommon}没有关联{$lang->productCommon},无法创建版本,请先关联{$lang->productCommon}"; +$lang->build->noProduct = " 该{$lang->executionCommon}没有关联{$lang->productCommon},无法创建版本,请先关联{$lang->productCommon}"; $lang->build->noBuild = '暂时没有版本。'; $lang->build->notice = new stdclass(); diff --git a/module/build/view/create.html.php b/module/build/view/create.html.php index 40bc75208c..8c96ae8156 100644 --- a/module/build/view/create.html.php +++ b/module/build/view/create.html.php @@ -40,11 +40,10 @@ ?> -
    - build->noProduct, $this->createLink('execution', 'manageproducts', "executionID=$executionID&from=buildCreate"), $openApp);?> + build->noProduct, $this->createLink('execution', 'manageproducts', "executionID=$executionID&from=buildCreate", '', 'true'), $openApp);?>
    diff --git a/module/execution/control.php b/module/execution/control.php index 4d3c699636..4f44edaac5 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2090,6 +2090,7 @@ class execution extends control $diffProducts = array_merge(array_diff($oldProducts, $newProducts), array_diff($newProducts, $oldProducts)); if($diffProducts) $this->loadModel('action')->create($this->objectType, $executionID, 'Managed', '', !empty($_POST['products']) ? join(',', $_POST['products']) : ''); + if(isonlybody()) die(js::reload('parent')); die(js::locate($browseExecutionLink)); } diff --git a/module/product/control.php b/module/product/control.php index 1bef8db7f9..38de9e5cf7 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -818,10 +818,10 @@ class product extends control $products = $this->product->getProductPairsByProject($executionID); if(empty($products)) { - die(printf($this->lang->build->noProduct, $this->createLink('execution', 'manageproducts', "executionID=$executionID&from=buildCreate"), 'project')); + die(printf($this->lang->build->noProduct, $this->createLink('execution', 'manageproducts', "executionID=$executionID&from=buildCreate", '', 'true'), 'project')); } - die(html::select('product', $products, empty($product) ? '' : $product->id, "onchange='loadBranches(this.value);' class='form-control chosen' required")); + die(html::select('product', $products, empty($product) ? '' : $product->id, "onchange='loadBranches(this.value);' class='form-control chosen' required data-toggle='modal' data-type='iframe'")); } /** From b5434ed7707be09582944e2ccbc334fe64f6b095 Mon Sep 17 00:00:00 2001 From: holan20180123 <56391770@qq.com> Date: Fri, 19 Mar 2021 10:49:08 +0800 Subject: [PATCH 4/6] * Refresh block when finished todo. --- module/bug/control.php | 14 ++++++++++++++ module/bug/js/create.js | 4 ++++ module/bug/view/create.html.php | 1 + module/story/control.php | 13 +++++++++++++ module/story/js/create.js | 4 ++++ module/story/view/create.html.php | 1 + module/task/control.php | 13 +++++++++++++ module/task/js/create.js | 4 ++++ module/task/view/create.html.php | 1 + 9 files changed, 55 insertions(+) diff --git a/module/bug/control.php b/module/bug/control.php index 65a3f1e459..528b8d46b5 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -455,6 +455,7 @@ class bug extends control { $builds = $this->loadModel('build')->getExecutionBuildPairs($executionID, $productID, $branch, 'noempty,noterminate,nodone'); $stories = $this->story->getExecutionStoryPairs($executionID); + if(!$projectID) $projectID = $this->dao->select('project')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->fetch('project'); } else { @@ -496,6 +497,18 @@ class bug extends control $projects += $this->product->getProjectPairsByProduct($productID, $branch); } + /* Get block id of assinge to me. */ + $blockID = 0; + if(isonlybody()) + { + $blockID = $this->dao->select('id')->from(TABLE_BLOCK) + ->where('block')->eq('assingtome') + ->andWhere('module')->eq('my') + ->andWhere('account')->eq($this->app->user->account) + ->orderBy('order_desc') + ->fetch('id'); + } + /* Get executions. */ $executions = array('' => ''); if(isset($projects[$projectID])) $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID); @@ -541,6 +554,7 @@ class bug extends control $this->view->type = $type; $this->view->branch = $branch; $this->view->branches = $branches; + $this->view->blockID = $blockID; $this->view->color = $color; $this->view->stepsRequired = strpos($this->config->bug->create->requiredFields, 'steps'); $this->view->isStepsTemplate = $steps == $this->lang->bug->tplStep . $this->lang->bug->tplResult . $this->lang->bug->tplExpect ? true : false; diff --git a/module/bug/js/create.js b/module/bug/js/create.js index aa402fd61a..1e6ce04b0c 100644 --- a/module/bug/js/create.js +++ b/module/bug/js/create.js @@ -144,3 +144,7 @@ $(function() } }); }); + +$(window).unload(function(){ + if(blockID) window.parent.refreshBlock($('#block' + blockID)); +}); diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index d42be5ddbd..ec63fba5a6 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -24,6 +24,7 @@ js::set('stepsRequired', $stepsRequired); js::set('stepsNotEmpty', $lang->bug->stepsNotEmpty); js::set('isStepsTemplate', $isStepsTemplate); js::set('oldProjectID', $projectID); +js::set('blockID', $blockID); ?>
    diff --git a/module/story/control.php b/module/story/control.php index bef59542f5..b458382484 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -267,6 +267,18 @@ class story extends control } } + /* Get block id of assinge to me. */ + $blockID = 0; + if(isonlybody()) + { + $blockID = $this->dao->select('id')->from(TABLE_BLOCK) + ->where('block')->eq('assingtome') + ->andWhere('module')->eq('my') + ->andWhere('account')->eq($this->app->user->account) + ->orderBy('order_desc') + ->fetch('id'); + } + /* Set Custom. */ foreach(explode(',', $this->config->story->list->customCreateFields) as $field) $customFields[$field] = $this->lang->story->$field; $this->view->customFields = $customFields; @@ -297,6 +309,7 @@ class story extends control $this->view->verify = $verify; $this->view->keywords = $keywords; $this->view->mailto = $mailto; + $this->view->blockID = $blockID; $this->view->URS = $type == 'story' ? $this->story->getRequierements($productID) : ''; $this->view->needReview = ($this->app->user->account == $product->PO || $executionID > 0 || $this->config->story->needReview == 0) ? "checked='checked'" : ""; $this->view->type = $type; diff --git a/module/story/js/create.js b/module/story/js/create.js index 22cce69ff6..dcd3dd2c56 100644 --- a/module/story/js/create.js +++ b/module/story/js/create.js @@ -21,3 +21,7 @@ function refreshPlan() { $('a.refresh').click(); } + +$(window).unload(function(){ + if(blockID) window.parent.refreshBlock($('#block' + blockID)); +}); diff --git a/module/story/view/create.html.php b/module/story/view/create.html.php index 04fdee8ca2..8e367acfbe 100644 --- a/module/story/view/create.html.php +++ b/module/story/view/create.html.php @@ -12,6 +12,7 @@ ?> story->placeholder); ?> + diff --git a/module/task/control.php b/module/task/control.php index 716aa93ec3..8b03e21a5a 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -192,6 +192,18 @@ class task extends control } $stories = $this->story->getExecutionStoryPairs($executionID, 0, 0, $moduleIdList, 'full', 'unclosed'); + /* Get block id of assinge to me. */ + $blockID = 0; + if(isonlybody()) + { + $blockID = $this->dao->select('id')->from(TABLE_BLOCK) + ->where('block')->eq('assingtome') + ->andWhere('module')->eq('my') + ->andWhere('account')->eq($this->app->user->account) + ->orderBy('order_desc') + ->fetch('id'); + } + $title = $execution->name . $this->lang->colon . $this->lang->task->create; $position[] = html::a($taskLink, $execution->name); $position[] = $this->lang->task->common; @@ -214,6 +226,7 @@ class task extends control $this->view->stories = $stories; $this->view->testStoryIdList = $this->loadModel('story')->getTestStories(array_keys($stories), $execution->id); $this->view->members = $members; + $this->view->blockID = $blockID; $this->view->moduleOptionMenu = $moduleOptionMenu; $this->display(); } diff --git a/module/task/js/create.js b/module/task/js/create.js index 84453be652..3eaad47266 100644 --- a/module/task/js/create.js +++ b/module/task/js/create.js @@ -474,3 +474,7 @@ $('#modalTeam .btn').click(function() $('#estimate').val(time); }) }); + +$(window).unload(function(){ + if(blockID) window.parent.refreshBlock($('#block' + blockID)); +}); diff --git a/module/task/view/create.html.php b/module/task/view/create.html.php index 90ed3392ba..4786cb8a30 100644 --- a/module/task/view/create.html.php +++ b/module/task/view/create.html.php @@ -14,6 +14,7 @@ id));?> +
    From eda33b8a78040f91c89856b41ef67fbe25933b05 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Fri, 19 Mar 2021 10:59:54 +0800 Subject: [PATCH 5/6] * Fix menu. --- module/common/lang/zh-cn.php | 50 +++++------------------ module/story/control.php | 11 ++--- module/testtask/control.php | 1 + module/testtask/view/browseunits.html.php | 2 + 4 files changed, 17 insertions(+), 47 deletions(-) diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index e204f17fd2..f3459a0c53 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -383,19 +383,18 @@ $lang->qa->menu = new stdclass(); $lang->qa->menu->index = array('link' => '仪表盘|qa|index'); $lang->qa->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto'); $lang->qa->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'subModule' => 'testsuite,caselib', 'class' => 'dropdown dropdown-hover'); -$lang->qa->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report,importunitresult', 'class' => 'dropdown dropdown-hover'); +$lang->qa->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'subModule' => 'testreport', 'class' => 'dropdown dropdown-hover'); $lang->qa->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->qa->subMenu = new stdclass(); $lang->qa->subMenu->testcase = new stdclass(); -$lang->qa->subMenu->testcase->feature = array('link' => '功能测试|testcase|browse|productID=%s', 'subModule' => 'testcase,tree,story'); -$lang->qa->subMenu->testcase->unit = array('link' => '单元测试|testtask|browseUnits|productID=%s', 'alias' => 'browseunits'); +$lang->qa->subMenu->testcase->feature = array('link' => '用例|testcase|browse|productID=%s', 'subModule' => 'testcase,tree,story,testtask'); $lang->qa->subMenu->testcase->testsuite = array('link' => '套件|testsuite|browse|productID=%s', 'subModule' => 'testsuite'); $lang->qa->subMenu->testcase->caselib = array('link' => '用例库|caselib|browse|libID=0'); $lang->qa->subMenu->testtask = new stdclass(); $lang->qa->subMenu->testtask->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report,importunitresult'); -$lang->qa->subMenu->testtask->report = array('link' => '报告|testreport|browse|productID=%s', 'alias' => 'view,create,edit'); +$lang->qa->subMenu->testtask->report = array('link' => '报告|testreport|browse|productID=%s', 'alias' => 'view,edit'); $lang->qa->subMenu->automation = new stdclass(); $lang->qa->subMenu->automation->browse = array('link' => '介绍|automation|browse|productID=%s', 'alias' => ''); @@ -406,67 +405,38 @@ $lang->qa->subMenu->automation->browse = array('link' => '介绍|automation $lang->bug = new stdclass(); $lang->bug->menu = new stdclass(); +$lang->bug->menu = $lang->qa->menu; $lang->bug->subMenu = $lang->qa->subMenu; -$lang->bug->menu->index = array('link' => '仪表盘|qa|index'); -$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto', 'subModule' => 'tree'); -$lang->bug->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->bug->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->bug->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); - $lang->testcase = new stdclass(); $lang->testcase->menu = new stdclass(); +$lang->testcase->menu = $lang->qa->menu; $lang->testcase->subMenu = $lang->qa->subMenu; -$lang->testcase->menu->index = array('link' => '仪表盘|qa|index'); -$lang->testcase->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->testcase->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport,groupcase,importfromlib', 'subModule' => 'tree,story', 'class' => 'dropdown dropdown-hover'); -$lang->testcase->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->testcase->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->testtask = new stdclass(); $lang->testtask->menu = new stdclass(); +$lang->testtask->menu = $lang->qa->menu; $lang->testtask->subMenu = $lang->qa->subMenu; -$lang->testtask->menu->index = array('link' => '仪表盘|qa|index'); -$lang->testtask->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->testtask->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->testtask->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->testtask->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->testsuite = new stdclass(); $lang->testsuite->menu = new stdclass(); +$lang->testsuite->menu = $lang->qa->menu; $lang->testsuite->subMenu = $lang->qa->subMenu; -$lang->testsuite->menu->index = array('link' => '仪表盘|qa|index'); -$lang->testsuite->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->testsuite->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'subModule' => 'testsuite', 'class' => 'dropdown dropdown-hover'); -$lang->testsuite->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->testsuite->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->testreport = new stdclass(); $lang->testreport->menu = new stdclass(); +$lang->testreport->menu = $lang->qa->menu; $lang->testreport->subMenu = $lang->qa->subMenu; -$lang->testreport->menu->index = array('link' => '仪表盘|qa|index'); -$lang->testreport->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->testreport->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->testreport->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'subModule' => 'testreport', 'class' => 'dropdown dropdown-hover'); -$lang->testreport->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->caselib = new stdclass(); $lang->caselib->menu = new stdclass(); +$lang->caselib->menu = $lang->qa->menu; $lang->caselib->subMenu = $lang->qa->subMenu; -$lang->caselib->menu->index = array('link' => '仪表盘|qa|index'); -$lang->caselib->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->caselib->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'subModule' => 'caselib', 'class' => 'dropdown dropdown-hover'); -$lang->caselib->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->caselib->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->automation = new stdclass(); $lang->automation->menu = new stdclass(); +$lang->automation->menu = $lang->qa->menu; $lang->automation->subMenu = $lang->qa->subMenu; -$lang->automation->menu->index = array('link' => '仪表盘|qa|index'); -$lang->automation->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->automation->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'class' => 'dropdown dropdown-hover'); -$lang->automation->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'subModule' => 'testreport', 'class' => 'dropdown dropdown-hover'); -$lang->automation->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover'); $lang->ci = new stdclass(); $lang->ci->menu = new stdclass(); diff --git a/module/story/control.php b/module/story/control.php index e02b53952d..fd06cfa49e 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -1453,14 +1453,11 @@ class story extends control $this->lang->navGroup->story = $from; - if($from == 'project') + $moduleIndex = array_search('story', $this->lang->noMenuModule); + if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]); + if($from == 'qa') { - $moduleIndex = array_search('story', $this->lang->noMenuModule); - if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]); - } - else - { - $this->app->loadConfig('qa'); + $this->loadModel('qa'); foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa'; } diff --git a/module/testtask/control.php b/module/testtask/control.php index 6e4dffb9d2..7da93ff573 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -152,6 +152,7 @@ class testtask extends control /* Set menu. */ $productID = $this->product->saveState($productID, $this->products); $this->loadModel('testtask')->setUnitMenu($this->products, $productID); + $this->lang->testtask->menuOrder = $this->lang->testcase->menuOrder; /* Load pager. */ if($browseType == 'newest') $recPerPage = '10'; diff --git a/module/testtask/view/browseunits.html.php b/module/testtask/view/browseunits.html.php index 8055836e6f..dd396be7d4 100644 --- a/module/testtask/view/browseunits.html.php +++ b/module/testtask/view/browseunits.html.php @@ -96,6 +96,8 @@ $(function() { $('#UnitTab').addClass('selected'); $('#browseunitsTab').addClass('btn-active-text'); + $('#navbar li[data-id="testtask"]').removeClass('active'); + $('#navbar li[data-id="testcase"]').addClass('active'); }) From 3755648673e0629d23339dc5239afafcb5af24da Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Fri, 19 Mar 2021 11:20:35 +0800 Subject: [PATCH 6/6] * Fix qa menu. --- module/testcase/model.php | 13 ------- module/testreport/model.php | 9 ----- module/testsuite/model.php | 14 ------- module/testtask/model.php | 75 ------------------------------------- 4 files changed, 111 deletions(-) diff --git a/module/testcase/model.php b/module/testcase/model.php index 125ee96e4d..a69c10f514 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -28,20 +28,7 @@ class testcaseModel extends model public function setMenu($products, $productID, $branch = 0, $moduleID = 0, $suiteID = 0, $orderBy = 'id_desc') { $this->loadModel('product')->setMenu($products, $productID, $branch, $moduleID, 'case'); - $selectHtml = $this->product->select($products, $productID, 'testcase', 'browse', '', $branch, $moduleID, 'case'); - $pageNav = ''; - $pageActions = ''; - $isMobile = $this->app->viewType == 'mhtml'; - if($isMobile) - { - $this->app->loadLang('qa'); - $pageNav = html::a(helper::createLink('qa', 'index'), $this->lang->qa->index) . $this->lang->colon; - } - $pageNav .= $selectHtml; - - $this->lang->modulePageNav = $pageNav; - $this->lang->TRActions = $pageActions; foreach($this->lang->testcase->menu as $key => $menu) { if($this->lang->navGroup->testcase != 'qa') $this->loadModel('qa')->setSubMenu('testcase', $key, $productID); diff --git a/module/testreport/model.php b/module/testreport/model.php index c056675f9f..ebb194fb2d 100644 --- a/module/testreport/model.php +++ b/module/testreport/model.php @@ -23,16 +23,7 @@ class testreportModel extends model public function setMenu($products, $productID, $branch = 0) { $this->loadModel('product')->setMenu($products, $productID, $branch); - $selectHtml = $this->product->select($products, $productID, 'testreport', 'browse', $this->session->PRJ, $branch); - /* Remove branch. */ - if(strpos($selectHtml, 'currentBranch') !== false) $selectHtml = substr($selectHtml, 0, strrpos($selectHtml, "
    ")) . '
    '; - - $pageNav = $selectHtml; - $pageActions = ''; - - $this->lang->modulePageNav = $pageNav; - $this->lang->TRActions = $pageActions; foreach($this->lang->testtask->menu as $key => $value) { if($this->lang->navGroup->testreport != 'qa') $this->loadModel('qa')->setSubMenu('testreport', $key, $productID); diff --git a/module/testsuite/model.php b/module/testsuite/model.php index 276a88a081..6f67660d4e 100644 --- a/module/testsuite/model.php +++ b/module/testsuite/model.php @@ -24,21 +24,7 @@ class testsuiteModel extends model public function setMenu($products, $productID) { $this->loadModel('product')->setMenu($products, $productID); - $selectHtml = $this->select($products, $productID, 'testsuite', 'browse'); - if(strpos($selectHtml, 'currentBranch') !== false) $selectHtml = substr($selectHtml, 0, strrpos($selectHtml, "
    ")) . '
    '; - $pageNav = ''; - $pageActions = ''; - $isMobile = $this->app->viewType == 'mhtml'; - if($isMobile) - { - $this->app->loadLang('qa'); - $pageNav = html::a(helper::createLink('qa', 'index'), $this->lang->qa->index) . $this->lang->colon; - } - $pageNav .= $selectHtml; - - $this->lang->modulePageNav = $pageNav; - $this->lang->TRActions = $pageActions; foreach($this->lang->testsuite->menu as $key => $value) { if($this->config->global->flow == 'full' and $this->lang->navGroup->testcase != 'qa') $this->loadModel('qa')->setSubMenu('testsuite', $key, $productID); diff --git a/module/testtask/model.php b/module/testtask/model.php index d928652e23..e9f2a8ec35 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -24,42 +24,8 @@ class testtaskModel extends model public function setMenu($products, $productID, $branch = 0, $testtask = 0) { $this->loadModel('product')->setMenu($products, $productID, $branch); - $selectHtml = $this->product->select($products, $productID, 'testtask', 'browse', '', $branch); - - if($testtask and $this->app->viewType != 'mhtml') - { - $testtasks = $this->getProductTasks($productID, 0, 'id_desc', null, array('local', 'totalStatus'), 0, 0, $this->session->PRJ); - if(!isset($testtasks[$testtask])) $testtasks[$testtask] = $this->getById($testtask); - - $selectHtml .= "
    "; - $selectHtml .= "
    "; - $selectHtml .= "" . $testtasks[$testtask]->name . " "; - $selectHtml .= ""; - $selectHtml .= "
    "; - $selectHtml .= "
    "; - - $this->lang->TRActions = ''; - if(common::hasPriv('testtask', 'view')) $this->lang->TRActions .= html::a(helper::createLink('testtask', 'view', "taskID={$testtask->id}"), " " . $this->lang->testtask->view, '', "class='btn'"); - if(common::hasPriv('testreport', 'browse')) $this->lang->TRActions .= html::a(helper::createLink('testreport', 'browse', "objectID=$productID&objectType=product&extra={$testtask->id}"), " " . $this->lang->testtask->reportField, '', "class='btn'"); - } $this->app->loadLang('qa'); - $productIndex = $selectHtml; - - $pageNav = ''; - $pageActions = ''; - $isMobile = $this->app->viewType == 'mhtml'; - if($isMobile) - { - $this->app->loadLang('qa'); - $pageNav = html::a(helper::createLink('qa', 'index'), $this->lang->qa->index) . $this->lang->colon; - } - $pageNav .= $selectHtml; - - $this->lang->modulePageNav = $pageNav; - $this->lang->TRActions = $pageActions; foreach($this->lang->testtask->menu as $key => $value) { if($this->lang->navGroup->testtask != 'qa') $this->loadModel('qa')->setSubMenu('testtask', $key, $productID); @@ -93,48 +59,7 @@ class testtaskModel extends model public function setUnitMenu($products, $productID, $branch = 0, $testtask = 0) { $this->loadModel('product')->setMenu($products, $productID, $branch); - $selectHtml = $this->product->select($products, $productID, 'testtask', 'browseUnits', '', $branch); - if($testtask and $this->app->viewType != 'mhtml') - { - $testtasks = $this->getProductUnitTasks($productID, 'all', 'id_desc'); - if(!isset($testtasks[$testtask])) $testtasks[$testtask] = $this->getById($testtask); - - $selectHtml .= "
    "; - $selectHtml .= "
    "; - $selectHtml .= "" . $testtasks[$testtask]->name . " "; - $selectHtml .= ""; - $selectHtml .= "
    "; - $selectHtml .= "
    "; - } - - $this->app->loadLang('qa'); - $productIndex = '
    ' . html::a(helper::createLink('qa', 'index', 'locate=no'), $this->lang->qa->index, '', "class='btn'") . '
    '; - $productIndex .= $selectHtml; - - $pageNav = ''; - $pageActions = ''; - $isMobile = $this->app->viewType == 'mhtml'; - if($isMobile) - { - $this->app->loadLang('qa'); - $pageNav = html::a(helper::createLink('qa', 'index'), $this->lang->qa->index) . $this->lang->colon; - } - else - { - if($this->config->global->flow == 'full') - { - $this->app->loadLang('qa'); - $pageNav = '
    ' . html::a(helper::createLink('qa', 'index', 'locate=no'), $this->lang->qa->index, '', "class='btn'") . '
    '; - } - } - $pageNav .= $selectHtml; - - $this->lang->modulePageNav = $pageNav; - $this->lang->TRActions = $pageActions; - if($this->config->global->flow != 'full') $this->lang->testtask->menu = new stdclass(); foreach($this->lang->testtask->menu as $key => $value) { if($this->lang->navGroup->testcase != 'qa') $this->loadModel('qa')->setSubMenu('testtask', $key, $productID);