feat(16-automated-tasks): moduł zadań automatycznych — CRUD + watcher/executor
Reguły automatyzacji oparte na zdarzeniach (receipt.created) z warunkami (integracja/kanał sprzedaży, AND logic) i akcjami (wyślij e-mail z 3 trybami odbiorcy: klient / firma / klient+firma). Trigger w ReceiptController po utworzeniu paragonu — błąd automatyzacji nie blokuje sukcesu paragonu. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# Tech Changelog
|
||||
|
||||
## 2026-03-18 (Phase 16 — Zadania automatyczne, Plan 02: Watcher/Executor)
|
||||
- Nowa klasa `App\Modules\Automation\AutomationService` — trigger + ewaluacja warunkow (AND) + wykonanie akcji.
|
||||
- Flow: `ReceiptController::store()` -> `AutomationService::trigger('receipt.created', orderId)` -> sprawdzenie warunkow (integration_id) -> `EmailSendingService::send()`.
|
||||
- Rozszerzenie `EmailSendingService::send()` o opcjonalne parametry `$recipientEmailOverride` i `$recipientNameOverride` (kompatybilnosc wsteczna).
|
||||
- 3 tryby odbiorcy: 'client' (kupujacy), 'company' (e-mail firmy z company_settings), 'client_and_company' (oba).
|
||||
- Trigger w try/catch — blad automatyzacji nie blokuje sukcesu tworzenia paragonu.
|
||||
- Activity log: automation_email_sent / automation_email_failed z actor_type='system'.
|
||||
|
||||
## 2026-03-18 (Phase 16 — Zadania automatyczne, Plan 01: DB + CRUD)
|
||||
- Nowe tabele: `automation_rules`, `automation_conditions`, `automation_actions` (migracja 000057).
|
||||
- Nowy modul `App\Modules\Automation` z 2 klasami:
|
||||
- `AutomationController` — CRUD regul automatyzacji (index, create, store, edit, update, destroy, toggleStatus).
|
||||
- `AutomationRepository` — operacje DB z transakcjami (create/update atomowe z conditions+actions), findActiveByEvent dla watchera.
|
||||
- 7 nowych route'ow: `/settings/automation/*`.
|
||||
- Widoki: `resources/views/automation/index.php` (lista regul), `resources/views/automation/form.php` (formularz z dynamicznymi warunkami/akcjami).
|
||||
- Nowy JS: `public/assets/js/modules/automation-form.js` (dodawanie/usuwanie wierszy warunkow i akcji).
|
||||
- Nowy SCSS: `resources/scss/modules/_automation.scss` (style formularza dynamicznego).
|
||||
- Menu nawigacji: dodany link "Zadania automatyczne" w sekcji Ustawienia.
|
||||
|
||||
## 2026-03-17 (Phase 15 — Wysylka e-mail z zamowien)
|
||||
- Nowa zaleznosc: `phpmailer/phpmailer` v7.0.2 (SMTP transport).
|
||||
- Nowy modul `App\Modules\Email` z 3 klasami:
|
||||
|
||||
Reference in New Issue
Block a user