Repository navigation
Description
Overview
Users should be able to add photos to their approved submissions, while admins should have full edit capabilities. Regular users should be able to request corrections via email.
Current State
Edit permissions:
- Unsubmitted drafts: Owner can fully edit
- Submitted but not approved: Owner can "unsubmit" to edit
- Approved submissions: No editing for anyone
Proposed Features
1. User Photo-Only Edit (Approved Submissions)
Users can add additional photos to their own approved submissions without changing any breeding data.
Implementation:
- New route:
GET /submissions/:id/add-photos - New route:
PATCH /submissions/:id/photos - Button on submission view: "Add Photos" (only for approved submissions owned by user)
- Minimal form showing:
- Submission context (read-only)
- Existing photos (read-only gallery)
- Image upload component (editable)
- Updates only
imagesfield in database
2. Admin Full Edit (Approved Submissions)
Admins should have unlimited ability to correct any data in approved submissions.
Implementation:
- Update permission check in
src/routes/submission.tsupdate() function - Allow admins to edit ALL fields even when approved
- Show warning banner: "
⚠️ Editing approved submission" - Optional: Add audit trail (
edit_historyJSON column)
3. User Correction Request
Regular users should be able to request corrections via email form.
Implementation:
- New route:
GET /submissions/:id/request-correction - New route:
POST /submissions/:id/request-correction - Form with:
- Submission context (read-only)
- Text area: "What needs to be corrected?"
- Email sent to admins with:
- Link to submission
- Correction request text
- Link to admin edit page
- Button on submission view: "Request Correction" (only for approved submissions owned by user)
Implementation Plan
Phase 1: User Photo-Only Edit
New files:
src/views/submission/add-photos.pug- Photo upload form
Modified files:
src/routes/submission.ts- AddrenderAddPhotos()andupdatePhotos()handlerssrc/views/submission/review.pug- Add "Add Photos" buttonsrc/routes/api/upload.ts- Update permissions to allow photo upload/delete for approved submissions
Phase 2: Admin Full Edit
Modified files:
src/routes/submission.ts- Update permission checks inupdate()functionsrc/views/submission/review.pug- Uncomment/fix admin edit button (line 71-74)- Edit form template - Add warning banner for approved submissions
Phase 3: Correction Request
New files:
src/views/submission/request-correction.pug- Correction request form
Modified files:
src/notifications.ts- AddsendCorrectionRequest()functionsrc/routes/submission.ts- Add correction request handlerssrc/views/submission/review.pug- Add "Request Correction" button
Security Considerations
✅ Photo editing: Only owner, only images field, approved submissions only
✅ Admin editing: Full access with warning/logging
✅ Correction requests: Rate limited, email only (no direct DB changes)
✅ Upload API: Already has authentication + rate limiting
Testing Checklist
- User can add photos to their own approved submission
- User cannot edit data fields on approved submission
- User cannot add photos to others' submissions
- Admin can fully edit any approved submission
- Admin edit shows warning banner
- User can request correction on approved submission
- Correction request sends email to admins
- Correction request includes submission link
Files to Create/Modify
New files:
src/views/submission/add-photos.pugsrc/views/submission/request-correction.pug
Modified files:
src/routes/submission.tssrc/views/submission/review.pugsrc/routes/api/upload.tssrc/notifications.ts
Activity
docs: update submission workflow diagram with deletion and post-appro…
feat: add photo upload to approved submissions for owners
jra3 commentedon Oct 7, 2025
Note: This issue is tracked as part of master issue #115 (Image Upload System - Future Enhancements). See #115 for comprehensive planning of all image-related improvements including this photo editing feature.
jra3 commentedon Oct 21, 2025
✅ Implemented photo and video editing for submission owners on approved submissions.
What was implemented:
What was NOT implemented from the original issue:
Closes with commit e8cf8c3
feat: allow submission owners to edit photos and video on approved su…