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:
@@ -60,6 +60,7 @@ use App\Modules\Automation\AutomationExecutionLogRepository;
|
||||
use App\Modules\Automation\AutomationEmailOnceRepository;
|
||||
use App\Modules\Settings\CronSettingsController;
|
||||
use App\Modules\Settings\DeliveryStatusMappingController;
|
||||
use App\Modules\Settings\DeliveryStatusesController;
|
||||
use App\Modules\Settings\SettingsController;
|
||||
use App\Modules\Shipments\ApaczkaShipmentService;
|
||||
use App\Modules\Shipments\AllegroShipmentService;
|
||||
@@ -68,6 +69,7 @@ use App\Modules\Shipments\ShipmentController;
|
||||
use App\Modules\Shipments\ShipmentPackageRepository;
|
||||
use App\Modules\Shipments\ShipmentPresetController;
|
||||
use App\Modules\Shipments\DeliveryStatusMappingRepository;
|
||||
use App\Modules\Shipments\DeliveryStatusRepository;
|
||||
use App\Modules\Shipments\ShipmentPresetRepository;
|
||||
use App\Modules\Shipments\ShipmentProviderRegistry;
|
||||
use App\Modules\Printing\ApiKeyMiddleware;
|
||||
@@ -185,11 +187,21 @@ return static function (Application $app): void {
|
||||
(int) $app->config('app.cron.web_limit_default', 5)
|
||||
);
|
||||
$deliveryStatusMappingRepository = new DeliveryStatusMappingRepository($app->db());
|
||||
$deliveryStatusRepository = new DeliveryStatusRepository($app->db());
|
||||
\App\Modules\Shipments\DeliveryStatus::setRepository($deliveryStatusRepository);
|
||||
$deliveryStatusesController = new DeliveryStatusesController(
|
||||
$template,
|
||||
$translator,
|
||||
$auth,
|
||||
$deliveryStatusRepository,
|
||||
$deliveryStatusMappingRepository
|
||||
);
|
||||
$deliveryStatusMappingController = new DeliveryStatusMappingController(
|
||||
$template,
|
||||
$translator,
|
||||
$auth,
|
||||
$deliveryStatusMappingRepository
|
||||
$deliveryStatusMappingRepository,
|
||||
$deliveryStatusRepository
|
||||
);
|
||||
$companySettingsRepository = new CompanySettingsRepository($app->db());
|
||||
$companySettingsController = new CompanySettingsController(
|
||||
@@ -513,6 +525,12 @@ return static function (Application $app): void {
|
||||
$router->post('/settings/delivery-status-mappings/save-bulk', [$deliveryStatusMappingController, 'saveBulk'], [$authMiddleware]);
|
||||
$router->post('/settings/delivery-status-mappings/reset', [$deliveryStatusMappingController, 'reset'], [$authMiddleware]);
|
||||
$router->post('/settings/delivery-status-mappings/reset-all', [$deliveryStatusMappingController, 'resetAll'], [$authMiddleware]);
|
||||
$router->get('/settings/delivery-statuses', [$deliveryStatusesController, 'index'], [$authMiddleware]);
|
||||
$router->get('/settings/delivery-statuses/new', [$deliveryStatusesController, 'create'], [$authMiddleware]);
|
||||
$router->get('/settings/delivery-statuses/{id}/edit', [$deliveryStatusesController, 'edit'], [$authMiddleware]);
|
||||
$router->post('/settings/delivery-statuses', [$deliveryStatusesController, 'store'], [$authMiddleware]);
|
||||
$router->post('/settings/delivery-statuses/{id}/update', [$deliveryStatusesController, 'update'], [$authMiddleware]);
|
||||
$router->post('/settings/delivery-statuses/{id}/delete', [$deliveryStatusesController, 'destroy'], [$authMiddleware]);
|
||||
$router->get('/accounting', [$accountingController, 'index'], [$authMiddleware]);
|
||||
$router->post('/accounting/export', [$accountingController, 'export'], [$authMiddleware]);
|
||||
$router->get('/orders/{id}/receipt/create', [$receiptController, 'create'], [$authMiddleware]);
|
||||
|
||||
Reference in New Issue
Block a user