* Fix problem in function deleteMembers .
This commit is contained in:
@@ -1347,7 +1347,7 @@ class projectModel extends model
|
||||
if($oldProject->model == 'kanban')
|
||||
{
|
||||
$deleteMembers = array_diff(array_keys($oldMembers), array_values($newMembers));
|
||||
$this->projectTao->deleteExtraMembersByProject($projectID, $oldProject->openedBy, $deleteMembers);
|
||||
$this->projectTao->deleteMembers($projectID, $oldProject->openedBy, $deleteMembers);
|
||||
}
|
||||
|
||||
/* Init member default for update members. */
|
||||
|
||||
@@ -772,6 +772,28 @@ class projectTao extends projectModel
|
||||
->fetchAll('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除团队成员。
|
||||
* Delete Members.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param int $openedBy
|
||||
* @param array $deleteMembers
|
||||
* @access protected
|
||||
* @return bool
|
||||
*/
|
||||
protected function deleteMembers(int $projectID, int $openedBy, array $deleteMembers): bool
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_TEAM)
|
||||
->where('root')->eq($projectID)
|
||||
->andWhere('type')->eq('project')
|
||||
->andWhere('account')->in($deleteMembers)
|
||||
->andWhere('account')->ne($openedBy)
|
||||
->exec();
|
||||
|
||||
return !dao::isError();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过项目ID获取任务数量统计。
|
||||
* Get the number of tasks associated with the project.
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/project.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectTao::deleteextramembersbyproject();
|
||||
timeout=0
|
||||
cid=1
|
||||
- 执行project模块的doSuspend方法,参数是2, $project @1
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('project');
|
||||
|
||||
$project = new stdClass;
|
||||
$team = array();
|
||||
$members = array();
|
||||
|
||||
r($tester->project->deleteextramembersbyproject(2, $project, $team, $members)) && p() && e(1);
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectTao::deleteMembers();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('project');
|
||||
|
||||
$project = new stdclass();
|
||||
$members = array();
|
||||
|
||||
r($tester->project->deleteMembers(2, 1, $members)) && p() && e('1');
|
||||
+3
-1
@@ -13,7 +13,7 @@ fields:
|
||||
- field: status
|
||||
range: 'wait,doing,closed,suspended'
|
||||
- field: parent
|
||||
range: 0, 1, 0, 3, 3, 0
|
||||
range: 1, 1, 0, 3, 3, 0
|
||||
- field: path
|
||||
range: '`,1,`, `,1,2,`, `,3,`, `,3,4,`, `,3,4,5,`, `,6,`'
|
||||
- field: hasProduct
|
||||
@@ -22,3 +22,5 @@ fields:
|
||||
range: '项目1, 执行1-2, 项目3, 执行3-4, 执行3-5, 无迭代无产品项目6'
|
||||
- field: code
|
||||
range: 'project1, sprint1-2, project3, sprint3-4, sprint3-5, project6'
|
||||
- field: openedBy
|
||||
range: 'member1'
|
||||
@@ -0,0 +1,10 @@
|
||||
title: zt_team
|
||||
author: guofeilong
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-6
|
||||
- field: root
|
||||
range: 1-6
|
||||
- field: account
|
||||
range: 'member1, member2, member3, member4, member5, member6,'
|
||||
Reference in New Issue
Block a user