From 5544a9ded5546ba8f9e3ad73ee828fdeab9d9794 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Tue, 9 Aug 2022 21:11:36 +0800 Subject: [PATCH] * Code for port. --- module/bug/config.php | 2 ++ module/bug/control.php | 2 +- module/bug/model.php | 6 +++--- module/port/config.php | 2 +- module/port/model.php | 13 ++++++++++++- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/module/bug/config.php b/module/bug/config.php index a66c5c6c63..d99545aa18 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -340,6 +340,8 @@ $config->bug->datatable->fieldList['resolvedBuild']['title'] = 'resolvedBuild $config->bug->datatable->fieldList['resolvedBuild']['fixed'] = 'no'; $config->bug->datatable->fieldList['resolvedBuild']['width'] = '120'; $config->bug->datatable->fieldList['resolvedBuild']['required'] = 'no'; +$config->bug->datatable->fieldList['resolvedBuild']['control'] = 'select'; +$config->bug->datatable->fieldList['resolvedBuild']['dataSource'] = array('module' => 'bug', 'method' =>'getRelatedObjects', 'params' => 'resolvedBuild&id,name'); $config->bug->datatable->fieldList['closedBy']['title'] = 'closedBy'; $config->bug->datatable->fieldList['closedBy']['fixed'] = 'no'; diff --git a/module/bug/control.php b/module/bug/control.php index a97880e16b..456cba0861 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -2293,7 +2293,7 @@ class bug extends control if($_POST) { $this->loadModel('port'); - $this->session->set('bugPortParams', array('productID' => $productID, 'executionID' => $executionID)); + $this->session->set('bugPortParams', array('productID' => $productID, 'executionID' => $executionID, 'branch' => 'all')); $this->port->export('bug'); $this->fetch('file', 'export2' . $_POST['fileType'], $_POST); } diff --git a/module/bug/model.php b/module/bug/model.php index 30993d7042..eefe04cf0c 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -3557,13 +3557,13 @@ class bugModel extends model foreach($bugs as $bug) $relatedObjectIdList[$bug->$object] = $bug->$object; - if($object == 'openedBuild') $object = 'build'; + if($object == 'openedBuild' or $object == 'resolvedBuild') $object = 'build'; /* Get related objects title or names. */ $table = $this->config->objectTables[$object]; - if($table) $relatedObjects = $this->dao->select($pairs)->from($table) ->where('id')->in($relatedObjectIdList)->fetchPairs(); + if($table) $relatedObjects = $this->dao->select($pairs)->from($table)->where('id')->in($relatedObjectIdList)->fetchPairs(); - if($object == 'build') $relatedObjects= array('trunk' => $this->lang->trunk) + $relatedObjects; + if(in_array($object, array('build','resolvedBuild'))) $relatedObjects= array('trunk' => $this->lang->trunk) + $relatedObjects; return $relatedObjects; } diff --git a/module/port/config.php b/module/port/config.php index bc1edbf3fc..fc8b481765 100644 --- a/module/port/config.php +++ b/module/port/config.php @@ -17,7 +17,7 @@ $config->port->datetimeFeilds = ''; $config->port->listFields = ''; $config->port->sysLangFields = ',pri,status,type,mode,severity,os,browser,resolution,confirmed,source,reviewResult,stage,change'; $config->port->sysDataFields = 'execution,product,user'; -$config->port->userFields = 'assignedTo,openedBy,finishedBy,canceledBy,closedBy,lastEditedBy,lastRunner,'; +$config->port->userFields = 'assignedTo,openedBy,finishedBy,canceledBy,closedBy,lastEditedBy,lastRunner,resolvedBy'; $config->port->import = new stdClass(); diff --git a/module/port/model.php b/module/port/model.php index f43b9fa7c5..4b4974ebcd 100644 --- a/module/port/model.php +++ b/module/port/model.php @@ -600,9 +600,20 @@ class portModel extends model { foreach($values as $field => $value) { + if(empty($value)) continue; if(in_array($field, $dataSourceList)) { - $rows[$id]->$field = zget($exportDatas[$field], $value); + if($fieldList[$field]['control'] == 'multiple') + { + $value = explode(',', $value); + $multiple = ''; + foreach($value as $tmpValue) $multiple .= "\n" . zget($exportDatas[$field], $tmpValue); + $rows[$id]->$field = $multiple; + } + else + { + $rows[$id]->$field = zget($exportDatas[$field], $value); + } } elseif(strpos($this->config->port->userFields, $field) !== false) {