mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 10:55:59 +00:00
65 lines
2.2 KiB
Markdown
65 lines
2.2 KiB
Markdown
---
|
||
id: project.permission.concept
|
||
title: 项目任务权限点(ProjectPermission)
|
||
type: concept
|
||
feature: project
|
||
scope: admin
|
||
locale: zh
|
||
aliases:
|
||
- 项目权限
|
||
- 任务权限点
|
||
- TASK_ADD 权限
|
||
- 权限规则配置
|
||
- 谁能改任务
|
||
related_tools: [get_project]
|
||
related_pages: [project_settings, project_permission]
|
||
prerequisites:
|
||
- 是项目拥有者(owner=1)或管理员(owner=2)
|
||
negative:
|
||
- 权限规则只控制任务操作(add/update/remove/move 等),不控制项目设置
|
||
- 拥有者 / 管理员的权限不可被 ProjectPermission 限制(默认全开)
|
||
- 权限规则只能在「项目级」配置,不能按列、按标签细分
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# 项目任务权限点(ProjectPermission)
|
||
|
||
## 定义
|
||
DooTask 用 `ProjectPermission` 表细化「谁能做什么任务级操作」。每条规则按 4 类主体 + 11 个权限点矩阵展开。规则只针对 owner=0 的普通成员;拥有者 / 管理员默认全开。
|
||
|
||
## 4 类权限主体
|
||
- `project_leader` — 项目拥有者(隐式全开)
|
||
- `project_member` — 项目内任意普通成员
|
||
- `task_leader` — 该任务的负责人(owner=1 in ProjectTaskUser)
|
||
- `task_assist` — 该任务的协作者(owner=0 in ProjectTaskUser)
|
||
|
||
## 11 个权限点
|
||
| 点 | 含义 |
|
||
|---|---|
|
||
| TASK_LIST_ADD | 加列 |
|
||
| TASK_LIST_UPDATE | 改列名 / 颜色 |
|
||
| TASK_LIST_REMOVE | 删列 |
|
||
| TASK_LIST_SORT | 列排序 |
|
||
| TASK_ADD | 加任务([[task.create.howto.quick]]) |
|
||
| TASK_UPDATE | 改任务字段 |
|
||
| TASK_TIME | 改计划时间 |
|
||
| TASK_STATUS | 改工作流 / 完成 |
|
||
| TASK_REMOVE | 删任务 |
|
||
| TASK_ARCHIVED | 归档任务 |
|
||
| TASK_MOVE | 跨列 / 跨项目移动 |
|
||
|
||
## 在哪配
|
||
- 桌面端:项目设置 → 「权限规则」面板
|
||
- 用矩阵勾选:每个权限点 × 每类主体
|
||
|
||
## 默认值
|
||
新建项目时:
|
||
- project_member:TASK_ADD / TASK_UPDATE / TASK_STATUS / TASK_TIME / TASK_ARCHIVED / TASK_MOVE / TASK_LIST_SORT 全开
|
||
- task_leader / task_assist:全开(任务自己人改自己的任务)
|
||
- TASK_LIST_ADD / TASK_LIST_UPDATE / TASK_LIST_REMOVE:仅拥有者 / 管理员
|
||
|
||
## 不支持
|
||
- 不能按列、按标签做细粒度限制
|
||
- 不能限制拥有者 / 管理员(始终全开)
|
||
- 不支持「按部门角色」自动套用权限
|