* kanban: refactor addSpaceMembers().
This commit is contained in:
+38
-33
@@ -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;
|
||||
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
zdTable('kanbanspace')->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字段
|
||||
Reference in New Issue
Block a user