360eef128d
feat(121+122): smsplanet conversation, notifications, default footer
...
Phase 121 — SMSPLANET Conversation + Notifications:
- migration 20260512_000110 adds smsplanet conversation + notifications tables
- src/Modules/Sms (SmsConversationService, SmsMessageRepository, SmsplanetWebhookController)
- src/Modules/Notifications (Repository, Controller, ApiController)
- order SMS tab, notification center, sender mode, inbound webhook
- public notifications.js + layouts/app.php integration
Phase 122 — SMSPLANET Default SMS Footer:
- migration 20260512_000111 adds smsplanet_integration_settings.default_footer
- footer appended to test SMS and order SMS, validated against 918 char limit
- settings textarea + compact order SMS note when footer configured
Bundled (could not split per-phase without hunk staging):
- routes/web.php (also carries Phase 118 fakturownia redirects)
- DOCS/{ARCHITECTURE,DB_SCHEMA,TECH_CHANGELOG}.md (118 + 121 + 122 entries)
- .paul/codebase/{architecture,db_schema,tech_changelog}.md (118 + 121 + 122)
- .paul/STATE.md, ROADMAP.md, changelog/2026-05-12.md (UNIFY closure)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-12 20:37:41 +02:00
adacb65110
update
2026-05-11 20:40:13 +02:00
0578bfc2ae
update
2026-05-11 20:22:04 +02:00
2b4d843ae0
Merge branch 'main' of https://git.project-pro.pl/Project-Pro/orderPRO
2026-05-11 00:09:26 +02:00
ee1c5e5cfd
update
2026-05-11 00:09:23 +02:00
26a1e67c6d
update
2026-05-08 15:28:26 +02:00
322b23b7be
update
2026-05-07 23:35:18 +02:00
782a291210
feat(112): re-import data protection — delta-only re-import + project_generated preservation
...
Phase 112 / Plan 112-01 complete (v3.6):
- OrderImportRepository::upsertOrderAggregate split into create vs re-import paths
- replaceAddresses/Items/Notes/Shipments/StatusHistory invoked only on first import
- new updateOrderDelta() narrows UPDATE to status_code (cond.), payment_status,
total_paid, is_canceled_by_buyer, source_updated_at, payload_json, fetched_at
- source-side cancellation override (is_canceled_by_buyer=1 OR pull status_code='anulowane')
- identical-payload no-op guard via normalizePayloadJson()
- fixes case #882 : order_items.id stable, project_generated (Phase 97) preserved
- Phase 111 payment.status_changed emit retained without regression
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 23:22:37 +02:00
0e457aed38
update
2026-05-07 15:24:05 +02:00
1069ccb85e
update
2026-05-06 20:35:26 +02:00
cc07508006
update
2026-05-05 23:35:45 +02:00
0da0241ebf
update
2026-05-05 12:59:44 +02:00
3aab40a35e
Merge branch 'main' of https://git.project-pro.pl/Project-Pro/orderPRO
2026-05-05 00:00:57 +02:00
1589cf29fa
update
2026-05-05 00:00:31 +02:00
fd63409bd9
update
2026-05-04 23:58:52 +02:00
9ff59f3f0d
update
2026-04-30 21:33:48 +02:00
61f10a688d
update
2026-04-29 15:14:18 +02:00
1156ce046c
upadte
2026-04-28 22:17:25 +02:00
1009957fff
updaate
2026-04-28 15:09:48 +02:00
3f5784d8eb
update
2026-04-27 22:10:57 +02:00
0063402897
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 >
2026-04-27 22:10:24 +02:00
5aca41750c
update
2026-04-27 15:02:06 +02:00
32d7ae9ceb
update
2026-04-27 12:17:21 +02:00
34dac15494
update
2026-04-26 21:55:49 +02:00
4931c55338
update
2026-04-24 18:55:13 +02:00
bc80024d4a
update
2026-04-23 14:18:28 +02:00
c73b2fe9f6
update
2026-04-22 22:54:26 +02:00
cd1ea4a9db
update
2026-04-22 19:22:12 +02:00
8f43d0b8d9
update
2026-04-22 13:21:14 +02:00
8ef527e9ab
update
2026-04-21 18:05:44 +02:00
cea92469f9
update
2026-04-20 23:17:25 +02:00
fd1e23eb26
update
2026-04-19 22:43:02 +02:00
42efc857de
update
2026-04-17 19:15:55 +02:00
567e888664
feat(104-apaczka-weekend-delivery): Apaczka Paczka w Weekend dla paczkomatow InPost
...
Phase 104 complete:
- Backend: ApaczkaShipmentService::buildOptionsPayload() mapuje weekend_delivery -> option[19] = 1 w payloadzie API Apaczka v2
- Stala OPTION_KEYS jako rozszerzalne mapowanie pole formularza -> id opcji Apaczki
- Frontend: checkbox "Dostawa w weekend (sobota)" w prepare.php widoczny tylko dla supplier=INPOST + paczkomat (door_to_point=1 lub point_to_point=1)
- JS toggle oparty na atrybutach data-supplier/data-paczkomat z resetem stanu
- 3 nowe testy jednostkowe pokrywajace mapowanie buildOptionsPayload (phpunit OK 11/11)
- Hotfix integracyjny po UAT: ShipmentController::create() nie przekazywal pola weekend_delivery z requestu do formData providera (root cause: reczna lista pol w controllerze)
- Dokumentacja zaktualizowana (DOCS/ARCHITECTURE.md, DOCS/TECH_CHANGELOG.md)
DEFER-104-01: rozwazyc test integracyjny pelnego flow controller -> service lub refactor na request->all().
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-17 09:03:44 +02:00
3d61d3b2df
update
2026-04-16 23:19:11 +02:00
0e8f246d6f
update
2026-04-14 20:36:20 +02:00
e15b4ccf45
update
2026-04-13 22:31:06 +02:00
38259bc706
update
2026-04-13 17:24:03 +02:00
423829889e
update
2026-04-13 00:59:41 +02:00
f72a5019e9
update
2026-04-12 21:43:39 +02:00
63bd1e73f2
update
2026-04-12 10:21:36 +02:00
d04e02020c
update
2026-04-12 01:35:19 +02:00
91a8b85f38
update
2026-04-09 13:01:14 +02:00
854adc32c1
update
2026-04-09 00:51:24 +02:00
633da52880
update
2026-04-08 23:22:48 +02:00
c5b2885b44
feat: Add User-Agent header to Allegro API requests
...
- Implemented buildUserAgent() method in AllegroApiClient, AllegroOAuthClient, and AllegroTrackingService to include User-Agent header in all HTTP requests to Allegro API.
- Updated .env.example to include APP_VERSION and ALLEGRO_USER_AGENT_URL for configuration.
- Created public /info page to provide application details required by Allegro, including app name, version, description, and contact information.
- Added minimalist layout for public pages to ensure a professional appearance.
- Ensured all changes comply with Allegro's API requirements for User-Agent header.
2026-04-08 20:59:55 +02:00
0f7742f10d
update
2026-04-08 19:08:40 +02:00
40644eb362
update
2026-04-07 22:39:16 +02:00