diff --git a/module/bug/control.php b/module/bug/control.php
index 86ebf9653e..d79fb6d6ad 100755
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -468,8 +468,7 @@ class bug extends control
$this->view->users = $users;
$this->view->assignedTo = isset($users[$oldBug->openedBy]) ? $oldBug->openedBy : $this->bug->getModuleOwner($oldBug->module, $oldBug->product);
$this->view->executions = $this->loadModel('product')->getExecutionPairsByProduct($oldBug->product, $oldBug->branch ? "0,{$oldBug->branch}" : '0', (int)$oldBug->project, 'stagefilter');
- $this->view->builds = $builds;
- $this->view->releases = $this->build->getRelatedReleases(array($oldBug->product));
+ $this->view->builds = $this->bugZen->addReleaseLabelForBuilds($oldBug->product, $builds);
$this->view->actions = $this->loadModel('action')->getList('bug', $bugID);
$this->display();
}
diff --git a/module/bug/ui/resolve.html.php b/module/bug/ui/resolve.html.php
index ecea8d891d..bf45658f27 100644
--- a/module/bug/ui/resolve.html.php
+++ b/module/bug/ui/resolve.html.php
@@ -16,19 +16,6 @@ jsVar('page', 'resolve');
jsVar('released', $lang->build->released);
jsVar('requiredFields', $config->bug->resolve->requiredFields);
-$buildItems = array();
-foreach($builds as $buildID => $buildName)
-{
- $buildItem = array('value' => $buildID, 'text' => $buildName);
- if(isset($releases[$buildID])) $buildItem['content'] = array('html' => "
{$buildName}
", 'class' => 'w-full flex nowrap');
- $buildItems[$buildID] = $buildItem;
-}
-foreach($releases as $releaseID => $release)
-{
- if(isset($buildItems[$release->shadow])) $buildItems[$release->shadow]['content'] = array('html' => "{$buildItems[$release->shadow]['text']}
", 'class' => 'w-full flex nowrap');
-}
-var_dump($buildItems);
-
$createBuild = '';
if(common::hasPriv('build', 'create'))
{
@@ -107,7 +94,7 @@ formPanel
(
set::name('resolvedBuild'),
set::value(''),
- set::items(array_values($buildItems))
+ set::items($builds)
)
),
formGroup
diff --git a/module/bug/zen.php b/module/bug/zen.php
index 886995483e..f31506e125 100644
--- a/module/bug/zen.php
+++ b/module/bug/zen.php
@@ -988,6 +988,7 @@ class bugZen extends bug
{
$builds = $this->build->getBuildPairs(array($productID), $branch, 'noempty,noterminate,nodone,withbranch,noreleased');
}
+ $builds = $this->addReleaseLabelForBuilds($productID, $builds);
return $this->updateBug($bug, array('builds' => $builds));
}
@@ -1205,10 +1206,13 @@ class bugZen extends bug
$cases = $this->loadmodel('testcase')->getPairsByProduct($bug->product, array(0, $bug->branch), $case->title, $this->config->maxCount);
}
+ $resolvedBuilds = $this->build->getBuildPairs(array($bug->product), $bug->branch, 'noempty');
+ $resolvedBuilds = $this->addReleaseLabelForBuilds($bug->product, $resolvedBuilds);
+
$this->config->moreLinks['case'] = inlink('ajaxGetProductCases', "bugID={$bug->id}");
$this->view->openedBuilds = $openedBuilds;
- $this->view->resolvedBuilds = $this->build->getBuildPairs(array($bug->product), $bug->branch, 'noempty');
+ $this->view->resolvedBuilds = $resolvedBuilds;
$this->view->plans = $this->loadModel('productplan')->getPairs($bug->product, $bug->branch, '', true);
$this->view->stories = $bug->execution ? $this->story->getExecutionStoryPairs($bug->execution) : $this->story->getProductStoryPairs($bug->product, $bug->branch, 0, 'all', 'id_desc', 0, 'full', 'story', false);
$this->view->tasks = $this->task->getExecutionTaskPairs($bug->execution);
@@ -2390,4 +2394,32 @@ class bugZen extends bug
return $chartOption;
}
+
+ /**
+ * 给版本中的发布增加标识。
+ * Add label for the release in the builds.
+ *
+ * @param int $productID
+ * @param array $builds
+ * @access protected
+ * @return array
+ */
+ protected function addReleaseLabelForBuilds(int $productID, array $builds): array
+ {
+ $releases = $this->loadModel('build')->getRelatedReleases(array($productID));
+
+ $buildItems = array();
+ foreach($builds as $buildID => $buildName)
+ {
+ $buildItem = array('value' => $buildID, 'text' => $buildName);
+ if(isset($releases[$buildID])) $buildItem['content'] = array('html' => "{$buildName}
", 'class' => 'w-full flex nowrap');
+ $buildItems[$buildID] = $buildItem;
+ }
+ foreach($releases as $release)
+ {
+ if(isset($buildItems[$release->shadow])) $buildItems[$release->shadow]['content'] = array('html' => "{$buildItems[$release->shadow]['text']}
", 'class' => 'w-full flex nowrap');
+ }
+
+ return array_values($buildItems);
+ }
}