101 lines
3.0 KiB
Markdown
101 lines
3.0 KiB
Markdown
---
|
|
phase: 87-shipment-delete
|
|
plan: 01
|
|
subsystem: shipments
|
|
tags: [php, shipment-packages, crud, ui]
|
|
|
|
requires: []
|
|
provides:
|
|
- Usuwanie przesylek z poziomu szczegolow zamowienia
|
|
affects: []
|
|
|
|
tech-stack:
|
|
added: []
|
|
patterns: [OrderProAlerts.confirm for destructive actions]
|
|
|
|
key-files:
|
|
created: []
|
|
modified:
|
|
- src/Modules/Shipments/ShipmentPackageRepository.php
|
|
- src/Modules/Shipments/ShipmentController.php
|
|
- routes/web.php
|
|
- resources/views/orders/show.php
|
|
|
|
key-decisions:
|
|
- "Hard delete z bazy (bez soft-delete) — spójne z resztą systemu"
|
|
- "Usuwanie tylko lokalnego rekordu, bez kasowania z API przewoźnika"
|
|
|
|
patterns-established: []
|
|
|
|
duration: ~5min
|
|
started: 2026-04-08T00:00:00Z
|
|
completed: 2026-04-08T00:00:00Z
|
|
---
|
|
|
|
# Phase 87 Plan 01: Shipment Delete Summary
|
|
|
|
**Usuwanie przesyłek z zakładki Przesyłki w szczegółach zamówienia z potwierdzeniem OrderProAlerts.confirm**
|
|
|
|
## Performance
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| Duration | ~5min |
|
|
| Tasks | 2 completed |
|
|
| Files modified | 4 |
|
|
|
|
## Acceptance Criteria Results
|
|
|
|
| Criterion | Status | Notes |
|
|
|-----------|--------|-------|
|
|
| AC-1: Przycisk usuwania widoczny przy przesyłce | Pass | Kolumna Akcje z przyciskiem "Usun" btn--danger |
|
|
| AC-2: Potwierdzenie przed usunięciem | Pass | OrderProAlerts.confirm z fallback na native confirm |
|
|
| AC-3: Usunięcie przesyłki po potwierdzeniu | Pass | DELETE z DB, cleanup etykiety, activity log, flash + redirect |
|
|
|
|
## Accomplishments
|
|
|
|
- Endpoint POST `/orders/{id}/shipment/{packageId}/delete` z walidacją CSRF i owner check
|
|
- Cleanup pliku etykiety z dysku przy usunięciu
|
|
- Activity log `shipment_deleted` z tracking number i provider info
|
|
- Przycisk "Usun" z dialogiem potwierdzenia w tabeli przesyłek
|
|
|
|
## Files Created/Modified
|
|
|
|
| File | Change | Purpose |
|
|
|------|--------|---------|
|
|
| `src/Modules/Shipments/ShipmentPackageRepository.php` | Modified | Metoda `delete(int $id): void` |
|
|
| `src/Modules/Shipments/ShipmentController.php` | Modified | Metoda `delete()` — CSRF, owner check, label cleanup, activity log |
|
|
| `routes/web.php` | Modified | Route POST `/orders/{id}/shipment/{packageId}/delete` |
|
|
| `resources/views/orders/show.php` | Modified | Kolumna Akcje, przycisk Usun, JS confirm handler |
|
|
|
|
## Decisions Made
|
|
|
|
| Decision | Rationale | Impact |
|
|
|----------|-----------|--------|
|
|
| Hard delete (nie soft-delete) | Spójne z resztą systemu, brak potrzeby historii usuniętych | Prostsze, activity log zachowuje ślad |
|
|
| Brak kasowania z API przewoźnika | Usuwamy tylko lokalny rekord; przesyłka u przewoźnika istnieje niezależnie | Bezpieczne — nie wpływa na realną przesyłkę |
|
|
| Fallback na native confirm | Na wypadek gdyby OrderProAlerts nie był załadowany | Robustność |
|
|
|
|
## Deviations from Plan
|
|
|
|
None — plan executed exactly as written.
|
|
|
|
## Issues Encountered
|
|
|
|
None.
|
|
|
|
## Next Phase Readiness
|
|
|
|
**Ready:**
|
|
- Funkcjonalność usuwania przesyłek kompletna i gotowa do użycia
|
|
|
|
**Concerns:**
|
|
- None
|
|
|
|
**Blockers:**
|
|
- None
|
|
|
|
---
|
|
*Phase: 87-shipment-delete, Plan: 01*
|
|
*Completed: 2026-04-08*
|