generated sotries
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Story 6.6: Data Export - Timeline Reports
|
||||
|
||||
## Epic Reference
|
||||
**Epic 6:** Admin Dashboard
|
||||
|
||||
## User Story
|
||||
As an **admin**,
|
||||
I want **to export timeline and case data**,
|
||||
So that **I can maintain records and generate case reports**.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
### Export Options
|
||||
- [ ] Export all timelines (across all clients)
|
||||
- [ ] Export timelines for specific client
|
||||
|
||||
### Filters
|
||||
- [ ] Status (active/archived)
|
||||
- [ ] Date range
|
||||
|
||||
### Export Includes
|
||||
- [ ] Case name and reference
|
||||
- [ ] Client name
|
||||
- [ ] Status
|
||||
- [ ] Created date
|
||||
- [ ] Number of updates
|
||||
- [ ] Last update date
|
||||
|
||||
### Formats
|
||||
- [ ] CSV format
|
||||
- [ ] PDF format
|
||||
|
||||
### Optional
|
||||
- [ ] Include update content or summary only toggle
|
||||
|
||||
## Technical Notes
|
||||
|
||||
```php
|
||||
public function exportTimelinesPdf(Request $request)
|
||||
{
|
||||
$timelines = Timeline::query()
|
||||
->with(['user', 'updates'])
|
||||
->withCount('updates')
|
||||
->when($request->client_id, fn($q) => $q->where('user_id', $request->client_id))
|
||||
->when($request->status, fn($q) => $q->where('status', $request->status))
|
||||
->get();
|
||||
|
||||
$pdf = Pdf::loadView('exports.timelines', [
|
||||
'timelines' => $timelines,
|
||||
'includeUpdates' => $request->boolean('include_updates'),
|
||||
]);
|
||||
|
||||
return $pdf->download('timelines-export.pdf');
|
||||
}
|
||||
```
|
||||
|
||||
## Definition of Done
|
||||
- [ ] All filters work
|
||||
- [ ] CSV export works
|
||||
- [ ] PDF with branding works
|
||||
- [ ] Optional update content toggle works
|
||||
- [ ] Tests pass
|
||||
|
||||
## Estimation
|
||||
**Complexity:** Medium | **Effort:** 3 hours
|
||||
Reference in New Issue
Block a user