update
This commit is contained in:
@@ -6,6 +6,12 @@
|
||||
- Kolory akcji UI (przyciski `btn--primary` i warianty `btn--outline-primary`) sa odseparowane od koloru naglowkow (`section-title`) przez dedykowane tokeny `--c-action-primary` i `--c-action-primary-dark` w `resources/scss/shared/_ui-components.scss`.
|
||||
- Import Allegro zapisuje log `import` z kontekstem triggera (`manual_import`, `orders_sync`, `status_sync`) i deduplikuje powtarzalne wpisy bez realnej zmiany.
|
||||
- Automatyzacja obsluguje zdarzenie `shipment.status_changed` i warunek `shipment_status` oparty o statusy biznesowe.
|
||||
- Automatyzacja obsluguje akcje `issue_receipt` (Wystaw paragon) z parametrami: `receipt_config_id`, `issue_date_mode`, `duplicate_policy`.
|
||||
- Orkiestracja automatyzacji obsluguje chain events: akcja moze emitowac kolejne zdarzenie (`emitEvent`), a engine propaguje wspolny kontekst lancucha.
|
||||
- Zabezpieczenia chain automation (dla obecnych i przyszlych eventow):
|
||||
- limit glebokosci lancucha (`MAX_CHAIN_DEPTH`),
|
||||
- deduplikacja wykonania tej samej pary `event_type + rule_id` w obrebie jednego lancucha,
|
||||
- limit historii wykonan w kontekście (`MAX_CHAIN_EXECUTIONS`).
|
||||
- `ShipmentTrackingHandler` triggeruje automatyzacje tylko po zmianie `delivery_status` i przekazuje kontekst (`package_id`, `provider`, `delivery_status`, `delivery_status_raw`, `previous_status`).
|
||||
- Kolejka wydruku ma akcje usuwania wpisu przez route `POST /settings/printing/jobs/delete` (CSRF + `OrderProAlerts.confirm`).
|
||||
|
||||
@@ -151,7 +157,7 @@
|
||||
- `App\Modules\Accounting\AccountingController` (index — lista paragonow, export — XLSX)
|
||||
- `App\Modules\Automation\AutomationController` (index, create, store, edit, update, destroy, toggleStatus)
|
||||
- `App\Modules\Automation\AutomationRepository` (findAll, findById, create, update, delete, toggleActive, findActiveByEvent)
|
||||
- `App\Modules\Automation\AutomationService` (trigger, evaluateConditions, executeActions — watcher/executor regul automatyzacji; flow: ReceiptController::store() -> trigger('receipt.created') oraz ShipmentTrackingHandler::handle() -> trigger('shipment.status_changed', context) -> ewaluacja warunkow -> EmailSendingService::send())
|
||||
- `App\Modules\Automation\AutomationService` (trigger, evaluateConditions, executeActions — watcher/executor regul automatyzacji; flow: ReceiptController::store() -> trigger('receipt.created') oraz ShipmentTrackingHandler::handle() -> trigger('shipment.status_changed', context) -> ewaluacja warunkow -> EmailSendingService::send() / auto issue_receipt)
|
||||
- `App\Modules\Shipments\ShipmentProviderInterface`
|
||||
- `App\Modules\Shipments\ShipmentProviderRegistry`
|
||||
- `App\Modules\Shipments\ApaczkaShipmentService`
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# Tech Changelog
|
||||
|
||||
## 2026-03-25 (Automation - new action "Wystaw paragon")
|
||||
- Dodano nowy typ akcji automatyzacji: `issue_receipt` (Wystaw paragon).
|
||||
- Konfiguracja akcji wymaga kompletu parametrow:
|
||||
- `receipt_config_id` (aktywna konfiguracja paragonu),
|
||||
- `issue_date_mode` (`today` / `order_date` / `payment_date`),
|
||||
- `duplicate_policy` (`skip_if_exists` / `allow_duplicates`).
|
||||
- `AutomationController`:
|
||||
- rozszerzono `ALLOWED_ACTION_TYPES`,
|
||||
- dodano walidacje i parsowanie configu akcji `issue_receipt`,
|
||||
- formularz dostaje aktywne konfiguracje paragonow i slowniki opcji.
|
||||
- `resources/views/automation/form.php` i `public/assets/js/modules/automation-form.js`:
|
||||
- nowa pozycja akcji `Wystaw paragon`,
|
||||
- dynamiczne pola dla parametrow akcji.
|
||||
- `AutomationService`:
|
||||
- wykonuje automatyczne wystawienie paragonu przez `ReceiptRepository`,
|
||||
- zapisuje activity log sukcesu/pominiecia/bledu,
|
||||
- ma ochrone przed petla dla eventu `receipt.created` (akcja `issue_receipt` jest pomijana i logowana),
|
||||
- obsluguje polityke duplikatow.
|
||||
- Aktualizacja DI:
|
||||
- `routes/web.php` i `CronHandlerFactory` przekazuja do `AutomationService` zaleznosci `ReceiptRepository` i `ReceiptConfigRepository`.
|
||||
- Dodano systemowy mechanizm chain automation dla obecnych i przyszlych zdarzen:
|
||||
- wspolny kontekst lancucha (`__automation_chain`) propagowany miedzy kolejnymi triggerami,
|
||||
- `emitEvent(...)` jako bezpieczny mechanizm emitowania kolejnych eventow z akcji,
|
||||
- ochrona anty-petla przez deduplikacje wykonania `event_type + rule_id` w jednym lancuchu,
|
||||
- limit glebokosci lancucha (`MAX_CHAIN_DEPTH`) i limit historii wykonan (`MAX_CHAIN_EXECUTIONS`).
|
||||
|
||||
## 2026-03-25 (Phase 43 - Print Queue Entry Removal, Plan 01)
|
||||
- Dodano usuwanie wpisu kolejki wydruku:
|
||||
- `PrintJobRepository::deleteById(int): bool`,
|
||||
|
||||
Reference in New Issue
Block a user