From d38cfbd23e2bbf5f593c2212ab51d2c9378d6c0c Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Fri, 4 Jun 2021 22:16:11 +0800 Subject: [PATCH] * Finish task#38911. --- module/testtask/control.php | 6 +++--- module/testtask/model.php | 14 ++++++++++++++ module/testtask/view/edit.html.php | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/module/testtask/control.php b/module/testtask/control.php index 755885865e..0c4a35f008 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -244,7 +244,7 @@ class testtask extends control $executions = empty($productID) ? array() : $this->loadModel('product')->getExecutionPairsByProduct($productID, 0, 'id_desc', $projectID); $builds = empty($productID) ? array() : $this->loadModel('build')->getProductBuildPairs($productID, 0, 'notrunk', true); - $testreports = empty($build) ? array() : $this->dao->select('id,title')->from(TABLE_TESTREPORT)->where('builds')->like('%' . $build . '%')->fetchPairs('id','title'); + $testreports = $this->testtask->getTestReportPairsByBuild($build); /* Set menu. */ $productID = $this->product->saveState($productID, $this->products); @@ -750,7 +750,7 @@ class testtask extends control $projectID = $this->lang->navGroup->testtask == 'qa' ? 0 : $this->session->project; $executions = empty($productID) ? array() : $this->product->getExecutionPairsByProduct($productID, 0, 'id_desc', $projectID); $builds = empty($productID) ? array() : $this->loadModel('build')->getProductBuildPairs($productID, 0, 'notrunk', true); - $testreports = $this->dao->select('id,title')->from(TABLE_TESTREPORT)->where('builds')->like('%' . $task->build . '%')->fetchPairs('id','title'); + $testreports = $this->testtask->getTestReportPairsByBuild($task->build); $this->view->task = $task; $this->view->executions = $executions; @@ -1451,7 +1451,7 @@ class testtask extends control public function ajaxGetTestReports($buildID) { /* Testreport list. */ - $pairs = $this->dao->select('id,title')->from(TABLE_TESTREPORT)->where('builds')->like('%' . $buildID . '%')->fetchPairs('id','title'); + $pairs = $this->testtask->getTestReportPairsByBuild($buildID); die(html::select('testreport', $pairs, '', "class='form-control chosen'")); } } diff --git a/module/testtask/model.php b/module/testtask/model.php index 075602b660..f9ef55c25e 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -492,6 +492,20 @@ class testtaskModel extends model ->fetchAll(); } + /** + * Get test report pairs by build. + * + * @param string $build + * @access public + * @return array + */ + public function getTestReportPairsByBuild($build = '') + { + if(empty($build)) return array(); + + return $this->dao->select('id,title')->from(TABLE_TESTREPORT)->where("CONCAT(',', builds, ',')")->like("%,$build,%")->fetchPairs('id','title'); + } + /** * Get related test tasks. * diff --git a/module/testtask/view/edit.html.php b/module/testtask/view/edit.html.php index 888e3ae0c3..73ddc6c136 100644 --- a/module/testtask/view/edit.html.php +++ b/module/testtask/view/edit.html.php @@ -36,7 +36,7 @@ testtask->build;?> - build, "class='form-control chosen'");?> + build, "class='form-control chosen' onchange='loadTestReports(this.value)'");?>