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