From 8624ceb224c5f696729204c0cd7f492c0b552dc5 Mon Sep 17 00:00:00 2001 From: daitingting Date: Mon, 8 May 2017 15:08:42 +0800 Subject: [PATCH 1/9] * Adjust codes for test working. --- module/build/control.php | 1 - module/build/css/common.css | 2 + module/build/view/create.html.php | 4 +- module/common/lang/zh-cn.php | 71 ++++++++++++++++-------- module/common/model.php | 2 + module/product/control.php | 7 +++ module/product/model.php | 2 +- module/testcase/view/caseheader.html.php | 2 +- module/testtask/view/caseheader.html.php | 2 +- module/testtask/view/view.html.php | 4 +- 10 files changed, 68 insertions(+), 29 deletions(-) diff --git a/module/build/control.php b/module/build/control.php index cb0ded9016..d9b1fa94ba 100644 --- a/module/build/control.php +++ b/module/build/control.php @@ -154,7 +154,6 @@ class build extends control $this->view->product = isset($productGroups[$build->product]) ? $productGroups[$build->product] : ''; $this->view->branches = (isset($productGroups[$build->product]) and $productGroups[$build->product]->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($build->product); $this->view->orderBy = $orderBy; - $this->display(); } $this->view->productGroups = $productGroups; diff --git a/module/build/css/common.css b/module/build/css/common.css index 6713806d72..c5a9e68b1f 100644 --- a/module/build/css/common.css +++ b/module/build/css/common.css @@ -4,3 +4,5 @@ .green {color:green} input[type=checkbox].ml-10px{margin-left:10px;} .pdl-8px{padding-left:8px;} + +.input-group > .input-group-addon.fix-padding{padding: 0;} diff --git a/module/build/view/create.html.php b/module/build/view/create.html.php index fc78b928e9..7d3e7631f1 100644 --- a/module/build/view/create.html.php +++ b/module/build/view/create.html.php @@ -24,7 +24,7 @@ - config->global->flow == 'onlyTest'):?> + - + @@ -64,4 +64,10 @@
build->product;?>
id, "onchange='loadBranches(this.value);' class='form-control chosen'");?> @@ -32,7 +32,7 @@ if($product->type != 'normal') { if($product->branch) $branches = array($product->branch => $branches[$product->branch]); - echo html::select('branch', $branches, $product->branch, "class='form-control' style='width:100px; display:inline-block;'"); + echo "" . html::select('branch', $branches, $product->branch, "class='form-control' style='width:100px; display:inline-block;'"); } ?>
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 663207401b..82201e6a38 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -653,18 +653,22 @@ if($config->global->flow == 'onlyTest') unset($lang->project->menu); unset($lang->project->menuOrder); - /* 增加缺陷管理、用例管理和测试任务视图 */ - $lang->menu->bug = 'Bug|bug|index'; - $lang->menu->testcase = '用例|testcase|index'; - $lang->menu->testtask = '测试|testtask|index'; + /* Add bug, testcase and testtask module. */ + $lang->menu->bug = 'Bug|bug|index'; + $lang->menu->testcase = '用例|testcase|index'; + $lang->menu->testtask = '测试|testtask|index'; + $lang->menu->testsuite = '套件|testsuite|index'; + $lang->menu->testreport = '报告|testreport|browse'; - $lang->menuOrder[6] = 'bug'; - $lang->menuOrder[7] = 'testcase'; - $lang->menuOrder[8] = 'testtask'; - - /* 调整缺陷管理的二级菜单 */ - $lang->bug->menu = new stdclass(); + $lang->menuOrder[6] = 'bug'; + $lang->menuOrder[7] = 'testcase'; + $lang->menuOrder[8] = 'testtask'; + $lang->menuOrder[9] = 'testsuite'; + $lang->menuOrder[10] = 'testreport'; + $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'); @@ -673,9 +677,8 @@ if($config->global->flow == 'onlyTest') $lang->bug->menuOrder[10] = 'browse'; $lang->bug->menuOrder[15] = 'create'; - /* 调整用例管理的二级菜单 */ - $lang->testcase->menu = new stdclass(); - + /* 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->create = array('link' => '创建用例|testcase|create|productID=%s'); @@ -684,9 +687,8 @@ if($config->global->flow == 'onlyTest') $lang->testcase->menuOrder[10] = 'browse'; $lang->testcase->menuOrder[15] = 'create'; - /* 调整测试任务的二级菜单 */ - $lang->testtask->menu = new stdclass(); - + /* 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'); @@ -695,7 +697,29 @@ if($config->global->flow == 'onlyTest') $lang->testtask->menuOrder[10] = 'browse'; $lang->testtask->menuOrder[15] = 'create'; - /* 调整产品视图的二级菜单 */ + /* Adjust sub menu of bug module. */ + $lang->testsuite->menu = new stdclass(); + $lang->testsuite->menu->product = '%s'; + $lang->testsuite->menu->browse = array('link' => '浏览套件|testsuite|browse|productID=%s', 'alias' => 'linkcase,edit,view'); + $lang->testsuite->menu->caselib = array('link' => '用例库|testsuite|library', 'alias' => 'createcase,libview,edit,batchcreatecase,showimport', 'subModule' => 'tree,testcase'); + + $lang->testsuite->menuOrder[5] = 'product'; + $lang->testsuite->menuOrder[10] = 'browse'; + $lang->testsuite->menuOrder[15] = 'create'; + + /* Adjust sub menu of caselib module. */ + $lang->caselib->menu = new stdclass(); + $lang->caselib->menu->lib = array('link' => '%s', 'fixed' => true); + $lang->caselib->menu->testsuite = array('link' => '浏览套件|testsuite|browse|productID=%s', 'alias' => 'linkcase,edit,view'); + $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'); + + /* Adjust sub menu of report module. */ + $lang->testreport->menu = new stdclass(); + $lang->testreport->menu->product = '%s'; + $lang->testreport->menu->browse = array('link' => '浏览报告|testreport|browse|productID=%s', 'alias' => 'create,edit,view'); + + /* Adjust sub menu of product module. */ unset($lang->product->menu->story); unset($lang->product->menu->project); unset($lang->product->menu->release); @@ -714,12 +738,15 @@ if($config->global->flow == 'onlyTest') $lang->build->menu = $lang->product->menu; $lang->build->menuOrder = $lang->product->menuOrder; - /* 调整菜单分组 */ - $lang->menugroup->bug = 'bug'; - $lang->menugroup->testcase = 'testcase'; - $lang->menugroup->testtask = 'testtask'; + /* Adjust menu group. */ + $lang->menugroup->bug = 'bug'; + $lang->menugroup->testcase = 'testcase'; + $lang->menugroup->testtask = 'testtask'; + $lang->menugroup->testsuite = 'testsuite'; + $lang->menugroup->testreport = 'testreport'; + $lang->menugroup->build = 'product'; - /* 调整搜索项 */ + /* Adjust search objects. */ unset($lang->searchObjects['story']); unset($lang->searchObjects['task']); unset($lang->searchObjects['release']); diff --git a/module/common/model.php b/module/common/model.php index 92d4c89e3d..21a96ac557 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1235,6 +1235,8 @@ class commonModel extends model */ public static function setMenuVars($menu, $key, $params) { + if(!isset($menu->$key)) return false; + if(is_array($params)) { if(is_array($menu->$key)) diff --git a/module/product/control.php b/module/product/control.php index b800235bc5..c66a4187b6 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -662,6 +662,13 @@ class product extends control $this->locate($this->createLink('doc', 'objectLibs', "type=product&objectID=$productID&from=product")); } + /** + * Build of product. + * + * @param int $productID + * @access public + * @return void + */ public function build($productID = 0) { $this->app->loadLang('build'); diff --git a/module/product/model.php b/module/product/model.php index a415deb3a3..ccb722d645 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -828,7 +828,7 @@ class productModel extends model public function getProductLink($module, $method, $extra, $branch = false) { $link = ''; - if(strpos('product,roadmap,bug,testcase,testtask,story,qa,testsuite,testreport', $module) !== false) + if(strpos('product,roadmap,bug,testcase,testtask,story,qa,testsuite,testreport,build', $module) !== false) { if($module == 'product' && $method == 'project') { diff --git a/module/testcase/view/caseheader.html.php b/module/testcase/view/caseheader.html.php index 6bc9a4a886..36fec7c0f3 100644 --- a/module/testcase/view/caseheader.html.php +++ b/module/testcase/view/caseheader.html.php @@ -23,7 +23,7 @@ if(isset($menuItem->hidden)) continue; $menuType = $menuItem->name; if(!$config->testcase->needReview and $menuType == 'wait') continue; - if($this->config->global->flow == 'onlyTest' and $menuType == 'needconfirm') continue; + if($this->config->global->flow == 'onlyTest' and (strpos(',needconfirm,group,zerocase,', ',' . $menuType . ',') !== false)) continue; if($hasBrowsePriv and strpos($menuType, 'QUERY') === 0) { $queryID = (int)substr($menuType, 5); diff --git a/module/testtask/view/caseheader.html.php b/module/testtask/view/caseheader.html.php index 9d6daed6a5..40dcdb0012 100644 --- a/module/testtask/view/caseheader.html.php +++ b/module/testtask/view/caseheader.html.php @@ -24,7 +24,7 @@ if($hasCasesPriv) echo "
  • " . html::a($this->inlink('cases', "taskID=$taskID&browseType=all¶m=0"), $lang->testtask->allCases) . "
  • "; if($hasCasesPriv) echo "
  • " . html::a($this->inlink('cases', "taskID=$taskID&browseType=assignedtome¶m=0"), $lang->testtask->assignedToMe) . "
  • "; - if($hasGroupPriv) + if($hasGroupPriv and $this->config->global->flow != 'onlyTest') { echo "
    story->priList, $story->pri, $story->pri);?>'>story->priList, $story->pri, $story->pri)?>createLink('story', 'view', "storyID=$story->id"), $story->title);?>createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?> openedBy];?> assignedTo];?> estimate;?>
    - + diff --git a/module/productplan/view/linkbug.html.php b/module/productplan/view/linkbug.html.php index 7418e70624..36840814f1 100644 --- a/module/productplan/view/linkbug.html.php +++ b/module/productplan/view/linkbug.html.php @@ -41,7 +41,7 @@ include '../../common/view/tablesorter.html.php'; createLink('bug', 'view', "bugID=$bug->id"), $bug->id);?> bug->priList, $bug->pri, $bug->pri);?>'>bug->priList, $bug->pri, $bug->pri)?> - createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?> + createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?> openedBy];?> assignedTo];?> bug->statusList[$bug->status];?> @@ -65,4 +65,10 @@ include '../../common/view/tablesorter.html.php'; - + diff --git a/module/release/view/linkbug.html.php b/module/release/view/linkbug.html.php index c6fd55fd73..f1d5350f27 100644 --- a/module/release/view/linkbug.html.php +++ b/module/release/view/linkbug.html.php @@ -38,7 +38,7 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm'; createLink('bug', 'view', "bugID=$bug->id"), $bug->id);?> bug->priList, $bug->pri, $bug->pri);?>'>bug->priList, $bug->pri, $bug->pri)?> - createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?> + createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?> openedBy];?> resolvedBy];?> bug->statusList[$bug->status];?> @@ -62,4 +62,10 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm'; - + diff --git a/module/release/view/linkstory.html.php b/module/release/view/linkstory.html.php index 9a25faa22c..9d4754e70f 100644 --- a/module/release/view/linkstory.html.php +++ b/module/release/view/linkstory.html.php @@ -36,7 +36,7 @@ createLink('story', 'view', "storyID=$story->id"), $story->id);?> story->priList, $story->pri, $story->pri);?>'>story->priList, $story->pri, $story->pri)?> - createLink('story', 'view', "storyID=$story->id"), $story->title);?> + createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?> openedBy];?> assignedTo];?> estimate;?> @@ -62,4 +62,10 @@ - + From 488a26fbcff6d90b9f337b675a92b26136fa04b5 Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 9 May 2017 13:43:49 +0800 Subject: [PATCH 7/9] * Adjust codes. --- module/story/config.php | 2 +- module/story/view/batchcreate.html.php | 23 ++++++----------------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/module/story/config.php b/module/story/config.php index ebd0286a6b..9c20ecbe3f 100644 --- a/module/story/config.php +++ b/module/story/config.php @@ -38,7 +38,7 @@ $config->story->list->exportFields = ' childStories, linkStories, duplicateStory, files'; $config->story->list->customCreateFields = 'source,verify,pri,estimate,mailto,keywords'; -$config->story->list->customBatchCreateFields = 'module,plan,source,spec,verify,pri,estimate,review,keywords'; +$config->story->list->customBatchCreateFields = 'module,plan,spec,source,verify,pri,estimate,review,keywords'; $config->story->list->customBatchEditFields = 'module,plan,estimate,pri,assignedTo,source,stage,closedBy,closedReason,keywords'; $config->story->custom = new stdclass(); diff --git a/module/story/view/batchcreate.html.php b/module/story/view/batchcreate.html.php index 948d572418..3ba9e101d6 100644 --- a/module/story/view/batchcreate.html.php +++ b/module/story/view/batchcreate.html.php @@ -68,16 +68,12 @@ if($this->story->checkForceReview()) unset($visibleFields['review']);
    story->colorTag}' data-update-text='#title\\[{$i}\\]'");?> -
    - - '> -
    -
    + '> '> '> ' style='overflow:visible'> @@ -104,16 +100,12 @@ if($this->story->checkForceReview()) unset($visibleFields['review']);
    story->colorTag}' data-update-text='#title\\[{$i}\\]'");?> -
    - - '> -
    -
    + '> '> '> ' style='overflow:visible'> @@ -134,17 +126,14 @@ if($this->story->checkForceReview()) unset($visibleFields['review']); ' style='overflow:visible'>
    - story->colorTag}' data-update-text='#title\\[%s\\]'");?> - -
    - - '> -
    + story->colorTag}' data-update-text='#title\\[%s\\]'");?> + -
    + + '> '> '> ' style='overflow:visible'> From d78dcc6e452d7e150efc4a9b35fe71ab683c440a Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 9 May 2017 14:03:17 +0800 Subject: [PATCH 8/9] * Adjust codes. --- module/common/lang/zh-cn.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 82201e6a38..a3560b2f26 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -555,7 +555,7 @@ $lang->icons['confirmStoryChange'] = 'search'; include (dirname(__FILE__) . '/menuOrder.php'); global $config; -if($config->global->flow == 'onlyStory') +if(isset($config->global->flow) and $config->global->flow == 'onlyStory') { /* Remove project, report and qa module. */ unset($lang->menu->project); @@ -588,7 +588,7 @@ if($config->global->flow == 'onlyStory') unset($lang->searchObjects['testtask']); } -if($config->global->flow == 'onlyTask') +if(isset($config->global->flow) and $config->global->flow == 'onlyTask') { /* Remove product, report and qa module. */ unset($lang->menu->product); @@ -629,7 +629,7 @@ if($config->global->flow == 'onlyTask') unset($lang->searchObjects['testtask']); } -if($config->global->flow == 'onlyTest') +if(isset($config->global->flow) and $config->global->flow == 'onlyTest') { /* Remove project and test module. */ unset($lang->menu->project); From 0f28e3cd525144c47e5cd02142018c526d6541c3 Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 9 May 2017 14:09:52 +0800 Subject: [PATCH 9/9] * Adjust codes. --- framework/router.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/router.class.php b/framework/router.class.php index 6af59bd17b..7620e86a78 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -43,7 +43,7 @@ class router extends baseRouter global $config; if(!isset($config->global)) $config->global = new stdclass(); $flow = $this->dbh->query('SELECT value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND `module`='common' AND `key`='flow'")->fetch(); - $config->global->flow = $flow->value; + if($flow) $config->global->flow = $flow->value; try {