From 146d8f9f38359ebe499fc6d7fe6df6c964b54574 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Tue, 7 Jun 2022 17:03:57 +0800 Subject: [PATCH] * Fix bug . --- extension/lite/kanban/ext/model/lite.php | 27 +++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/extension/lite/kanban/ext/model/lite.php b/extension/lite/kanban/ext/model/lite.php index 06cd7e0c60..9ce3a29904 100644 --- a/extension/lite/kanban/ext/model/lite.php +++ b/extension/lite/kanban/ext/model/lite.php @@ -16,13 +16,24 @@ public function getKanban4Group($executionID, $browseType, $groupBy) $lanes = $this->getLanes4Group($executionID, $browseType, $groupBy, $cardList); if(empty($lanes)) return array(); - $columns = $this->dao->select('t1.*, t2.`type` as columnType')->from(TABLE_KANBANCELL)->alias('t1') + $execution = $this->loadModel('execution')->getByID($executionID); + + $columns = $this->dao->select('t1.*, GROUP_CONCAT(t1.cards) as cards, t2.`type` as columnType, t2.limit, t2.name as columnName, t2.color')->from(TABLE_KANBANCELL)->alias('t1') ->leftJoin(TABLE_KANBANCOLUMN)->alias('t2')->on('t1.`column` = t2.id') + ->leftJoin(TABLE_KANBANLANE)->alias('t3')->on('t1.lane = t3.id') + ->leftJoin(TABLE_KANBANREGION)->alias('t4')->on('t1.kanban = t4.kanban') ->where('t1.kanban')->eq($executionID) ->andWhere('t1.`type`')->eq($browseType) - ->fetchAll(); + ->beginIF(isset($execution->type) and $execution->type == 'kanban') + ->andWhere('t3.deleted')->eq(0) + ->andWhere('t4.deleted')->eq(0) + ->fi() + ->groupBy('columnType') + ->orderBy('column_asc') + ->fetchAll('columnType'); $cardGroup = array(); + $actions = array('setColumn', 'setWIP'); foreach($columns as $column) { if(empty($column->cards)) continue; @@ -48,12 +59,21 @@ public function getKanban4Group($executionID, $browseType, $groupBy) $laneData['defaultCardType'] = $browseType; /* Construct kanban column data. */ - foreach($columnList as $columnID => $columnName) + foreach($columns as $column) { + $columnID = $column->column; + $columnName = $column->columnName; $parentColumn = ''; if(in_array($columnID, array('testing', 'tested'))) $parentColumn = 'test'; if(in_array($columnID, array('fixing', 'fixed'))) $parentColumn = 'resolving'; + /* Judge column action priv. */ + $column->actions = array(); + foreach($actions as $action) + { + if($this->isClickable($column, $action)) $column->actions[] = $action; + } + $columnData[$columnID]['id'] = $columnID; $columnData[$columnID]['type'] = $columnID; $columnData[$columnID]['name'] = $columnName; @@ -62,6 +82,7 @@ public function getKanban4Group($executionID, $browseType, $groupBy) $columnData[$columnID]['laneType'] = $browseType; $columnData[$columnID]['asParent'] = in_array($columnID, array('develop', 'test', 'resolving')) ? true : false; $columnData[$columnID]['parentType'] = $parentColumn; + $columnData[$columnID]['actions'] = $column->actions; $cardOrder = 1; $objects = zget($cardGroup, $columnID, array());