mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 18:42:54 +00:00
perf: 新增修改任务时间权限
This commit is contained in:
parent
050c9702d8
commit
a967493d77
@ -1692,7 +1692,7 @@ class ProjectController extends AbstractController
|
|||||||
//
|
//
|
||||||
$task = ProjectTask::userTask($file->task_id);
|
$task = ProjectTask::userTask($file->task_id);
|
||||||
//
|
//
|
||||||
ProjectPermission::userTaskPermission(Project::userProject($task->project_id), ProjectPermission::TASK_UPDATE, $task);
|
ProjectPermission::userTaskPermission(Project::userProject($task->project_id), ProjectPermission::TASK_REMOVE, $task);
|
||||||
//
|
//
|
||||||
$task->pushMsg('filedelete', $file);
|
$task->pushMsg('filedelete', $file);
|
||||||
$file->delete();
|
$file->delete();
|
||||||
@ -1964,11 +1964,13 @@ class ProjectController extends AbstractController
|
|||||||
$task = ProjectTask::userTask($task_id);
|
$task = ProjectTask::userTask($task_id);
|
||||||
//
|
//
|
||||||
$project = Project::userProject($task->project_id);
|
$project = Project::userProject($task->project_id);
|
||||||
if (Arr::exists($param, 'flow_item_id')) {
|
$permissionKey = ProjectPermission::TASK_UPDATE;
|
||||||
ProjectPermission::userTaskPermission($project, ProjectPermission::TASK_STATUS, $task);
|
if (Arr::exists($param, 'times')) {
|
||||||
}else{
|
$permissionKey = ProjectPermission::TASK_TIME;
|
||||||
ProjectPermission::userTaskPermission($project, ProjectPermission::TASK_UPDATE, $task);
|
} else if (Arr::exists($param, 'flow_item_id')) {
|
||||||
|
$permissionKey = ProjectPermission::TASK_STATUS;
|
||||||
}
|
}
|
||||||
|
ProjectPermission::userTaskPermission($project, $permissionKey, $task);
|
||||||
//
|
//
|
||||||
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($task_id)->get();
|
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($task_id)->get();
|
||||||
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
|
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
|
||||||
@ -2625,8 +2627,9 @@ class ProjectController extends AbstractController
|
|||||||
ProjectPermission::TASK_LIST_SORT,
|
ProjectPermission::TASK_LIST_SORT,
|
||||||
ProjectPermission::TASK_ADD,
|
ProjectPermission::TASK_ADD,
|
||||||
ProjectPermission::TASK_UPDATE,
|
ProjectPermission::TASK_UPDATE,
|
||||||
ProjectPermission::TASK_REMOVE,
|
ProjectPermission::TASK_TIME,
|
||||||
ProjectPermission::TASK_STATUS,
|
ProjectPermission::TASK_STATUS,
|
||||||
|
ProjectPermission::TASK_REMOVE,
|
||||||
ProjectPermission::TASK_ARCHIVED,
|
ProjectPermission::TASK_ARCHIVED,
|
||||||
ProjectPermission::TASK_MOVE,
|
ProjectPermission::TASK_MOVE,
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -10,7 +10,7 @@ use App\Module\Base;
|
|||||||
*
|
*
|
||||||
* @property int $id
|
* @property int $id
|
||||||
* @property int|null $project_id 项目ID
|
* @property int|null $project_id 项目ID
|
||||||
* @property string $permissions 权限
|
* @property array|string $permissions 权限
|
||||||
* @property \Illuminate\Support\Carbon|null $created_at
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelAppend()
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelAppend()
|
||||||
@ -38,6 +38,7 @@ class ProjectPermission extends AbstractModel
|
|||||||
const TASK_LIST_SORT = 'task_list_sort'; // 列表排序
|
const TASK_LIST_SORT = 'task_list_sort'; // 列表排序
|
||||||
const TASK_ADD = 'task_add'; // 任务添加
|
const TASK_ADD = 'task_add'; // 任务添加
|
||||||
const TASK_UPDATE = 'task_update'; // 任务更新
|
const TASK_UPDATE = 'task_update'; // 任务更新
|
||||||
|
const TASK_TIME = 'task_time'; // 任务时间
|
||||||
const TASK_STATUS = 'task_status'; // 任务状态
|
const TASK_STATUS = 'task_status'; // 任务状态
|
||||||
const TASK_REMOVE = 'task_remove'; // 任务删除
|
const TASK_REMOVE = 'task_remove'; // 任务删除
|
||||||
const TASK_ARCHIVED = 'task_archived'; // 任务归档
|
const TASK_ARCHIVED = 'task_archived'; // 任务归档
|
||||||
@ -69,7 +70,7 @@ class ProjectPermission extends AbstractModel
|
|||||||
/**
|
/**
|
||||||
* 权限
|
* 权限
|
||||||
* @param $value
|
* @param $value
|
||||||
* @return string
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getPermissionsAttribute($value)
|
public function getPermissionsAttribute($value)
|
||||||
{
|
{
|
||||||
@ -110,7 +111,8 @@ class ProjectPermission extends AbstractModel
|
|||||||
self::TASK_LIST_REMOVE => [self::PERMISSIONS['project_leader']],
|
self::TASK_LIST_REMOVE => [self::PERMISSIONS['project_leader']],
|
||||||
self::TASK_LIST_SORT => $projectTaskList,
|
self::TASK_LIST_SORT => $projectTaskList,
|
||||||
self::TASK_ADD => $projectTaskList,
|
self::TASK_ADD => $projectTaskList,
|
||||||
self::TASK_UPDATE => [self::PERMISSIONS['project_leader'], self::PERMISSIONS['task_leader'], self::PERMISSIONS['task_assist']],
|
self::TASK_UPDATE => $taskUpdate = [self::PERMISSIONS['project_leader'], self::PERMISSIONS['task_leader'], self::PERMISSIONS['task_assist']],
|
||||||
|
self::TASK_TIME => $taskUpdate,
|
||||||
self::TASK_STATUS => $taskStatus = [self::PERMISSIONS['project_leader'], self::PERMISSIONS['task_leader']],
|
self::TASK_STATUS => $taskStatus = [self::PERMISSIONS['project_leader'], self::PERMISSIONS['task_leader']],
|
||||||
self::TASK_REMOVE => $taskStatus,
|
self::TASK_REMOVE => $taskStatus,
|
||||||
self::TASK_ARCHIVED => $taskStatus,
|
self::TASK_ARCHIVED => $taskStatus,
|
||||||
@ -160,6 +162,7 @@ class ProjectPermission extends AbstractModel
|
|||||||
case self::TASK_LIST_SORT:
|
case self::TASK_LIST_SORT:
|
||||||
case self::TASK_ADD:
|
case self::TASK_ADD:
|
||||||
case self::TASK_UPDATE:
|
case self::TASK_UPDATE:
|
||||||
|
case self::TASK_TIME:
|
||||||
case self::TASK_STATUS:
|
case self::TASK_STATUS:
|
||||||
case self::TASK_REMOVE:
|
case self::TASK_REMOVE:
|
||||||
case self::TASK_ARCHIVED:
|
case self::TASK_ARCHIVED:
|
||||||
|
|||||||
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Models\ProjectPermission;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class UpdateProjectPermissions extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
ProjectPermission::orderBy('id')->chunk(100, function ($rows) {
|
||||||
|
/** @var ProjectPermission $row */
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$permissions = $row->permissions;
|
||||||
|
if (!isset($permissions[ProjectPermission::TASK_TIME])) {
|
||||||
|
$permissions[ProjectPermission::TASK_TIME] = $permissions[ProjectPermission::TASK_UPDATE];
|
||||||
|
$row->permissions = \App\Module\Base::array2json($permissions);
|
||||||
|
$row->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -51,6 +51,14 @@
|
|||||||
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
|
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
|
||||||
</CheckboxGroup>
|
</CheckboxGroup>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
<FormItem :label="$L('修改时间')">
|
||||||
|
<CheckboxGroup v-model="formData.task_time">
|
||||||
|
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
|
||||||
|
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
|
||||||
|
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
|
||||||
|
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
|
||||||
|
</CheckboxGroup>
|
||||||
|
</FormItem>
|
||||||
<FormItem :label="$L('修改状态')">
|
<FormItem :label="$L('修改状态')">
|
||||||
<CheckboxGroup v-model="formData.task_status">
|
<CheckboxGroup v-model="formData.task_status">
|
||||||
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
|
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
|
||||||
@ -109,6 +117,7 @@ export default {
|
|||||||
project_task_list: [],
|
project_task_list: [],
|
||||||
task_add: [],
|
task_add: [],
|
||||||
task_update: [],
|
task_update: [],
|
||||||
|
task_time: [],
|
||||||
task_status: [],
|
task_status: [],
|
||||||
task_archived: [],
|
task_archived: [],
|
||||||
task_remove: [],
|
task_remove: [],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user