Files
Naser Mansour 7f35297025 Mark all libra tasks Done — confirmed live in production ~1 year
Naser confirmed all remaining QA Review / Draft rows (97 subtasks, 16
parent rollups) are done in substance: the site has been in production
for roughly a year. Overrides the conservative QA-Review/Draft mapping
from the prior takeover commit (0f9d12c) at his explicit instruction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 22:04:04 +03:00

30 lines
1.4 KiB
Markdown

---
id: 4-3
title: 4-3 Timeline Archiving
status: Done
date: 2026-09-27
parent: 4
---
## Description
As an admin, I want to archive completed cases and unarchive if needed, So that I can organize active and completed case timelines. Context: Integrates with: timelines table (status field from Story 4.1); Technology: Livewire Volt; Follows pattern: Soft state change pattern. Add these methods to app/Models/Timeline.php:. Full implementation history: docs/stories/story-4.3-timeline-archiving.md
## Acceptance Criteria
- [ ] Archive button on timeline detail view (admin only)
- [ ] Confirmation modal before archiving ("Are you sure?")
- [ ] Status changes to 'archived'
- [ ] Timeline remains visible to client (read-only as always)
- [ ] No further updates can be added (show disabled state with tooltip)
- [ ] Visual indicator shows archived status (badge + muted styling)
- [ ] Unarchive button on archived timelines
- [ ] Status returns to 'active'
- [ ] Updates can be added again
- [ ] Archiving already-archived timeline: No-op, no error shown
- [ ] Unarchiving already-active timeline: No-op, no error shown
- [ ] Adding update to archived timeline: Prevented with error message
- [ ] Audit log for status changes (action: 'archive' or 'unarchive') - uses AdminLog `action` field
- [ ] Bilingual labels (AR/EN for buttons, messages)
- [ ] Feature tests covering all scenarios below