generated from john/python-template
+10
-2
@@ -11,6 +11,7 @@ People manages reusable historical-person records. A Person may appear in many D
|
||||
| `/people` | Searchable People list. |
|
||||
| `/people/new` | Create a Person. |
|
||||
| `/people/{person_id}` | View one Person and linked Documents. |
|
||||
| `/people/{person_id}/photos` | Manage Person photos. |
|
||||
| `/people/{person_id}/edit` | Edit the Person. |
|
||||
| `/people/{person_id}/delete` | Confirm permanent deletion. |
|
||||
|
||||
@@ -53,8 +54,8 @@ Rules:
|
||||
|
||||
- The header provides **New Document**, **Edit Person**, and **Delete**.
|
||||
- **New Document** opens Document creation with this Person requested for author preselection.
|
||||
- Person Detail includes a photo gallery card with multi-file upload, per-photo description edits, set-primary, and delete.
|
||||
- Primary photo is shown first and labeled as the primary portrait.
|
||||
- Person Detail shows a single-photo viewer with **Previous/Next** navigation; the page-level **Edit Photo(s)** header action opens photo management.
|
||||
- Photo management (upload, description edit, set-primary, delete) is intentionally moved to `/people/{person_id}/photos`.
|
||||
- Biographical Record shows names, compact birth/death dates, and places.
|
||||
- Birth and death place values are clickable links to Google Maps when present.
|
||||
- FamilySearch ID is shown as a metadata value and is clickable to the FamilySearch person details route when present.
|
||||
@@ -72,6 +73,13 @@ Rules:
|
||||
- Success returns to the People list.
|
||||
- Missing or already-deleted records return to a safe list state.
|
||||
|
||||
## Photo Gallery Behavior (`/people/{person_id}/photos`)
|
||||
|
||||
- Upload is triggered from a header-level **Upload Photo(s)** control beside **Back to Person**.
|
||||
- The gallery renders all photos in a responsive grid (3-4 tiles wide on larger screens).
|
||||
- Description text is shown as an overlay at the bottom of each image for quick context.
|
||||
- The editor provides **Save Description**, **Set Primary** (when applicable), and **Delete Photo** actions.
|
||||
|
||||
## Acceptance Checklist
|
||||
|
||||
- List fields, alignment, date fallback, search, sorting, and navigation match this contract.
|
||||
|
||||
Reference in New Issue
Block a user