feat(projects): edit project and tasks with change history (PMS-184) #111

Merged
longjacksonle merged 1 commit from feat/mapps-184-task-edit-history into main 2026-06-11 04:06:03 +02:00

What

SPA half of PMS-184: edit a project from its Overview, open each task to view/edit it, and see a task's change history with an "edited" marker.

Depends on mokosh-server PR #155 (task/project audit writes) and PR #154 (the per-record history endpoint).

Changes

  • The project Overview card gains an Edit button that opens a modal (name, description, status, project manager, start/target dates, budget amount/hours) and saves via PUT /api/v1/projects/{id}.
  • Each task row is now clickable and opens a task edit modal (title, description, status, priority, assignee, estimated hours, due date) that saves via PUT /api/v1/tasks/{id}.
  • The task modal shows that task's Change History from GET /api/v1/audit-log/entity/tasks/{id} (action + changed fields, actor resolved to a name via /auth/users, timestamp) and an "Edited {when} by {who}" marker.
  • Both modals restart the underlying resources on save, so edits reflect immediately.

Acceptance criteria

  • The project Overview has a working Edit button that saves project changes.
  • Clicking a task opens a detail / edit view (modal).
  • Editing a task persists via the task update endpoint and reflects on reload.
  • An edited task shows an "edited" marker (who / when) and its history is viewable.

🤖 Generated with Claude Code

## What SPA half of PMS-184: edit a project from its Overview, open each task to view/edit it, and see a task's change history with an "edited" marker. Depends on mokosh-server PR #155 (task/project audit writes) and PR #154 (the per-record history endpoint). ## Changes - The project **Overview** card gains an **Edit** button that opens a modal (name, description, status, project manager, start/target dates, budget amount/hours) and saves via `PUT /api/v1/projects/{id}`. - Each **task row is now clickable** and opens a **task edit modal** (title, description, status, priority, assignee, estimated hours, due date) that saves via `PUT /api/v1/tasks/{id}`. - The task modal shows that task's **Change History** from `GET /api/v1/audit-log/entity/tasks/{id}` (action + changed fields, actor resolved to a name via `/auth/users`, timestamp) and an **"Edited {when} by {who}"** marker. - Both modals restart the underlying resources on save, so edits reflect immediately. ## Acceptance criteria - [x] The project Overview has a working Edit button that saves project changes. - [x] Clicking a task opens a detail / edit view (modal). - [x] Editing a task persists via the task update endpoint and reflects on reload. - [x] An edited task shows an "edited" marker (who / when) and its history is viewable. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(projects): edit project and tasks with change history and edited marker (PMS-184)
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
Check / clippy + fmt + tests (pull_request) Successful in 1m59s
483687015c
Add an Edit button to the project Overview that opens a modal (name, description, status, manager, dates, budgets) saving via PUT /projects/{id}. Make each task row clickable: it opens a task edit modal (title, description, status, priority, assignee, estimate, due date) that saves via PUT /tasks/{id} and shows the task's change history from GET /audit-log/entity/tasks/{id} (action + changed fields, actor resolved via /auth/users, timestamp) plus an "Edited {when} by {who}" marker. Both modals restart the underlying resources on save so changes reflect without a reload. Depends on mokosh-server #155 (task/project audit writes) and #154 (history endpoint). Follows the shared edit + history + edited-badge pattern from PMS-185 and PMS-182.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
longjacksonle deleted branch feat/mapps-184-task-edit-history 2026-06-11 04:06:04 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!111
No description provided.