feat(108): delivery status management
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>
This commit is contained in:
@@ -1,3 +1,21 @@
|
||||
# DB_SCHEMA
|
||||
|
||||
> Schemat bazy danych — tabele, kolumny, FK, indeksy.
|
||||
|
||||
## delivery_statuses
|
||||
|
||||
Tabela znormalizowanych statusów przesyłek. Zastępuje hardcoded stałe z `DeliveryStatus.php` (od Phase 108).
|
||||
|
||||
| Kolumna | Typ | Opis |
|
||||
|---------|-----|------|
|
||||
| id | INT UNSIGNED PK | Auto-increment |
|
||||
| key | VARCHAR(50) UNIQUE | Klucz statusu (np. `in_transit`) |
|
||||
| label_pl | VARCHAR(100) | Etykieta po polsku |
|
||||
| color | VARCHAR(7) | Kolor tła w formacie hex (`#rrggbb`) |
|
||||
| sort_order | TINYINT UNSIGNED | Kolejność sortowania |
|
||||
| is_terminal | TINYINT(1) | 1 = status końcowy (nie można cofnąć) |
|
||||
| is_system | TINYINT(1) | 1 = status systemowy (nieedytowalny z UI) |
|
||||
| created_at | DATETIME | Data utworzenia |
|
||||
|
||||
**Statusy systemowe** (is_system=1, is_terminal=1): `delivered`, `returned`, `cancelled`.
|
||||
**Migracja**: `20260427_000103_create_delivery_statuses_table.sql`
|
||||
|
||||
Reference in New Issue
Block a user