功能与角色
角色
权限来自 accounts.Membership,不是 Django 默认 is_superuser(后者只服务 /manage/)。
| 角色 | Membership | 部门绑定 | 典型入口 |
|---|---|---|---|
| admin | role=admin | department=NULL(全局) | /admin/ |
| chair | role=chair | 必须绑定一个部门 | /chair/ |
| user | role=user | 绑定部门 | /user/ |
| 未分配申请人 | 无组织 Membership | — | 招新申请流 |
特殊部门 slug:
| slug | 名称 | 额外能力 |
|---|---|---|
zhuxituan | 主席团 | 报销审核、教室工单确认 |
shichangbu | 市场部 | 入账新增(后端仍校验;导航当前隐藏) |
辅助函数见 accounts/utils.py;视图守卫见 Permission Mixins。
功能模块
| 模块 | Django app | 说明 |
|---|---|---|
| 账号与 RBAC | accounts | User、部门、Membership、激活码、申请档案、通知偏好 |
| 招新 | recruitment | 周期、岗位 JD、申请状态机、面试槽位、Zoom、志愿排序 |
| 财务 | treasury | 报销单 + 入账记录 |
| 教室 | classroom | 单次/每周预约、PDF 回执解析 |
| 邮件 | mailing | 无独立 Model;事件 → 模板 → Resend |
| 文件 | files | 统一索引 local/R2 + 下载鉴权 |
| 外部服务 | services | Drive / CSSA GPT |
| 共享 | core | 首页、三角色 dashboard、ActivityLog、UI tags |