101 lines
2.9 KiB
Markdown
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*
|