This commit is contained in:
2026-04-04 18:20:13 +02:00
parent e95c4967d2
commit 7feda58a97
18 changed files with 845 additions and 325 deletions

View File

@@ -16,6 +16,7 @@
- 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`).
- `DeliveryStatus` normalizuje statusy Allegro edge zarowno z opisow PL, jak i EN (mapa slugow + fallback keyword matching), dzieki czemu opisy typu `Parcel is awaiting pick-up` i `Parcel has been delivered` sa mapowane na statusy biznesowe zamiast `unknown`.
- Kolejka wydruku ma akcje usuwania wpisu przez route `POST /settings/printing/jobs/delete` (CSRF + `OrderProAlerts.confirm`).
- Szablony e-mail obsluguja zmienne przesylki:
- `{{przesylka.numer}}` -> `shipment_packages.tracking_number` (najnowsza paczka zamowienia),
@@ -29,7 +30,7 @@
- `App\Modules\Settings`
- `App\Modules\Accounting` (modul paragonow — wystawianie, podglad, druk, PDF, lista, eksport XLSX)
- `App\Modules\Settings\EmailMailbox*` (skrzynki pocztowe SMTP — CRUD + test polaczenia)
- `App\Modules\Settings\EmailTemplate*` (szablony e-mail — CRUD + Quill.js + zmienne + zalaczniki)
- `App\Modules\Settings\EmailTemplate*` (szablony e-mail - lista + osobna podstrona formularza create/edit + Quill.js + zmienne + zalaczniki)
- `App\Modules\Email` (wysylka e-mail z zamowien — EmailSendingService, VariableResolver, AttachmentGenerator; kompozycja: header (mailbox) + body (template) + footer (mailbox))
- `App\Modules\Automation` (zadania automatyczne — reguly zdarzenie/warunki/akcje, CRUD)
@@ -92,6 +93,14 @@
- `POST /settings/email-mailboxes/delete`
- `POST /settings/email-mailboxes/toggle`
- `POST /settings/email-mailboxes/test`
- `GET /settings/email-templates`
- `GET /settings/email-templates/create`
- `GET /settings/email-templates/edit`
- `POST /settings/email-templates/save`
- `POST /settings/email-templates/delete`
- `POST /settings/email-templates/duplicate`
- `POST /settings/email-templates/toggle`
- `POST /settings/email-templates/preview`
- `GET /settings/automation`
- `GET /settings/automation/create`
- `POST /settings/automation/store`
@@ -490,6 +499,22 @@
- `activeSettings = users`
- Usunieto wewnetrzny pasek `settings-nav` z widokow podstron ustawien.
## Przeplyw Ustawienia > Szablony e-mail
- `GET /settings/email-templates`:
- `EmailTemplateController::index(Request): Response`
- renderuje liste szablonow (`resources/views/settings/email-templates.php`) i akcje tabeli.
- `GET /settings/email-templates/create`:
- `EmailTemplateController::create(Request): Response`
- renderuje osobna podstrone formularza tworzenia (`resources/views/settings/email-templates-form.php`).
- `GET /settings/email-templates/edit?id={id}`:
- `EmailTemplateController::edit(Request): Response`
- laduje wskazany szablon i renderuje osobna podstrone formularza edycji.
- `POST /settings/email-templates/save`:
- `EmailTemplateController::save(Request): Response`
- waliduje CSRF i wymagane pola,
- przy bledzie wraca na odpowiednia podstrone formularza (`create` lub `edit`),
- po sukcesie zapisuje szablon i wraca do listy.
## Zasady aktualizacji
- Przy kazdej zmianie dopisz:
- nowe klasy i metody (sygnatury + odpowiedzialnosc),
@@ -586,3 +611,4 @@
## Klasy (aktualizacja 2026-03-28)
- `App\Modules\Automation\AutomationExecutionLogRepository` (create, paginate, count, listEventTypes, purgeOlderThanDays).
- `App\Modules\Cron\AutomationHistoryCleanupHandler` (cleanup retencji historii automatyzacji).