From 9b5fa6114109346ff6276ce642732792f03eb0b2 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 17 Jan 2022 15:20:17 +0800 Subject: [PATCH] * Modify the code logic. --- module/kanban/model.php | 9 +++------ module/story/control.php | 2 +- module/story/model.php | 10 ++++++++-- module/task/model.php | 30 ++++++++++++++++-------------- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/module/kanban/model.php b/module/kanban/model.php index 33f5f664f7..f9fedc0775 100644 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -2095,10 +2095,7 @@ class kanbanModel extends model ->orderBy('t1.`order` asc') ->fetchAll('id'); - if(count($lanes) > 1) - { - $lanes = array_slice($lanes, 0, 1); - } + if(count($lanes) > 1) $lanes = array_slice($lanes, 0, 1); } else { @@ -2123,7 +2120,7 @@ class kanbanModel extends model $laneType = $lane->type; $executionID = $lane->execution; $otherCardList = ''; - $lanes = $this->dao->select('t2.id, t2.cards')->from(TABLE_KANBANLANE)->alias('t1') + $otherLanes = $this->dao->select('t2.id, t2.cards')->from(TABLE_KANBANLANE)->alias('t1') ->leftJoin(TABLE_KANBANCELL)->alias('t2')->on('t1.id=t2.lane') ->where('t1.deleted')->eq(0) ->andWhere('t1.id')->ne($lane->id) @@ -2131,7 +2128,7 @@ class kanbanModel extends model ->andWhere('t2.`type`')->eq($lane->type) ->fetchPairs(); - foreach($lanes as $cardIDList) + foreach($otherLanes as $cardIDList) { $cardIDList = trim($cardIDList, ','); if(!empty($cardIDList)) $otherCardList .= ',' . $cardIDList; diff --git a/module/story/control.php b/module/story/control.php index e01502b98a..2a3a4bcb9d 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -95,7 +95,7 @@ class story extends control $response['message'] = $this->lang->saveSuccess; setcookie('lastStoryModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, false); - $storyResult = $this->story->create($objectID, $bugID, $from = isset($fromObjectIDKey) ? $fromObjectIDKey : ''); + $storyResult = $this->story->create($objectID, $bugID, $from = isset($fromObjectIDKey) ? $fromObjectIDKey : '', $extra); if(!$storyResult or dao::isError()) { $response['result'] = 'fail'; diff --git a/module/story/model.php b/module/story/model.php index 9472c2c020..0b96239fda 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -183,11 +183,15 @@ class storyModel extends model * @param int $executionID * @param int $bugID * @param string $from + * @param string $extra * @access public * @return int|bool the id of the created story or false when error. */ - public function create($executionID = 0, $bugID = 0, $from = '') + public function create($executionID = 0, $bugID = 0, $from = '', $extra = '') { + $extra = str_replace(array(',', ' '), array('&', ''), $extra); + parse_str($extra, $output); + if(isset($_POST['reviewer'])) $_POST['reviewer'] = array_filter($_POST['reviewer']); if(!$this->post->needNotReview and empty($_POST['reviewer'])) { @@ -280,7 +284,9 @@ class storyModel extends model { $this->linkStory($executionID, $this->post->product, $storyID); if($this->config->systemMode == 'new' and $executionID != $this->session->project) $this->linkStory($this->session->project, $this->post->product, $storyID); - $this->loadModel('kanban')->updateLane($executionID, 'story'); + $this->loadModel('kanban'); + if(isset($output['laneID']) and isset($output['columnID'])) $this->kanban->addKanbanCell($kanbanID, $output['laneID'], $output['columnID'], 'story', $storyID); + if(!isset($output['laneID']) or !isset($output['columnID'])) $this->kanban->updateLane($kanbanID, 'story'); } if(is_array($this->post->URS)) diff --git a/module/task/model.php b/module/task/model.php index 6b7eeb5f1c..e3cb5ab2f0 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -403,7 +403,8 @@ class taskModel extends model $this->executeHooks($taskID); - if(isset($output['laneID']) and isset($output['columnID'])) $this->loadModel('kanban')->addKanbanCell($executionID, $output['laneID'], $output['columnID'], 'task', $taskID); + $this->loadModel('kanban'); + if(isset($output['laneID']) and isset($output['columnID'])) $this->kanban->addKanbanCell($executionID, $output['laneID'], $output['columnID'], 'task', $taskID); $actionID = $this->action->create('task', $taskID, 'Opened', ''); if(!dao::isError()) $this->loadModel('score')->create('task', 'create', $taskID); @@ -456,6 +457,8 @@ class taskModel extends model $actionID = $this->action->create('task', $parentID, 'createChildren', '', trim($childTasks, ',')); if(!empty($changes)) $this->action->logHistory($actionID, $changes); } + + if(!isset($output['laneID']) or !isset($output['columnID'])) $this->kanban->updateLane($kanbanID, 'task'); return $mails; } @@ -1015,7 +1018,6 @@ class taskModel extends model if($task->status == 'done') $this->loadModel('score')->create('task', 'finish', $taskID); if($task->status == 'closed') $this->loadModel('score')->create('task', 'close', $taskID); if($task->status != $oldTask->status) $this->loadModel('kanban')->updateLane($task->execution, 'task', $taskID); - $this->loadModel('action'); $changed = $task->parent != $oldTask->parent; if($oldTask->parent > 0) @@ -1475,8 +1477,8 @@ class taskModel extends model if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); if(!dao::isError()) return common::createChanges($oldTask, $task); } @@ -1744,8 +1746,8 @@ class taskModel extends model $this->loadModel('score')->create('task', 'finish', $taskID); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); } if(!dao::isError()) return common::createChanges($oldTask, $task); } @@ -1777,8 +1779,8 @@ class taskModel extends model if($oldTask->parent > 0) $this->updateParentStatus($taskID); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); if(!dao::isError()) return common::createChanges($oldTask, $task); } @@ -1819,8 +1821,8 @@ class taskModel extends model $this->loadModel('score')->create('task', 'close', $taskID); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); return common::createChanges($oldTask, $task); } @@ -1865,8 +1867,8 @@ class taskModel extends model } if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); if(!dao::isError()) return common::createChanges($oldTask, $task); } @@ -1937,8 +1939,8 @@ class taskModel extends model } if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story); $this->loadModel('kanban'); - if(!isset($output['fromColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); - if(isset($output['fromColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); + if(!isset($output['toColID'])) $this->kanban->updateLane($oldTask->execution, 'task', $taskID); + if(isset($output['toColID'])) $this->kanban->moveCard($taskID, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']); if(!dao::isError()) return common::createChanges($oldTask, $task); }