* Fix problem in function deleteMembers .

This commit is contained in:
guofeilong
2023-05-10 15:28:14 +08:00
parent becc1c5b7d
commit 1ac8219425
6 changed files with 56 additions and 24 deletions
+1 -1
View File
@@ -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. */
+22
View File
@@ -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);
+20
View File
@@ -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');
@@ -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,'