From 4fbadc7da8a0ca095356357260f16fe7b20ca798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E5=88=9A?= Date: Tue, 8 Nov 2022 05:03:48 +0000 Subject: [PATCH] * Fix bug#29383 --- module/port/control.php | 2 ++ module/programplan/model.php | 3 +-- module/testcase/config.php | 4 ++-- module/testcase/model.php | 17 +++++++++++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/module/port/control.php b/module/port/control.php index 7735d908e0..6d5024230a 100755 --- a/module/port/control.php +++ b/module/port/control.php @@ -151,6 +151,8 @@ class port extends control $this->loadModel($model); $importFields = !empty($_SESSION[$model . 'TemplateFields']) ? $_SESSION[$model . 'TemplateFields'] : $this->config->$model->templateFields; + if($model == 'testcase' and !empty($_SESSION[$model . 'TemplateFields'])) $this->config->$model->templateFields = implode(',', $importFields); + $fields = $this->port->initFieldList($model, $importFields, false); $formatDatas = $this->port->format($model, $filter); $datas = $this->port->getPageDatas($formatDatas, $pagerID); diff --git a/module/programplan/model.php b/module/programplan/model.php index ed28923ff4..3402e2c654 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -1289,8 +1289,7 @@ class programplanModel extends model ->andWhere('code')->in($codes) ->beginIF($planIDList)->andWhere('id')->notin($planIDList)->fi() ->fetch('code'); - if($code) return $code; - return true; + return $code ? $code : true; } /** diff --git a/module/testcase/config.php b/module/testcase/config.php index 6f81249c92..4c1d5d936e 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -92,7 +92,7 @@ $config->testcase->datatable->fieldList['product']['dataSource'] = array('module $config->testcase->datatable->fieldList['module']['title'] = 'module'; $config->testcase->datatable->fieldList['module']['control'] = 'select'; -$config->testcase->datatable->fieldList['module']['dataSource'] = array('module' => 'tree', 'method' => 'getOptionMenu', 'params' => '$productID&case'); +$config->testcase->datatable->fieldList['module']['dataSource'] = array('module' => 'testcase', 'method' => 'getDatatableModules', 'params' => '$productID'); $config->testcase->datatable->fieldList['title']['title'] = 'title'; $config->testcase->datatable->fieldList['title']['fixed'] = 'left'; @@ -103,7 +103,7 @@ $config->testcase->datatable->fieldList['branch']['title'] = 'branch'; $config->testcase->datatable->fieldList['branch']['fixed'] = 'left'; $config->testcase->datatable->fieldList['branch']['width'] = '100'; $config->testcase->datatable->fieldList['branch']['required'] = 'no'; -$config->testcase->datatable->fieldList['branch']['dataSource'] = array('module' => 'port', 'method' => 'getRelatedObjects', 'params' => 'testcase&branch&id,name'); +$config->testcase->datatable->fieldList['branch']['dataSource'] = array('module' => 'branch', 'method' => 'getPairs', 'params' => '$productID'); $config->testcase->datatable->fieldList['pri']['title'] = 'priAB'; $config->testcase->datatable->fieldList['pri']['fixed'] = 'left'; diff --git a/module/testcase/model.php b/module/testcase/model.php index 3069493143..0c2fe2d24d 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -2633,4 +2633,21 @@ class testcaseModel extends model } return $stepData; } + + /** + * Get modules for datatable. + * + * @param int $productID + * @access public + * @return void + */ + public function getDatatableModules($productID) + { + $branches = $this->loadModel('branch')->getPairs($productID); + $modules = $this->loadModel('tree')->getOptionMenu($productID, 'case', ''); + if(count($branches) <= 1) return $modules; + + foreach($branches as $branchID => $branchName) $modules += $this->tree->getOptionMenu($productID, 'case', 0, $branchID); + return $modules; + } }