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 @@