b9f639e037
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 >
2026-03-18 00:39:47 +01:00
a6512cbfa4
update
2026-03-18 00:02:18 +01:00
2f73a940de
feat(14-email-templates): CRUD szablonów e-mail z Quill.js + załączniki
...
Phase 14 complete (2 plans):
- 14-01: CRUD szablonów, Quill.js editor, system zmiennych {{grupa.pole}}, podgląd, toggle
- 14-02: Select "Załącznik nr 1" z mapą ATTACHMENT_TYPES, kolumna w liście, migracja attachment_1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 23:59:25 +01:00
3223aac4d9
feat(13-email-mailboxes): phase 13 complete — email DB foundation + SMTP mailbox CRUD
...
3 migrations (email_mailboxes, email_templates, email_logs), full CRUD
for SMTP mailboxes with encrypted passwords (IntegrationSecretCipher),
native SMTP connection test via stream_socket_client, sidebar navigation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 23:57:33 +01:00
22ce87efe2
chore: complete milestone v0.3 — Moduł Paragonów
...
Archive milestone, evolve PROJECT.md, reorganize ROADMAP.md.
5 phases, 5 plans: DB foundation, config, issuing, preview/print/PDF, list+XLSX.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:21:59 +01:00
ed057fc304
feat(08-10-receipt-module): phases 08-10 complete — receipt issuing from orders
...
Phase 08 — DB Foundation:
- 3 new tables: receipt_configs, receipts, receipt_number_counters
- company_settings extended with BDO, REGON, KRS, logo fields
Phase 09 — Receipt Config:
- CRUD for receipt configurations (Settings > Accounting)
- ReceiptConfigController + ReceiptConfigRepository
Phase 10 — Receipt Issuing:
- ReceiptRepository with atomic numbering (INSERT ON DUPLICATE KEY UPDATE)
- ReceiptController with snapshot pattern (seller/buyer/items as JSON)
- "Wystaw paragon" button in order view
- Documents tab showing both receipts and marketplace documents
- Activity log entry on receipt creation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:49:06 +01:00
5ab87a5a20
feat(07-pre-expansion-fixes): complete phase 07 — milestone v0.2 done
...
Phase 7 complete (5 plans):
- 07-01: Performance (N+1→LEFT JOIN, static cache, DB indexes)
- 07-02: Stability (SSL verification, cron throttle DB, migration 000014b)
- 07-03: UX (orderpro_to_allegro disable, lista zamówień fixes, SSL hotfix)
- 07-04: Tests (12 unit tests for AllegroTokenManager + AllegroOrderImportService)
- 07-05: InPost ShipX API (natywny provider, workaround remap usunięty)
Additional fixes:
- 5 broken use-statements fixed across 4 files
- vendor/ excluded from ftp-kr auto-upload
- PHPUnit + dg/bypass-finals infrastructure
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 00:37:21 +01:00
aaa5d2fc25
feat(06-sonarqube-quality): phase 06 complete — SonarQube Quality 6/6 plans, milestone v0.1 done
...
Phase 06 summary:
- 06-01: typed exception hierarchy (S112: 95x eliminated)
- 06-02: return statement reduction (S1142: 57x reduced)
- 06-03: string literal constants (S1192: 40x eliminated)
- 06-04: cognitive complexity reduction (S3776: 31x reduced)
- 06-06: long method extraction (S138: 4x eliminated)
- 06-05: god class split — ShopproOrdersSyncService 39→9 methods, AllegroIntegrationController 35→25 methods (S1448: 6x→2x)
Milestone v0.1 Initial Release: 6/6 phases complete.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 17:27:41 +01:00
7b29fd9e02
feat(03-tech-debt): standardize CSRF field name to _token
...
Phase 3 complete:
- Zmieniono _csrf_token -> _token w OrdersController (1x), ShipmentController (2x)
- Zmieniono name="_csrf_token" -> name="_token" w orders/show.php (1x), shipments/prepare.php (2x)
- Usunięto concern z .paul/codebase/CONCERNS.md
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-13 00:58:59 +01:00
880ab5933f
feat(02-bug-fixes): extract CronHandlerFactory, complete Phase 2
...
Phase 2 complete (4/4 plans):
- Plan 02-01: Fix dead ZPL page size condition in AllegroShipmentService
- Plan 02-02: Add time-based cursor to AllegroStatusSyncService
- Plan 02-03: Fix ShopproOrdersSyncService using wrong state repository
- Plan 02-04: Extract CronHandlerFactory as single cron composition point
Plan 02-04 specifics:
- New CronHandlerFactory builds complete cron object graph
- Application::maybeRunCronOnWeb() reduced from 80+ to ~20 lines
- bin/cron.php reduced from 123 to 26 lines
- Fixed 2 bugs: AllegroOAuthClient→AllegroTokenManager,
AllegroOrderSyncStateRepository→ShopproOrderSyncStateRepository
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-13 00:43:04 +01:00
f8db8c0162
refactor(01-tech-debt): extract AllegroTokenManager and StringHelper
...
Phase 1 complete (2/2 plans):
- Plan 01-01: Extract AllegroTokenManager — OAuth token logic
centralized from 4 classes into dedicated manager class
- Plan 01-02: Extract StringHelper — nullableString/normalizeDateTime/
normalizeColorHex extracted from 15+ classes into App\Core\Support\StringHelper;
removed 19 duplicate private methods
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 23:36:06 +01:00