- New backend/tasks/ package (offer/ house style): tasks table (title/status/priority/due_date/assignee_id -> users.id, optional inbox_id/job_post_id links, soft delete), routes /tasks/fetch|create| update|delete guarded by new tasks.* permission tags - Assignees validated against users+roles: must exist, not deleted, not candidate-role; omitted assignee defaults to the caller; responses carry assignee_name/assignee_role from one batched join - TASKS permission module (104 -> 112 tags); manual/004_tasks_rbac.sql seeds the tags + tasks_management bundle onto 6 staff roles (auto-applies at startup) - Tasks.jsx cut over from seed to live: real create/complete/reopen with optimistic flip, two-click delete in the detail modal, assignee picker listing real users with roles; live sidebar badge (open-task total); route now requires tasks.view Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app.py | ||
| models.py | ||
| permissions.py | ||
| plugins.py | ||
| serializers.py | ||
| views.py | ||