docs(09-02): complete etape management plan
This commit is contained in:
parent
4af623a57b
commit
3ce7c8ea4f
1 changed files with 76 additions and 0 deletions
76
.planning/phases/09-etapes/09-02-SUMMARY.md
Normal file
76
.planning/phases/09-etapes/09-02-SUMMARY.md
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
---
|
||||||
|
phase: 09-etapes
|
||||||
|
plan: 02
|
||||||
|
subsystem: tasks
|
||||||
|
tags: [go, htmx, templ, etapes]
|
||||||
|
requires:
|
||||||
|
- phase: 09-etapes
|
||||||
|
plan: 01
|
||||||
|
provides: etape schema, queries, strip, and task filtering
|
||||||
|
provides:
|
||||||
|
- etape edit, delete, and reorder handlers
|
||||||
|
- delete confirmation explaining tasks move to Unassigned
|
||||||
|
- compact chip management controls
|
||||||
|
affects: [09-etapes, tasks]
|
||||||
|
tech-stack:
|
||||||
|
added: []
|
||||||
|
patterns: [full tasks-tab refresh after management mutations, explicit reorder forms]
|
||||||
|
key-files:
|
||||||
|
created: []
|
||||||
|
modified:
|
||||||
|
- backend/internal/web/handlers_etapes.go
|
||||||
|
- backend/internal/web/router.go
|
||||||
|
- backend/templates/etapes.templ
|
||||||
|
- backend/templates/etapes_forms.go
|
||||||
|
key-decisions:
|
||||||
|
- "Use explicit Up/Down reorder forms instead of adding a second Sortable.js group in this minimal UI."
|
||||||
|
- "Return the full #tasks-tab fragment after edit, delete, and reorder so counts, chips, and kanban stay consistent."
|
||||||
|
patterns-established:
|
||||||
|
- "Etape management routes bind both tablo id and etape id before mutation."
|
||||||
|
- "Delete relies on the database foreign key's ON DELETE SET NULL behavior for task unassignment."
|
||||||
|
requirements-completed: []
|
||||||
|
completed: 2026-05-15
|
||||||
|
---
|
||||||
|
|
||||||
|
# Plan 09-02 Summary
|
||||||
|
|
||||||
|
**Etape edit, delete-unassign, and reorder management from the Tasks tab strip**
|
||||||
|
|
||||||
|
## Accomplishments
|
||||||
|
|
||||||
|
- Added etape edit, update, delete confirmation, delete, and reorder routes under protected tablo routes.
|
||||||
|
- Added compact edit/delete/up/down controls beside etape chips.
|
||||||
|
- Added the required delete confirmation copy: `Tasks in this etape will stay in the tablo and move to Unassigned.`
|
||||||
|
- Added tests for update, delete-unassign, reorder, and non-owner 404 behavior.
|
||||||
|
|
||||||
|
## Task Commits
|
||||||
|
|
||||||
|
1. **Task 1: Add RED coverage for etape management** - `9b89282`
|
||||||
|
2. **Task 2: Implement edit, delete-unassign, and reorder** - `4af623a`
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- `cd backend && just generate`
|
||||||
|
- `cd backend && go test ./internal/web -run 'TestEtapeUpdateChangesTitleAndDescription|TestEtapeDeleteUnassignsTasks|TestEtapeReorderPersistsPosition|TestEtapeOwnershipReturns404' -count=1 -v`
|
||||||
|
- `cd backend && go test ./... -count=1`
|
||||||
|
- `git diff --check`
|
||||||
|
|
||||||
|
Note: the DB-backed integration tests compile but are skipped locally because `TEST_DATABASE_URL`/`DATABASE_URL` is unset.
|
||||||
|
|
||||||
|
## Deviations from Plan
|
||||||
|
|
||||||
|
Used explicit Up/Down forms for reorder rather than Sortable.js. This keeps the first management UI minimal and avoids introducing a second drag/drop group.
|
||||||
|
|
||||||
|
## Issues Encountered
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
## User Setup Required
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
## Next Phase Readiness
|
||||||
|
|
||||||
|
Plan 09-03 can focus on richer task assignment selectors and filter behavior using the existing etape list, ownership validation, and full-tab refresh helpers.
|
||||||
|
|
||||||
|
## Self-Check: PASSED
|
||||||
Loading…
Reference in a new issue