From a3f0f7ea58e2dcc742d3f31668adb0f54596b772 Mon Sep 17 00:00:00 2001 From: z Date: Fri, 24 Jul 2020 20:23:42 +0800 Subject: [PATCH] * finish task #7555. --- module/testtask/model.php | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/module/testtask/model.php b/module/testtask/model.php index e3d9208be6..a3f63d5b5d 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -398,15 +398,29 @@ class testtaskModel extends model } else { - $task = $this->dao->select("t1.*, t2.name AS productName, t2.type AS productType, t3.name AS projectName, t4.name AS buildName, if(t4.name != '', t4.branch, t5.branch) AS branch") - ->from(TABLE_TESTTASK)->alias('t1') - ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') - ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t1.project = t3.id') - ->leftJoin(TABLE_BUILD)->alias('t4')->on('t1.build = t4.id') - ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t5')->on('t1.project = t5.project') - ->where('t1.id')->eq((int)$taskID) - ->andWhere('((t1.project !=0 AND t5.product = t1.product) OR t1.project = 0)') - ->fetch(); + $task = $this->dao->select("*")->from(TABLE_TESTTASK)->where('id')->eq((int)$taskID)->fetch(); + if($task) + { + $product = $this->dao->select('name,type')->from(TABLE_PRODUCT)->where('id')->eq($task->product)->fetch(); + $task->productName = $product->name; + $task->productType = $product->type; + $task->branch = 0; + $task->projectName = ''; + $task->buildName = ''; + + if($task->project) + { + $task->projectName = $this->dao->select('name')->from(TABLE_PROJECT)->where('id')->eq($task->project)->fetch('name'); + $task->branch = $this->dao->select('branch')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($task->project)->andWhere('product')->eq($task->product)->fetch('branch'); + } + + $build = $this->dao->select('branch,name')->from(TABLE_BUILD)->where('id')->eq($task->build)->fetch(); + if($build) + { + $task->buildName = $build->name; + $task->branch = $build->branch; + } + } } if(!$task) return false;