# FIX SUMMARY — 05-01 **Phase:** 05-order-bugs-fix **Plan:** 05-01-FIX **Date:** 2026-03-12 **Status:** COMPLETE ## Tasks executed | # | Task | Status | |---|------|--------| | 1 | Guard summaryView() — redirect do istniejącego zamówienia | PASS | | 2 | try-catch createFromBasket w basketSave() | PASS | | 3 | Migracja SQL migrations/0.338.sql + DATABASE_STRUCTURE.md | PASS | | 4 | PaymentMethodRepository — is_cod w normalizacji i forTransport() | PASS | | 5 | Admin form — switch "Platnosc przy odbiorze" + save | PASS | | 6 | OrderRepository — is_cod zamiast hardkodowanego payment_id == 3 | PASS | | 7 | Checkpoint: migracja DB + ustawienie flagi w adminie | DONE | ## Files modified - `autoload/front/Controllers/ShopBasketController.php` - `autoload/Domain/Order/OrderRepository.php` - `autoload/Domain/PaymentMethod/PaymentMethodRepository.php` - `autoload/admin/Controllers/ShopPaymentMethodController.php` - `migrations/0.338.sql` - `docs/DATABASE_STRUCTURE.md` ## Deviations Brak. ## Post-deploy checklist - [x] Migracja `migrations/0.338.sql` uruchomiona na produkcji - [x] Flaga `is_cod = 1` ustawiona na metodzie "Płatność przy odbiorze" w /admin/shop_payment_method/ - [ ] Redis cache zflushowany (lub poczekać na wygaśnięcie 24h TTL) ## AC coverage | AC | Status | |----|--------| | AC-1: Brak duplikatów przy powrocie do /podsumowanie | SATISFIED | | AC-2: Wyjątki z createFromBasket obsługiwane | SATISFIED | | AC-3: Admin może ustawić is_cod na metodzie płatności | SATISFIED | | AC-4: Zamówienie COD dostaje status 4 "Przyjęte do realizacji" | SATISFIED |