fix: 修复权限级联同步缺口
修复 Manticore 搜索索引在特定场景下 allowed_users 权限未能正确同步的问题:
Observer.updated 补充:
- ProjectUserObserver: 处理项目成员移交时的权限级联
- ProjectTaskUserObserver: 处理任务成员移交时的权限更新
批量操作绕过 Observer 修复(delete → remove):
- FileUser: deleteFileAll/deleteFileUser 方法
- ProjectTask: 可见性设置时的批量删除
- ProjectController: 子任务升级和任务复制时的批量删除
文件批量更新封装:
- File 新增 updateChildFilesUserid() 方法,统一处理子文件 userid
更新及 Manticore 同步
This commit is contained in:
@@ -2379,7 +2379,7 @@ class ProjectController extends AbstractController
|
||||
$task->save();
|
||||
ProjectTaskUser::whereTaskId($task->id)->update(['task_pid' => $task->id]);
|
||||
if ($task->visibility == 3 && !empty($visibilityUserids)) {
|
||||
ProjectTaskVisibilityUser::whereTaskId($task->id)->delete();
|
||||
ProjectTaskVisibilityUser::whereTaskId($task->id)->remove();
|
||||
foreach (array_unique($visibilityUserids) as $userid) {
|
||||
if (!$userid) {
|
||||
continue;
|
||||
@@ -3031,7 +3031,7 @@ class ProjectController extends AbstractController
|
||||
$taskTag->project_id = $project->id;
|
||||
$taskTag->save();
|
||||
}
|
||||
ProjectTaskUser::whereTaskId($copy->id)->delete();
|
||||
ProjectTaskUser::whereTaskId($copy->id)->remove();
|
||||
$copy->setRelation('taskUser', collect());
|
||||
$copy->setRelation('project', $project);
|
||||
$updateData = [
|
||||
|
||||
Reference in New Issue
Block a user