diff --git a/module/kanban/model.php b/module/kanban/model.php index 333b59fa5d..ddc62ecfd8 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -2062,13 +2062,14 @@ class kanbanModel extends model } /* + * 创建看板。 * Create a kanban. * * @param object $kanban * @access public - * @return int + * @return int|false */ - public function create($kanban) + public function create(object $kanban): int|false { $account = $this->app->user->account; @@ -2090,26 +2091,25 @@ class kanbanModel extends model $this->kanbanTao->createKanban($kanban); - if(!dao::isError()) + if(dao::isError()) return false; + + $kanbanID = $this->dao->lastInsertID(); + $kanban = $this->getByID($kanbanID); + + $this->loadModel('action')->create('kanban', $kanbanID, 'created'); + $this->loadModel('file')->saveUpload('kanban', $kanbanID); + $this->file->updateObjectID($this->post->uid, $kanbanID, 'kanban'); + + $this->post->copyRegion ? $this->copyRegions($kanban, $this->post->copyKanbanID): $this->createDefaultRegion($kanban); + + if(!empty($kanban->team) or !empty($kanban->whitelist)) { - $kanbanID = $this->dao->lastInsertID(); - $kanban = $this->getByID($kanbanID); - - $this->loadModel('action')->create('kanban', $kanbanID, 'created'); - $this->loadModel('file')->saveUpload('kanban', $kanbanID); - $this->file->updateObjectID($this->post->uid, $kanbanID, 'kanban'); - - $this->post->copyRegion ? $this->copyRegions($kanban, $this->post->copyKanbanID): $this->createDefaultRegion($kanban); - - if(!empty($kanban->team) or !empty($kanban->whitelist)) - { - $type = !empty($kanban->team) ? 'team' : 'whitelist'; - $kanbanMembers = empty($kanban->{$type}) ? array() : explode(',', $kanban->{$type}); - $this->addSpaceMembers($kanban->space, $type, $kanbanMembers); - } - - return $kanbanID; + $type = !empty($kanban->team) ? 'team' : 'whitelist'; + $kanbanMembers = empty($kanban->{$type}) ? array() : explode(',', $kanban->{$type}); + $this->addSpaceMembers($kanban->space, $type, $kanbanMembers); } + + return $kanbanID; } /** @@ -2121,7 +2121,7 @@ class kanbanModel extends model * @access public * @return bool */ - public function update(int $kanbanID, object $kanban) + public function update(int $kanbanID, object $kanban): bool { $oldKanban = $this->getByID($kanbanID); @@ -2153,6 +2153,7 @@ class kanbanModel extends model } /** + * 设置看板。 * Setting kanban. * * @param int $kanbanID @@ -2200,9 +2201,9 @@ class kanbanModel extends model * @param int $kanbanID * @param object $kanban * @access public - * @return array + * @return bool */ - function activate(int $kanbanID, object $kanban) + function activate(int $kanbanID, object $kanban): bool { $oldKanban = $this->getByID($kanbanID); @@ -2227,9 +2228,9 @@ class kanbanModel extends model * @param int $kanbanID * @param object $kanban * @access public - * @return array + * @return bool */ - function close(int $kanbanID, object $kanban) + function close(int $kanbanID, object $kanban): bool { $oldKanban = $this->getByID($kanbanID); @@ -2251,6 +2252,7 @@ class kanbanModel extends model } /** + * 执行看板新增列和泳道。 * Add execution Kanban lanes and columns. * * @param int $executionID @@ -2258,7 +2260,7 @@ class kanbanModel extends model * @access public * @return void */ - public function createExecutionLane(int $executionID, string $type = 'all'): void + public function createExecutionLane(int $executionID, string $type = 'all') { foreach($this->config->kanban->default as $type => $lane) { @@ -2276,15 +2278,16 @@ class kanbanModel extends model } /** + * 创建执行看板列。 * Create execution columns. * - * @param int|array $laneID - * @param string $type story|bug|task - * @param int $executionID + * @param int|array $laneID + * @param string $type story|bug|task + * @param int $executionID * @access public * @return void */ - public function createExecutionColumns(int|array $laneID, string $type, int $executionID): void + public function createExecutionColumns(int|array $laneID, string $type, int $executionID) { $devColumnID = $testColumnID = $resolvingColumnID = 0; @@ -2326,6 +2329,7 @@ class kanbanModel extends model } /** + * 新增看板Cell。 * Add kanban cell for new lane. * * @param int $kanbanID @@ -2336,7 +2340,7 @@ class kanbanModel extends model * @access public * @return void */ - public function addKanbanCell(int $kanbanID, int $laneID, int $colID, string $type, string $cardID = ''): void + public function addKanbanCell(int $kanbanID, int $laneID, int $colID, string $type, string $cardID = '') { $cell = $this->dao->select('id, cards')->from(TABLE_KANBANCELL) ->where('kanban')->eq($kanbanID) @@ -2364,15 +2368,16 @@ class kanbanModel extends model } /** + * 向看板空间添加成员。 * Add space members. * * @param int $spaceID - * @param array $type team|whitelist + * @param string $type team|whitelist * @param array $kanbanMembers * @access public * @return void */ - public function addSpaceMembers($spaceID, $type, $kanbanMembers = array()) + public function addSpaceMembers(int $spaceID, string $type, array $kanbanMembers = array()) { $space = $this->getSpaceById($spaceID); if(empty($space)) return; diff --git a/module/kanban/test/model/addspacemembers.php b/module/kanban/test/model/addspacemembers.php new file mode 100755 index 0000000000..557bbc3049 --- /dev/null +++ b/module/kanban/test/model/addspacemembers.php @@ -0,0 +1,37 @@ +#!/usr/bin/env php +gen(2); + +/** + +title=测试 kanbanModel->addSpaceMembers(); +timeout=0 +cid=1 + +- 查看添加成员后的看板空间1字段 + - 属性whitelist @,user3,po15,,admin,po1,dev1,qa1 + - 属性team @,user3,po15,,admin,po1,dev1,qa1 +- 查看添加成员后的看板空间2字段 + - 属性whitelist @,user4,po16,,admin,po1,dev1,qa1 + - 属性team @,user4,po16,,admin,po1,dev1,qa1 + +*/ + +global $tester; +$tester->loadModel('kanban'); +$members = array('admin', 'po1', 'dev1', 'qa1'); + +$tester->kanban->addSpaceMembers(1, 'whitelist', $members); +$tester->kanban->addSpaceMembers(1, 'team', $members); +$tester->kanban->addSpaceMembers(2, 'whitelist', $members); +$tester->kanban->addSpaceMembers(2, 'team', $members); + +$space1 = $tester->kanban->getSpaceById(1); +$space2 = $tester->kanban->getSpaceById(2); + +r($space1) && p('whitelist|team', '|') && e(',user3,po15,,admin,po1,dev1,qa1|,user3,po15,,admin,po1,dev1,qa1'); // 查看添加成员后的看板空间1字段 +r($space2) && p('whitelist|team', '|') && e(',user4,po16,,admin,po1,dev1,qa1|,user4,po16,,admin,po1,dev1,qa1'); // 查看添加成员后的看板空间2字段 \ No newline at end of file