diff --git a/module/convert/model.php b/module/convert/model.php index c1b126e7c2..0ad2f141ab 100644 --- a/module/convert/model.php +++ b/module/convert/model.php @@ -961,13 +961,18 @@ EOT; * Convert stage. * * @param string $jiraStatus + * @param string $issueType + * @param array $relations * @access public * @return string */ - public function convertStage(string $jiraStatus, string $issueType): string + public function convertStage(string $jiraStatus, string $issueType, array $relations = array()): string { - $jiraRelation = $this->session->jiraRelation; - $relations = $jiraRelation ? json_decode($jiraRelation, true) : array(); + if(empty($relations)) + { + $jiraRelation = $this->session->jiraRelation; + $relations = $jiraRelation ? json_decode($jiraRelation, true) : array(); + } $stage = 'wait'; if(!empty($relations["zentaoStage$issueType"][$jiraStatus])) $stage = $relations["zentaoStage$issueType"][$jiraStatus]; @@ -982,13 +987,17 @@ EOT; * @param string $objectType * @param string $jiraStatus * @param string $issueType + * @param array $relations * @access public * @return string */ - public function convertStatus(string $objectType, string $jiraStatus, string $issueType): string + public function convertStatus(string $objectType, string $jiraStatus, string $issueType, array $relations = array()): string { - $jiraRelation = $this->session->jiraRelation; - $relations = $jiraRelation ? json_decode($jiraRelation, true) : array(); + if(empty($relations)) + { + $jiraRelation = $this->session->jiraRelation; + $relations = $jiraRelation ? json_decode($jiraRelation, true) : array(); + } if(!empty($relations["zentaoStatus{$issueType}"][$jiraStatus])) return $relations["zentaoStatus{$issueType}"][$jiraStatus]; diff --git a/module/convert/tao.php b/module/convert/tao.php index e5f4c32a64..6715aeb92d 100644 --- a/module/convert/tao.php +++ b/module/convert/tao.php @@ -1331,8 +1331,8 @@ class convertTao extends convertModel $story->pri = $data->priority; $story->version = 1; $story->grade = 1; - $story->stage = $this->convertStage($data->issuestatus, $data->issuetype); - $story->status = $this->convertStatus('story', $data->issuestatus, $data->issuetype); + $story->stage = $this->convertStage($data->issuestatus, $data->issuetype, $relations); + $story->status = $this->convertStatus('story', $data->issuestatus, $data->issuetype, $relations); $story->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $story->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null; $story->assignedTo = $this->getJiraAccount(isset($data->assignee) ? $data->assignee : ''); @@ -1425,7 +1425,7 @@ class convertTao extends convertModel $task->left = !empty($data->timeestimate) ? round($data->timeestimate / 3600) : 0; $task->consumed = !empty($data->timespent) ? round($data->timespent / 3600) : 0; $task->pri = $data->priority; - $task->status = $this->convertStatus('task', $data->issuestatus, $data->issuetype); + $task->status = $this->convertStatus('task', $data->issuestatus, $data->issuetype, $relations); $task->desc = isset($data->description) ? $data->description: ''; $task->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $task->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null; @@ -1492,7 +1492,7 @@ class convertTao extends convertModel $bug->execution = $executionID; $bug->title = $data->summary; $bug->pri = $data->priority; - $bug->status = $this->convertStatus('bug', $data->issuestatus, $data->issuetype); + $bug->status = $this->convertStatus('bug', $data->issuestatus, $data->issuetype, $relations); $bug->steps = isset($data->description) ? $data->description : ''; $bug->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $bug->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null; @@ -1559,7 +1559,7 @@ class convertTao extends convertModel $case->version = '1'; $case->title = $data->summary; $case->pri = $data->priority; - $case->status = $this->convertStatus('testcase', $data->issuestatus, $data->issuetype); + $case->status = $this->convertStatus('testcase', $data->issuestatus, $data->issuetype, $relations); $case->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $case->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null; @@ -1620,7 +1620,7 @@ class convertTao extends convertModel $feedback->title = $data->summary; $feedback->public = '1'; $feedback->pri = $data->priority; - $feedback->status = $this->convertStatus('feedback', $data->issuestatus, $data->issuetype); + $feedback->status = $this->convertStatus('feedback', $data->issuestatus, $data->issuetype, $relations); $feedback->desc = isset($data->description) ? $data->description : ''; $feedback->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $feedback->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null; @@ -1677,7 +1677,7 @@ class convertTao extends convertModel $ticket->title = $data->summary; $ticket->type = 'code'; $ticket->pri = $data->priority; - $ticket->status = $this->convertStatus('ticket', $data->issuestatus, $data->issuetype); + $ticket->status = $this->convertStatus('ticket', $data->issuestatus, $data->issuetype, $relations, $relations); $ticket->desc = isset($data->description) ? $data->description : ''; $ticket->openedBy = $this->getJiraAccount(isset($data->creator) ? $data->creator : ''); $ticket->openedDate = !empty($data->created) ? substr($data->created, 0, 19) : null;