mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 10:33:54 +00:00
fix: 修复项目成员无法认领任务的情况
This commit is contained in:
parent
44baa743c0
commit
b4101f856a
@ -2120,14 +2120,17 @@ class ProjectController extends AbstractController
|
||||
//
|
||||
$task = ProjectTask::userTask($task_id);
|
||||
//
|
||||
$project = Project::userProject($task->project_id);
|
||||
$permissionKey = ProjectPermission::TASK_UPDATE;
|
||||
if (Arr::exists($param, 'times')) {
|
||||
$permissionKey = ProjectPermission::TASK_TIME;
|
||||
} else if (Arr::exists($param, 'flow_item_id')) {
|
||||
$permissionKey = ProjectPermission::TASK_STATUS;
|
||||
if ($task->hasOwner()) {
|
||||
// 已经存在负责人,则需要检查权限(即:没有任务负责人时,不检查权限)
|
||||
$project = Project::userProject($task->project_id);
|
||||
$permissionKey = ProjectPermission::TASK_UPDATE;
|
||||
if (Arr::exists($param, 'times')) {
|
||||
$permissionKey = ProjectPermission::TASK_TIME;
|
||||
} else if (Arr::exists($param, 'flow_item_id')) {
|
||||
$permissionKey = ProjectPermission::TASK_STATUS;
|
||||
}
|
||||
ProjectPermission::userTaskPermission($project, $permissionKey, $task);
|
||||
}
|
||||
ProjectPermission::userTaskPermission($project, $permissionKey, $task);
|
||||
//
|
||||
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($task_id)->get();
|
||||
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
|
||||
|
||||
@ -128,8 +128,8 @@ class ProjectPermission extends AbstractModel
|
||||
/**
|
||||
* 更新项目权限
|
||||
*
|
||||
* @param int $projectId
|
||||
* @param array $permissions
|
||||
* @param int $projectId
|
||||
* @param $newPermissions
|
||||
* @return ProjectPermission
|
||||
*/
|
||||
public static function updatePermissions($projectId, $newPermissions)
|
||||
@ -146,9 +146,9 @@ class ProjectPermission extends AbstractModel
|
||||
|
||||
/**
|
||||
* 检查用户是否有执行特定动作的权限
|
||||
* @param string $action 动作名称
|
||||
* @param Project $project 项目实例
|
||||
* @param ProjectTask $task 任务实例
|
||||
* @param string $action 动作名称
|
||||
* @param ProjectTask|null $task 任务实例
|
||||
* @return bool
|
||||
*/
|
||||
public static function userTaskPermission(Project $project, $action, ProjectTask $task = null)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user