diff --git a/module/projectrelease/control.php b/module/projectrelease/control.php index 6f3966c6a6..c1e960370b 100644 --- a/module/projectrelease/control.php +++ b/module/projectrelease/control.php @@ -275,19 +275,7 @@ class projectrelease extends control */ public function export(int $releaseID) { - if(!empty($_POST)) - { - $release = $this->release->getByID($releaseID); - $type = $this->post->type; - - $html = ''; - if($type == 'story' || $type == 'all') $html .= $this->projectreleaseZen->generateStoryHtml($release); - if($type == 'bug' || $type == 'all') $html .= $this->projectreleaseZen->generateBugHtml($release); - if($type == 'leftbug' || $type == 'all') $html .= $this->projectreleaseZen->generateBugHtml($release, 'left'); - $html = "{$this->post->fileName}$html"; - - return print($this->fetch('file', 'sendDownHeader', array('fileName' => $this->post->fileName, 'html', $html))); - } + if(!empty($_POST)) return $this->fetch('release', 'export', "releaseID={$releaseID}"); $this->display('release', 'export'); } diff --git a/module/projectrelease/zen.php b/module/projectrelease/zen.php index 5ea973dcc4..bd72906378 100644 --- a/module/projectrelease/zen.php +++ b/module/projectrelease/zen.php @@ -30,79 +30,4 @@ class projectreleaseZen extends projectrelease $this->view->branch = $branch; $this->view->project = $this->project->getByID($projectID); } - - /** - * 生成关联的需求的 html。 - * Generate story html. - * - * @param object $release - * @access protected - * @return string - */ - protected function generateStoryHtml(object $release): string - { - $this->loadModel('story'); - - $html = "

{$this->lang->release->stories}

"; - if(empty($release->stories)) return $html; - - /* 生成表头。*/ - /* Generate thead.*/ - $fields = array('id' => $this->lang->story->id, 'title' => $this->lang->story->title); - $html .= ''; - foreach($fields as $fieldLabel) $html .= "\n"; - $html .= ''; - - $stories = $this->dbh->query($this->session->storyQueryCondition . " ORDER BY " . strtr($this->session->storyOrderBy, '_', ' '))->fetchAll(); - foreach($stories as $story) - { - $story->title = "id") . "' target='_blank'>$story->title"; - - $html .= "\n"; - foreach($fields as $fieldName => $fieldLabel) $html .= '\n"; - $html .= "\n"; - } - $html .= '
$fieldLabel
' . zget($story, $fieldName, '') . "
'; - - return $html; - } - - /** - * 生成 bug 的 html。 - * Generate bug html. - * - * @param object $release - * @param string $type linked|left - * @access protected - * @return string - */ - protected function generateBugHtml(object $release, string $type = 'linked'): string - { - $this->loadModel('bug'); - - $html = '

' . ($type == 'linked' ? $this->lang->release->bugs : $this->lang->release->generatedBugs) . '

'; - - $bugIdList = $type == 'linked' ? $release->bugs : $release->leftBugs; - if(empty($bugIdList)) return $html; - - $fields = array('id' => $this->lang->bug->id, 'title' => $this->lang->bug->title); - $html .= ''; - foreach($fields as $fieldLabel) $html .= "\n"; - $html .= ''; - - $bugs = array(); - $queryConditionName = $type == 'linked' ? 'linkedBugQueryCondition' : 'leftBugsQueryCondition'; - if($this->session->$queryConditionName !== false) $bugs = $this->dao->select('id, title')->from(TABLE_BUG)->where($this->session->$queryConditionName)->beginIF($this->session->bugOrderBy !== false)->orderBy($this->session->bugOrderBy)->fi()->fetchAll('id'); - foreach($bugs as $bug) - { - $bug->title = "id") . "' target='_blank'>$bug->title"; - - $html .= "\n"; - foreach($fields as $fieldName => $fieldLabel) $html .= "\n"; - $html .= "\n"; - } - $html .= '
$fieldLabel
" . zget($bug, $fieldName, '') . "
'; - - return $html; - } } diff --git a/module/release/control.php b/module/release/control.php index f99ba4871f..00eb894851 100755 --- a/module/release/control.php +++ b/module/release/control.php @@ -326,13 +326,12 @@ class release extends control { if(!empty($_POST)) { - $release = $this->release->getByID($releaseID); + $release = $this->release->getByID($releaseID, true); $type = $this->post->type; $fileName = $this->post->fileName; if(empty($fileName)) return $this->sendError(sprintf($this->lang->error->notempty, $this->lang->release->fileName)); - $html = ''; - $release = $this->release->getByID($releaseID, true); + $html = ''; if($type == 'story' || $type == 'all') $html .= $this->releaseZen->buildStoryDataForExport($release); if($type == 'bug' || $type == 'all') $html .= $this->releaseZen->buildBugDataForExport($release, 'bug'); if($type == 'leftbug' || $type == 'all') $html .= $this->releaseZen->buildBugDataForExport($release, 'leftbug');