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 .= "| $fieldLabel | \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 .= '| ' . zget($story, $fieldName, '') . " | \n";
- $html .= "
\n";
- }
- $html .= '
';
-
- 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 .= "| $fieldLabel | \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 .= "| " . zget($bug, $fieldName, '') . " | \n";
- $html .= "
\n";
- }
- $html .= '
';
-
- 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');