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

1.4 KiB

id, title, status, date, parent
id title status date parent
4-3 4-3 Timeline Archiving Done 2026-09-27 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