From c79bd18b682d00317c6e599400a8ce35669ab2c2 Mon Sep 17 00:00:00 2001 From: holan20180123 <56391770@qq.com> Date: Thu, 26 Nov 2020 13:13:14 +0800 Subject: [PATCH] * Finish task #8497. --- module/projectrelease/control.php | 45 ++++++++++++++++++++++ module/projectrelease/view/browse.html.php | 16 ++++---- module/projectrelease/view/view.html.php | 36 ++++++++--------- 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/module/projectrelease/control.php b/module/projectrelease/control.php index 8879d19699..69e076f360 100644 --- a/module/projectrelease/control.php +++ b/module/projectrelease/control.php @@ -228,6 +228,51 @@ class projectrelease extends control $this->display(); } + /** + * Delete a release. + * + * @param int $releaseID + * @param string $confirm yes|no + * @access public + * @return void + */ + public function delete($releaseID, $confirm = 'no') + { + if($confirm == 'no') + { + die(js::confirm($this->lang->release->confirmDelete, $this->createLink('projectrelease', 'delete', "releaseID=$releaseID&confirm=yes"))); + } + else + { + $this->release->delete(TABLE_RELEASE, $releaseID); + + $release = $this->dao->select('*')->from(TABLE_RELEASE)->where('id')->eq((int)$releaseID)->fetch(); + $build = $this->dao->select('*')->from(TABLE_BUILD)->where('id')->eq((int)$release->build)->fetch(); + if(empty($build->project)) $this->loadModel('build')->delete(TABLE_BUILD, $build->id); + + $this->executeHooks($releaseID); + + /* if ajax request, send result. */ + if($this->server->ajax) + { + if(dao::isError()) + { + $response['result'] = 'fail'; + $response['message'] = dao::getError(); + } + else + { + $response['result'] = 'success'; + $response['message'] = ''; + $release = $this->release->getById($releaseID); + $this->dao->update(TABLE_BUILD)->set('deleted')->eq(1)->where('id')->eq($release->build)->andWhere('name')->eq($release->name)->exec(); + } + $this->send($response); + } + die(js::locate($this->session->releaseList, 'parent')); + } + } + /** * Export the stories of release to HTML. * diff --git a/module/projectrelease/view/browse.html.php b/module/projectrelease/view/browse.html.php index ad6eb66b8e..3b9181b9bd 100644 --- a/module/projectrelease/view/browse.html.php +++ b/module/projectrelease/view/browse.html.php @@ -32,7 +32,7 @@
release->noRelease;?> - + createLink('projectrelease', 'create', "productID=$product->id&branch=$branch"), " " . $lang->release->create, '', "class='btn btn-info'");?>
@@ -58,7 +58,7 @@ - +