Phase 108 complete (v3.2 milestone):
Plan 108-01 — Delivery Status DB & CRUD:
- Tabela delivery_statuses z seedem 11 statusow systemowych
- DeliveryStatusRepository (CRUD + per-request static cache)
- DeliveryStatus::setRepository() — DB fallback dla static final class
- Panel /settings/delivery-statuses (zakladki Statusy + Mapowanie)
- Sidebar przebudowany: Statusy zamowien + Statusy przesylek
Plan 108-02 — Automation Dropdowns z DB + UI Refactor:
- Dropdowny automatyzacji ladowane z DB (warunek shipment_status + akcja update_shipment_status)
- Walidacja przez DeliveryStatus::getAllStatuses()
- Osobna podstrona formularza CRUD (delivery-status-form.php)
- Lista uproszczona: rename Terminal -> Koncowy, usunieta kolumna Typ
- BREAKING: drop backward compat dla starych grupowych kluczy automatyzacji
- Bug fix: path params w DeliveryStatusesController via \$request->input('id')
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
44 lines
2.7 KiB
Markdown
44 lines
2.7 KiB
Markdown
# 2026-04-27
|
|
|
|
## Co zrobiono
|
|
|
|
- [Phase 108, Plan 01] Wyniesiono znormalizowane statusy przesyłek do tabeli DB z CRUD panelem i dynamicznym ładowaniem
|
|
- Migracja `20260427_000103_create_delivery_statuses_table.sql` — tabela delivery_statuses z seedem 11 statusów systemowych
|
|
- Nowy `DeliveryStatusRepository` — CRUD + per-request static cache, blokady systemowych i używanych statusów
|
|
- `DeliveryStatus::setRepository()` — transparent DB loading: label(), getAllOptions(), getColor() z DB, fallback na stałe
|
|
- Nowy panel `/settings/delivery-statuses` z zakładkami: Statusy (CRUD niebędacych systemowych) + Mapowanie dostawy (embedded)
|
|
- Sidebar przebudowany: "Statusy" → "Statusy zamówień", nowa pozycja "Statusy przesyłek" z badge niezmapowanych; usunięto osobną pozycję "Mapowanie statusów dostawy"
|
|
- Badge przesyłek: system statuses → CSS class; custom statuses → `.delivery-badge--custom` + CSS custom property `--status-color`
|
|
|
|
- [Phase 108, Plan 02] Domknięcie integracji DB-driven statusów dla automatyzacji + refaktor UI listy
|
|
- `AutomationController` — usunięto stałą `SHIPMENT_STATUS_OPTIONS`; dropdown z `DeliveryStatus::getAllOptions()`
|
|
- `AutomationService` — usunięto `SHIPMENT_STATUS_OPTION_MAP`; ewaluacja porównuje klucze bezpośrednio (BREAKING dla starych reguł)
|
|
- Walidacja shipment_status / update_shipment_status przez `DeliveryStatus::getAllStatuses()`
|
|
- Nowa podstrona `/settings/delivery-statuses/new` i `/{id}/edit` — osobny formularz CRUD zamiast inline edit row
|
|
- Lista statusów: rename "Terminal" → "Końcowy", usunięta kolumna "Typ" (badge systemowy)
|
|
- Bug fix: path params w `DeliveryStatusesController::edit/update/destroy` przez `$request->input('id')` (pre-existing z Plan 01)
|
|
|
|
## Zmienione pliki
|
|
|
|
- `database/migrations/20260427_000103_create_delivery_statuses_table.sql`
|
|
- `src/Modules/Shipments/DeliveryStatusRepository.php`
|
|
- `src/Modules/Settings/DeliveryStatusesController.php`
|
|
- `resources/views/settings/delivery-statuses.php`
|
|
- `resources/views/settings/_delivery-status-mappings-content.php`
|
|
- `src/Modules/Shipments/DeliveryStatus.php`
|
|
- `src/Modules/Settings/DeliveryStatusMappingController.php`
|
|
- `resources/views/settings/delivery-status-mappings.php`
|
|
- `resources/views/layouts/app.php`
|
|
- `resources/scss/modules/_delivery-status.scss`
|
|
- `public/assets/css/app.css`
|
|
- `resources/lang/pl.php`
|
|
- `resources/views/orders/show.php`
|
|
- `resources/views/shipments/prepare.php`
|
|
- `.paul/docs/DB_SCHEMA.md`
|
|
- `.paul/docs/ARCHITECTURE.md`
|
|
- `.paul/docs/TECH_CHANGELOG.md`
|
|
- `src/Modules/Automation/AutomationController.php`
|
|
- `src/Modules/Automation/AutomationService.php`
|
|
- `routes/web.php`
|
|
- `resources/views/settings/delivery-status-form.php`
|