From 0a10378c6a2561e2dc4ece0e1f46f211f716399f Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Thu, 13 May 2021 09:29:41 +0800 Subject: [PATCH] * Add the related test report for create testtask. --- db/update15.0.sql | 1 + db/zentao.sql | 1 + module/build/control.php | 6 +++--- module/testtask/control.php | 14 ++++++++++++++ module/testtask/js/common.js | 24 ++++++++++++++++++++++++ module/testtask/js/create.js | 2 +- module/testtask/lang/de.php | 1 + module/testtask/lang/en.php | 1 + module/testtask/lang/fr.php | 1 + module/testtask/lang/vi.php | 1 + module/testtask/lang/zh-cn.php | 1 + module/testtask/lang/zh-tw.php | 1 + module/testtask/view/create.html.php | 8 ++++++-- 13 files changed, 56 insertions(+), 6 deletions(-) diff --git a/db/update15.0.sql b/db/update15.0.sql index 0454c02f16..381574d0b3 100644 --- a/db/update15.0.sql +++ b/db/update15.0.sql @@ -1,3 +1,4 @@ ALTER TABLE `zt_project` CHANGE `lifetime` `lifetime` char(30) NOT NULL DEFAULT ''; ALTER TABLE `zt_story` ADD `category` varchar(30) NOT NULL DEFAULT 'feature' AFTER `type`; ALTER TABLE `zt_testtask` ADD `type` varchar(255) NOT NULL DEFAULT '' AFTER `build`; +ALTER TABLE `zt_testtask` ADD `testreport` mediumint(8) unsigned NOT NULL AFTER `status`; diff --git a/db/zentao.sql b/db/zentao.sql index 19468f47c2..be5c3a333c 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1060,6 +1060,7 @@ CREATE TABLE IF NOT EXISTS `zt_testtask` ( `desc` text NOT NULL, `report` text NOT NULL, `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait', + `testreport` mediumint(8) unsigned NOT NULL, `auto` varchar(10) NOT NULL DEFAULT 'no', `subStatus` varchar(30) NOT NULL default '', `deleted` enum('0','1') NOT NULL default '0', diff --git a/module/build/control.php b/module/build/control.php index 98a8af08d8..bca492741a 100644 --- a/module/build/control.php +++ b/module/build/control.php @@ -373,10 +373,10 @@ class build extends control } if($varName == 'testTaskBuild') { - $builds = $this->build->getExecutionBuildPairs($executionID, $productID, $branch, 'noempty,notrunk'); + $builds = array('' => '') + $this->build->getExecutionBuildPairs($executionID, $productID, $branch, 'noempty,notrunk'); if($isJsonView) die(json_encode($builds)); - if(empty($builds)) + if(empty(array_filter($builds))) { $projectID = $this->dao->select('project')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->fetch('project'); @@ -385,7 +385,7 @@ class build extends control $html .= html::a("javascript:loadExecutionBuilds($executionID)", $this->lang->refresh); die($html); } - die(html::select('build', $builds, $build, "class='form-control'")); + die(html::select('build', $builds, $build, "class='form-control' onchange='loadTestReports(this.value)'")); } if($varName == 'dropdownList') { diff --git a/module/testtask/control.php b/module/testtask/control.php index 5d502fa5cd..b58ea0f8e8 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1413,4 +1413,18 @@ class testtask extends control $pairs = $this->testtask->getPairs($productID, $executionID); die(html::select('testtask', $pairs, '', "class='form-control chosen'")); } + + /** + * Ajax get test report. + * + * @param int $buildID + * @access public + * @return void + */ + public function ajaxGetTestReports($buildID) + { + /* Testreport list. */ + $pairs = $this->dao->select('id,title')->from(TABLE_TESTREPORT)->where('builds')->like('%' . $buildID . '%')->fetchPairs('id','title'); + die(html::select('testreport', $pairs, '', "class='form-control chosen'")); + } } diff --git a/module/testtask/js/common.js b/module/testtask/js/common.js index b787ef3e37..106e78fb92 100644 --- a/module/testtask/js/common.js +++ b/module/testtask/js/common.js @@ -91,6 +91,30 @@ function loadExecutionBuilds(executionID) { $('#resolvedBuild').attr('id', 'build').attr('name', 'build').find('option[value=trunk]').remove(); $('#build').chosen(); + + testreportData = ''; + $('#testreport').replaceWith(testreportData); + $('#testreport_chosen').remove(); + $("#testreport").chosen(); + }); +} + +/** + * Load test report. + * + * @param int buildID + * @access public + * @return void + */ +function loadTestReports(buildID) +{ + link = createLink('testtask', 'ajaxGetTestReports', 'buildID=' + buildID); + $.get(link, function(data) + { + if(!data) data = ''; + $('#testreport').replaceWith(data); + $('#testreport_chosen').remove(); + $("#testreport").chosen(); }); } diff --git a/module/testtask/js/create.js b/module/testtask/js/create.js index ac64d00a46..82dc7b9588 100755 --- a/module/testtask/js/create.js +++ b/module/testtask/js/create.js @@ -7,7 +7,7 @@ function loadProductRelated() { loadExecutions($('#product').val()); - data = ''; + data = ''; $('#build').replaceWith(data); $('#build_chosen').remove(); $("#build").chosen(); diff --git a/module/testtask/lang/de.php b/module/testtask/lang/de.php index d12016a28d..dc4a0b6a68 100644 --- a/module/testtask/lang/de.php +++ b/module/testtask/lang/de.php @@ -72,6 +72,7 @@ $lang->testtask->desc = 'Beschreibung'; $lang->testtask->mailto = 'Mail an'; $lang->testtask->status = 'Status'; $lang->testtask->subStatus = 'Sub Status'; +$lang->testtask->testreport = 'Test Report'; $lang->testtask->assignedTo = 'Zugeordnet'; $lang->testtask->linkVersion = 'Version'; $lang->testtask->lastRunAccount = 'Ausgeführt von'; diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 057257218e..858ad2ff24 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -75,6 +75,7 @@ $lang->testtask->desc = 'Description'; $lang->testtask->mailto = 'Mailto'; $lang->testtask->status = 'Status'; $lang->testtask->subStatus = 'Sub Status'; +$lang->testtask->testreport = 'Test Report'; $lang->testtask->assignedTo = 'Assigned'; $lang->testtask->linkVersion = 'Build'; $lang->testtask->lastRunAccount = 'RunBy'; diff --git a/module/testtask/lang/fr.php b/module/testtask/lang/fr.php index 1169714119..0dcb510c1d 100644 --- a/module/testtask/lang/fr.php +++ b/module/testtask/lang/fr.php @@ -72,6 +72,7 @@ $lang->testtask->desc = 'Description'; $lang->testtask->mailto = 'Mailto'; $lang->testtask->status = 'Statut'; $lang->testtask->subStatus = 'Sous-statut'; +$lang->testtask->testreport = 'Test Report'; $lang->testtask->assignedTo = 'Affecté'; $lang->testtask->linkVersion = 'Build'; $lang->testtask->lastRunAccount = 'Jouée par'; diff --git a/module/testtask/lang/vi.php b/module/testtask/lang/vi.php index 95907cb5f6..feb753a930 100644 --- a/module/testtask/lang/vi.php +++ b/module/testtask/lang/vi.php @@ -72,6 +72,7 @@ $lang->testtask->desc = 'Mô tả'; $lang->testtask->mailto = 'Mail tới'; $lang->testtask->status = 'Tình trạng'; $lang->testtask->subStatus = 'Tình trạng con'; +$lang->testtask->testreport = 'Test Report'; $lang->testtask->assignedTo = 'Đã giao'; $lang->testtask->linkVersion = 'Bản dựng'; $lang->testtask->lastRunAccount = 'Chạy bởi'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 13e956d258..7e55095087 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -75,6 +75,7 @@ $lang->testtask->desc = '描述'; $lang->testtask->mailto = '抄送给'; $lang->testtask->status = '当前状态'; $lang->testtask->subStatus = '子状态'; +$lang->testtask->testreport = '相关测试报告'; $lang->testtask->assignedTo = '指派给'; $lang->testtask->linkVersion = '版本'; $lang->testtask->lastRunAccount = '执行人'; diff --git a/module/testtask/lang/zh-tw.php b/module/testtask/lang/zh-tw.php index 80c4df932b..b3829845bf 100644 --- a/module/testtask/lang/zh-tw.php +++ b/module/testtask/lang/zh-tw.php @@ -75,6 +75,7 @@ $lang->testtask->desc = '描述'; $lang->testtask->mailto = '抄送給'; $lang->testtask->status = '當前狀態'; $lang->testtask->subStatus = '子狀態'; +$lang->testtask->testreport = '相關測試報告'; $lang->testtask->assignedTo = '指派給'; $lang->testtask->linkVersion = '版本'; $lang->testtask->lastRunAccount = '執行人'; diff --git a/module/testtask/view/create.html.php b/module/testtask/view/create.html.php index 0820726f43..1392b5effb 100644 --- a/module/testtask/view/create.html.php +++ b/module/testtask/view/create.html.php @@ -24,7 +24,7 @@
| testtask->product;?> | +testtask->product;?> | testtask->build;?> |
-
+
build->create, '', "data-toggle='modal' data-type='iframe' data-width='95%'")?>
@@ -78,6 +78,10 @@
| testtask->status;?> | testtask->statusList, '', "class='form-control chosen'");?> | +
|---|---|---|---|
| testtask->testreport;?> | ++ | ||
| testtask->name;?> | |||