From c58e61ed26887891c187d138b95cde33945ba974 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 5 Jul 2022 09:26:18 +0800 Subject: [PATCH] * Code for task#59544,#59546. Add update region when delete lane. --- module/execution/js/kanban.js | 6 ++++-- module/kanban/control.php | 12 +++++++++--- module/kanban/js/view.js | 6 ++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/module/execution/js/kanban.js b/module/execution/js/kanban.js index 6eb2f2dd3e..38c70e6aaa 100644 --- a/module/execution/js/kanban.js +++ b/module/execution/js/kanban.js @@ -235,10 +235,12 @@ function createLaneMenu(options) var privs = lane.actions; if(!privs.length) return []; - var items = []; + var items = []; + var regionID = lane.$kanbanData.region; + var kanbanID = lane.$kanbanData.kanban; if(privs.includes('editLaneName')) items.push({label: kanbanLang.editLaneName, icon: 'edit', url: createLink('kanban', 'editLaneName', 'laneID=' + lane.id + '&executionID=0&from=kanban'), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '635px'}}); if(privs.includes('editLaneColor')) items.push({label: kanbanLang.editLaneColor, icon: 'color', url: createLink('kanban', 'editLaneColor', 'laneID=' + lane.id + '&executionID=0&from=kanban'), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '635px'}}); - if(privs.includes('deleteLane')) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); + if(privs.includes('deleteLane')) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'regionID=' + regionID + '&kanbanID=' + kanbanID + '&lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); var bounds = options.$trigger[0].getBoundingClientRect(); items.$options = {x: bounds.right, y: bounds.top}; diff --git a/module/kanban/control.php b/module/kanban/control.php index e288df2d80..e9f237b747 100644 --- a/module/kanban/control.php +++ b/module/kanban/control.php @@ -604,24 +604,30 @@ class kanban extends control /** * Delete a lane. * + * @param int $regionID + * @param int $kanbanID * @param int $laneID * @param string $confirm no|yes * @access public * @return void */ - public function deleteLane($laneID, $confirm = 'no') + public function deleteLane($regionID, $kanbanID, $laneID, $confirm = 'no') { if($confirm == 'no') { $laneType = $this->kanban->getLaneById($laneID)->type; $confirmTip = in_array($laneType, array('story', 'task', 'bug')) ? sprintf($this->lang->kanbanlane->confirmDeleteTip, $this->lang->{$laneType}->common) : $this->lang->kanbanlane->confirmDelete; - return print(js::confirm($confirmTip, $this->createLink('kanban', 'deleteLane', "laneID=$laneID&confirm=yes"), '')); + return print(js::confirm($confirmTip, $this->createLink('kanban', 'deleteLane', "regionID=$regionID&kanbanID=$kanbanID&laneID=$laneID&confirm=yes"), '')); + } else { $this->kanban->delete(TABLE_KANBANLANE, $laneID); - return print(js::reload('parent')); + + $kanbanGroup = $this->kanban->getKanbanData($kanbanID, $regionID); + $kanbanGroup = json_encode($kanbanGroup); + return print(""); } } diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js index 3cd19a4329..e5a9598df0 100644 --- a/module/kanban/js/view.js +++ b/module/kanban/js/view.js @@ -1113,10 +1113,12 @@ function createLaneMenu(options) var privs = lane.actions; if(!privs.length) return []; - var items = []; + var items = []; + var regionID = lane.$kanbanData.region; + var kanbanID = lane.$kanbanData.kanban; if(privs.includes('editLaneName')) items.push({label: kanbanLang.editLaneName, icon: 'edit', url: createLink('kanban', 'editLaneName', 'laneID=' + lane.id + '&executionID=0&from=kanban'), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '635px'}}); if(privs.includes('editLaneColor')) items.push({label: kanbanLang.editLaneColor, icon: 'color', url: createLink('kanban', 'editLaneColor', 'laneID=' + lane.id + '&executionID=0&from=kanban'), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '635px'}}); - if(privs.includes('deleteLane')) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); + if(privs.includes('deleteLane')) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'regionID=' + regionID + '&kanbanID=' + kanbanID + '&lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); var bounds = options.$trigger[0].getBoundingClientRect(); items.$options = {x: bounds.right, y: bounds.top};