Commit Graph

150 Commits

Author SHA1 Message Date
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
10cba24727 update 2026-04-19 00:10:58 +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
7eefd1af61 feat(98-order-imported-first-only): gate order.imported na pierwszy import + backfill statusow
- AllegroOrderImportService / ShopproOrdersSyncService: trigger order.imported tylko gdy $wasCreated
- bin/backfill_shipped_status_98.php: jednorazowy CLI, w_realizacji + shipment -> wyslane (przez OrdersRepository::updateOrderStatus)
- backfill: 4 zamowienia naprawione (#275, #340, #396, #422), idempotentny

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 10:56: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
12c400fdc6 feat(92-buyer-name-copy): ikona kopiowania nazwy kupujacego w szczegolach zamowienia
Phase 92 complete:
- SVG clipboard icon przy nazwie w sekcji Dane zamawiajacego
- navigator.clipboard.writeText() z wizualnym feedbackiem (checkmark 1.5s)
- Style .copy-btn-inline i .copy-name-row

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 12:14:36 +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
8fa9ca6439 update 2026-04-07 20:32:43 +02:00
1933c74395 update 2026-04-07 10:44:03 +02:00
aadf98bc80 feat(search-by-product): extend order search to include product names
Added EXISTS subquery on order_items.original_name to the search filter
in OrdersRepository::buildPaginateFilters(). Users can now find orders
by typing a product name in the search field. Updated search placeholder
to reflect the new capability.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:14:40 +02:00
24df01cfde feat(per-page-persistence): remember selected rows per page in localStorage
table-list component now saves per_page selection to localStorage and
restores it when navigating back to any list without explicit per_page
in URL. URL parameter takes priority over stored value to ensure
bookmarked links work predictably.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 08:26:53 +02:00
6d0905d97a feat(attributes-import): import product attributes from shopPRO API into personalization
extractPersonalization() now reads both 'attributes' and 'custom_fields' fields
from the shopPRO API response, joining non-empty values with newline separator.
Previously only custom_fields was imported, causing product attributes like
"Woreczek jutowy", "Kolor koperty", "Zakrętka" to be lost during sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 08:21:38 +02:00
278f44b360 update 2026-04-06 12:00:08 +02:00
7feda58a97 update 2026-04-04 18:20:13 +02:00
e95c4967d2 update 2026-04-03 22:35:49 +02:00
0e7ee957cb update 2026-04-03 11:30:14 +02:00
39c318382a update 2026-04-02 00:17:46 +02:00
34b0a2b4f5 update 2026-03-31 17:52:01 +02:00
50507d70a5 update 2026-03-31 10:56:31 +02:00
af48e84449 update 2026-03-31 00:30:50 +02:00
5435209b08 update 2026-03-30 20:23:38 +02:00
70662afd2c update 2026-03-29 23:53:09 +02:00
1f449f84ad fix(55-desktop-collapsed-sidebar-fix): ukrycie etykiet i centrowanie ikon w zwiniętym sidebarze
Zwiniety sidebar (is-collapsed) pokazywal obciete etykiety zamiast
czystych ikon. Naprawiono: display:none na labelach/strzalkach/sublinkach,
justify-content:center na linkach, ukrycie brand text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:51:24 +02:00
4b38f3e7a6 feat(54-order-detail-image-hover): hover zoom na miniaturkach w widoku zamowienia
Reuse istniejacego patternu orders-image-hover-wrap/popup z listy
zamowien — wrapper + popup img + JS pozycjonujacy w show.php.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:40:25 +02:00
775ede52d3 feat(53-mobile-status-panel-toggle): zwijany panel statusow na mobile
Native details/summary toggle — panel zwiniety domyslnie na mobile,
rozwijany kliknieciem. Desktop: zawsze otwarty, bez zmian.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:32:07 +02:00
1c87489824 feat(52-mobile-main-menu): hamburger + slide-in overlay sidebar na mobile
Zastapienie niedzialajacej nawigacji horyzontalnej pelnoekranowym
overlay sidebar z hamburgerem, backdrop i animacja CSS transform.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:15:52 +02:00
cbc2058b83 update 2026-03-28 21:16:21 +01:00
572643ad82 chore(paul): remove duplicated state core value line 2026-03-28 15:33:18 +01:00
5cee35a89a chore(paul): sync state git commit reference after phase 50 2026-03-28 15:32:54 +01:00
176d740578 feat(50-allegro-shipment-waybill-push): push waybill to allegro checkout form
Phase 50 complete:

- add conditional waybill push for allegro orders only

- add retry on ALLEGRO_HTTP_401 and non-critical failure handling

- add unit tests and update architecture/changelog docs
2026-03-28 15:32:34 +01:00
2ab0d0e90e update 2026-03-28 15:04:35 +01:00
c1d0d7762f chore(47-shipment-created-automation): finalize unify state metadata 2026-03-28 13:25:04 +01:00
ad9087d5e4 feat(47-shipment-created-automation): immediate shipment automation trigger
Phase 47 complete:

- add event shipment.created triggered immediately after shipment creation

- add action update_shipment_status with real-change guard and chain-safe emit

- update automation UI/options, docs, and PAUL state artifacts
2026-03-28 13:24:20 +01:00
d3f4bdaecd update 2026-03-28 00:09:57 +01:00
e9e2b1d263 update 2026-03-27 12:58:07 +01:00