7f35297025
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>
34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
---
|
|
id: 5-1
|
|
title: 5-1 Post Creation & Editing
|
|
status: Done
|
|
date: 2026-09-27
|
|
parent: 5
|
|
---
|
|
|
|
## Description
|
|
|
|
As an admin, I want to create and edit blog posts with rich text formatting, So that I can publish professional legal content for website visitors. Context: Integrates with: posts table; Technology: Livewire Volt, TinyMCE or similar rich text editor; Follows pattern: Admin CRUD pattern. Use the mews/purifier package for HTML sanitization via the clean() helper:. Full implementation history: docs/stories/story-5.1-post-creation-editing.md
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] Title (required, bilingual: Arabic and English)
|
|
- [ ] Body content (required, bilingual)
|
|
- [ ] Status (draft/published)
|
|
- [ ] Bold, italic, underline
|
|
- [ ] Headings (H2, H3)
|
|
- [ ] Bullet and numbered lists
|
|
- [ ] Links
|
|
- [ ] Blockquotes
|
|
- [ ] Save as draft functionality
|
|
- [ ] Preview post before publishing
|
|
- [ ] Edit published posts
|
|
- [ ] Auto-save draft periodically (every 60 seconds)
|
|
- [ ] Immediate publishing (no scheduling)
|
|
- [ ] created_at recorded on creation
|
|
- [ ] updated_at updated on edit
|
|
- [ ] HTML sanitization for XSS prevention
|
|
- [ ] Bilingual form labels
|
|
- [ ] Audit log for create/edit
|
|
- [ ] Tests for CRUD operations
|