Files
orderPRO/.paul/phases/21-order-source-display/21-01-SUMMARY.md
2026-03-22 23:54:59 +01:00

101 lines
2.9 KiB
Markdown

---
phase: 21-order-source-display
plan: 01
subsystem: ui
tags: [orders, integrations, display]
requires:
- phase: none
provides: n/a
provides:
- integration name display on orders list
- integration name display on order detail page
affects: []
tech-stack:
added: []
patterns: [integration name fallback pattern]
key-files:
created: []
modified:
- src/Modules/Orders/OrdersRepository.php
- src/Modules/Orders/OrdersController.php
- resources/views/orders/show.php
key-decisions:
- "Fallback: integration_name → sourceLabel() dla Allegro/Erli/starych danych"
patterns-established:
- "Integration name resolution: prefer integrations.name, fallback to sourceLabel(source)"
duration: 5min
started: 2026-03-22T00:00:00Z
completed: 2026-03-22T00:00:00Z
---
# Phase 21 Plan 01: Order Source Display Summary
**LEFT JOIN integrations w query zamowien — lista i szczegoly pokazuja nazwe integracji zamiast generycznego "shopPRO"**
## Performance
| Metric | Value |
|--------|-------|
| Duration | ~5min |
| Tasks | 2 completed |
| Files modified | 3 |
## Acceptance Criteria Results
| Criterion | Status | Notes |
|-----------|--------|-------|
| AC-1: Integration name on list | Pass | LEFT JOIN integrations, fallback na sourceLabel |
| AC-2: Integration name on detail | Pass | show.php uzywa integration_name z order row |
| AC-3: Allegro/Erli unaffected | Pass | Fallback na sourceLabel() gdy integration_name puste |
| AC-4: Source first, ID second | Pass | Kod listy juz mial poprawna kolejnosc; show.php poprawiony |
## Accomplishments
- Query listy zamowien i szczegulow dolacza tabele `integrations` (LEFT JOIN) i zwraca `integration_name`
- Lista zamowien wyswietla nazwe integracji (np. "Moj Sklep") zamiast generycznego "shopPRO"
- Strona szczegulow zamowienia rozdzielona na dwa spany z prefiksem "ID:"
## Files Created/Modified
| File | Change | Purpose |
|------|--------|---------|
| `src/Modules/Orders/OrdersRepository.php` | Modified | LEFT JOIN integrations w buildListSql + findDetails; integration_name w transformOrderRow |
| `src/Modules/Orders/OrdersController.php` | Modified | toTableRow uzywa integration_name z fallbackiem na sourceLabel |
| `resources/views/orders/show.php` | Modified | Naglowek: osobne spany, nazwa integracji + prefiks "ID:" |
## Decisions Made
| Decision | Rationale | Impact |
|----------|-----------|--------|
| Fallback na sourceLabel() gdy integration_name puste | Allegro/Erli nie maja wpisow w integrations dla kazdego zamowienia; stare zamowienia moga miec NULL integration_id | Brak regresji |
## Deviations from Plan
None — plan executed exactly as written.
## Issues Encountered
None.
## Next Phase Readiness
**Ready:**
- Todo #15 i #17 zrealizowane
- Milestone v0.8 gotowy do zamkniecia
**Concerns:**
- None
**Blockers:**
- None
---
*Phase: 21-order-source-display, Plan: 01*
*Completed: 2026-03-22*