29-05-2026 Optimierungen Fixes am Code
This commit is contained in:
parent
e8c47b7553
commit
4bb9094207
31 changed files with 5141 additions and 76 deletions
|
|
@ -5,6 +5,118 @@
|
|||
|
||||
---
|
||||
|
||||
## 2026-05-29 · Wartung · Test-Regression-Fix + Phase-7-Doku nachgezogen
|
||||
|
||||
Review der Gesamt-Umsetzung. Zwei Befunde behoben:
|
||||
|
||||
### Fix — `ProfileUpdateTest > profile page is displayed`
|
||||
|
||||
Seit dem Customer-Portal-Umbau ist `/settings/profile` ein
|
||||
**Redirect** auf `/admin/me/profile` (route `me.profile`), die
|
||||
Profil-Pflege liegt jetzt in der Volt-Komponente
|
||||
`customer.profile`. Der Starter-Kit-Test machte aber weiterhin
|
||||
`GET /settings/profile`→`assertOk()` und lief deshalb auf 302
|
||||
statt 200 (undokumentierte Regression aus dem Commit
|
||||
„Optimierung der User und Admin Panels", 2026-05-22).
|
||||
|
||||
Test umgestellt auf `assertRedirect('/admin/me/profile')`. Das
|
||||
Rendern der Zielseite ist bereits durch
|
||||
`CustomerProfileSecurityTest` (Volt-Komponententest) abgedeckt,
|
||||
also keine Doppelung. Die übrigen 4 Tests der Datei nutzen
|
||||
weiterhin `Volt::test('settings.profile')` / `delete-user-form`
|
||||
(Komponenten existieren und sind funktional).
|
||||
|
||||
### Doku-Sync
|
||||
|
||||
Phase 7 war im Code vollständig umgesetzt (siehe Eintrag unten),
|
||||
aber im Log nicht erfasst und in den Status-Tabellen
|
||||
widersprüchlich (`19-PHASE-7` „✅", `03-WEITERE-PHASEN` „🟡 in
|
||||
Planung", `README` noch auf Stand Phase 2). Nachgezogen:
|
||||
- Phase-7-Eintrag in diesem Log ergänzt.
|
||||
- `README.md` Status-Tabelle auf Phase 0–7 aktualisiert.
|
||||
- `03-WEITERE-PHASEN.md` Phase 7 von „🟡 In Planung" auf
|
||||
„✅ abgeschlossen" + Gesamt-Status-Tabelle ergänzt.
|
||||
|
||||
**Validierung**:
|
||||
- `php artisan test --compact` → 359 passed, 3 skipped,
|
||||
1 failed (weiterhin nur der pre-existing `ApiDocumentationTest`,
|
||||
fehlende `docs/api/v1.yml`)
|
||||
- `vendor/bin/pint tests/Feature/Settings/ProfileUpdateTest.php`
|
||||
→ fixed (EOF-Blankline)
|
||||
- `npm run build:portal` → grün (436.51 KB CSS / 58.95 KB gzip)
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-22 · Phase 7 · Press-Release-Form-Refactor ✅ (retroaktiv dokumentiert)
|
||||
|
||||
> Großes Modul-Refactor außerhalb der ursprünglichen hub-flux-
|
||||
> Roadmap (0–6). Vorlage:
|
||||
> `dev/frontend/tailwind_v3/User Neue Mitteilung presseportale.html`.
|
||||
> Plan-Doc: `19-PHASE-7-PRESS-RELEASE-FORM.md`.
|
||||
> Dieser Eintrag wurde am 2026-05-29 nachgetragen — die Arbeit
|
||||
> selbst entstand am 21./22.05. (Commit „Optimierung der User und
|
||||
> Admin Panels").
|
||||
|
||||
**7A — Migrations + Models**
|
||||
- `add_phase7_fields_to_press_releases` (subtitle,
|
||||
boilerplate_override, scheduled_at, embargo_at — alle nullable)
|
||||
- `create_press_release_attachments_table` (analog
|
||||
press_release_images, mit sort_order, soft-deletes)
|
||||
- `add_boilerplate_to_companies` (companies.boilerplate)
|
||||
- Models + Factory + Relationen + Casts.
|
||||
|
||||
**7B — Editor + Sanitizer**
|
||||
- `composer require mews/purifier ^3.4` (approved)
|
||||
- `App\Services\PressRelease\PressReleaseHtmlSanitizer`
|
||||
(Allowlist p/br/h2/h3/strong/em/u/ul/ol/li/blockquote/a)
|
||||
- `<flux:textarea>` → `<flux:editor>` mit reduzierter Toolbar.
|
||||
- Test: `PressReleaseHtmlSanitizerTest`.
|
||||
|
||||
**7C/7D — Customer Create + Edit Form (UI)**
|
||||
- 2-Spalter mit sticky Settings-Sidebar (Status & Absenden,
|
||||
Portal read-only-Badge, Pressekontakt-Single-Select,
|
||||
Themen-Tags, Veröffentlichung, SEO).
|
||||
- Linke Spalte: Firma-Selector, Titel/Untertitel mit
|
||||
Counter-Pillen (`.pr-meter`), `flux:editor`, Medien,
|
||||
Anhänge, Boilerplate-Box mit Override-Toggle.
|
||||
- Hub-Form-Bausteine in `hub-components.css` ergänzt
|
||||
(`.pr-form-label`, `.pr-meter`, `.pr-bald-badge`,
|
||||
`.pr-ai-hint`, `.pr-check-row`, `.pr-boiler`, `.pr-tag-chip`,
|
||||
`.pr-pub-opt` …).
|
||||
- Live-Re-Validation (`updated()` re-validiert Felder mit
|
||||
bestehendem Error) + Sammel-Toast bei Validierungsfehler.
|
||||
- Neues JS-Asset `portal-form-hooks` (Build).
|
||||
- Tests: `CustomerPressReleaseCreatePhase7Test` (8),
|
||||
`CustomerPressReleaseEditPhase7Test` (9).
|
||||
|
||||
**7E — Anhänge-Manager**
|
||||
- `App\Services\PressRelease\PressReleaseAttachmentStorage`
|
||||
- Komponente
|
||||
`livewire/components/press-release-attachments-manager.blade.php`
|
||||
(upload/remove/reorder, PDF/DOCX/XLSX/PPTX, Tile-Layout).
|
||||
|
||||
**7F — Scheduling + Embargo**
|
||||
- UI: Radio „Geplanter Termin" + `datetime-local`,
|
||||
Embargo-Switch + Date-Picker.
|
||||
- Validation: scheduled_at min. 5 Min Zukunft, embargo_at
|
||||
Zukunft (nur wenn Toggle aktiv).
|
||||
- `PressReleaseService::publish()` → `resolvePublishedAt()`
|
||||
(published_at > scheduled_at > embargo_at-Verschiebung > now).
|
||||
- Command `press-releases:publish-scheduled`
|
||||
(`App\Console\Commands\PublishScheduledPressReleases`,
|
||||
`--dry-run`, `--limit=N`) + Scheduler-Eintrag in
|
||||
`routes/console.php` (`everyFiveMinutes`, `withoutOverlapping`,
|
||||
`runInBackground`).
|
||||
- Tests: `PressReleaseSchedulingTest` (11),
|
||||
`CustomerPressReleaseSchedulingFormTest` (5).
|
||||
|
||||
**Effekt auf die Suite**: von dokumentierten ~231 auf ~360 Tests
|
||||
gewachsen. Admin-Create/Edit ziehen das Layout vorerst NUR
|
||||
optisch mit; Scheduling/Embargo-UI bleibt Customer-seitig
|
||||
(laut Plan-Doc Out-of-Scope für Admin in Phase 7).
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-20 · Phase 6 · Auth-Cleanup ✅
|
||||
|
||||
Mit Phase 6 ist die hub-flux-Roadmap (Phase 0–6) **vollständig
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue