From 873fabb02481cb976627bbdb6d06cf569c0c1c33 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 25 Apr 2022 10:50:46 +0800 Subject: [PATCH] * Fix bug #21970. --- module/release/control.php | 21 +++++++++++++++------ module/release/js/create.js | 2 +- module/release/view/create.html.php | 1 + 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/module/release/control.php b/module/release/control.php index 4da13e5017..2c76a1f05a 100644 --- a/module/release/control.php +++ b/module/release/control.php @@ -82,13 +82,22 @@ class release extends control foreach($releasedBuilds as $build) unset($builds[$build]); unset($builds['trunk']); + /* Get the builds of the linked stories or bugs. */ + $notEmptyBuilds = array(); + $buildList = $this->build->getByList(array_keys($builds)); + foreach($buildList as $build) + { + if(!empty($build->stories) or !empty($build->bugs)) $notEmptyBuilds[$build->id] = $build->id; + } + $this->commonAction($productID, $branch); - $this->view->title = $this->view->product->name . $this->lang->colon . $this->lang->release->create; - $this->view->position[] = $this->lang->release->create; - $this->view->productID = $productID; - $this->view->builds = $builds; - $this->view->users = $this->loadModel('user')->getPairs('noletter|noclosed'); - $this->view->lastRelease = $this->release->getLast($productID, $branch); + $this->view->title = $this->view->product->name . $this->lang->colon . $this->lang->release->create; + $this->view->position[] = $this->lang->release->create; + $this->view->productID = $productID; + $this->view->builds = $builds; + $this->view->users = $this->loadModel('user')->getPairs('noletter|noclosed'); + $this->view->lastRelease = $this->release->getLast($productID, $branch); + $this->view->notEmptyBuilds = $notEmptyBuilds; $this->display(); } diff --git a/module/release/js/create.js b/module/release/js/create.js index 9779e17639..8df61698a1 100644 --- a/module/release/js/create.js +++ b/module/release/js/create.js @@ -4,7 +4,7 @@ $('#submit').click(function() var name = $('#name').val(); var date = $('#date').val(); var build = $('#build').val(); - if(name && build && dateFormat.test(date)) + if(name && build && typeof(notEmptyBuilds[build]) != 'undefined' && dateFormat.test(date)) { var result = confirm(confirmLink) ? true : false; $('#sync').val(result); diff --git a/module/release/view/create.html.php b/module/release/view/create.html.php index 2e8bdc2203..8767c42c7a 100644 --- a/module/release/view/create.html.php +++ b/module/release/view/create.html.php @@ -13,6 +13,7 @@ release->confirmLink);?> +