Add receipt show/print/pdf endpoints with dompdf integration. Active preview and PDF links in order Documents tab. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.9 KiB
4.9 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, duration, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | duration | completed | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 11-receipt-print | 01 | accounting |
|
|
|
|
|
|
|
|
~30min | 2026-03-15 |
Phase 11 Plan 01: Receipt Preview & Print Summary
Podglad paragonu HTML, widok druku standalone i generowanie PDF przez dompdf — zamyka cykl wystawienie-podglad-wydruk.
Performance
| Metric | Value |
|---|---|
| Duration | ~30min |
| Completed | 2026-03-15 |
| Tasks | 4 completed (3 auto + 1 checkpoint) |
| Files modified | 10 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: Podglad paragonu w layoucie aplikacji | Pass | /orders/{id}/receipt/{receiptId} — dane sprzedawcy, nabywcy, pozycje, suma, daty |
| AC-2: Widok druku (standalone HTML) | Pass | /print endpoint, window.print() auto-trigger |
| AC-3: Generowanie PDF | Pass | /pdf endpoint, dompdf v3.1, Content-Disposition attachment |
| AC-4: Aktywny link Podglad w Dokumentach | Pass | span.btn--disabled zamieniony na a.btn + dodany link PDF |
| AC-5: Obsluga bledu — nieistniejacy paragon | Pass | 404 gdy paragon nie istnieje lub order_id mismatch |
Accomplishments
- 3 nowe metody kontrolera: show(), printView(), pdf() + helper buildReceiptViewData()
- 2 nowe widoki: receipts/show.php (w layoucie) i receipts/print.php (standalone)
- dompdf zainstalowany i dzialajacy na serwerze
- Aktywne linki Podglad + PDF w zakladce Dokumenty zamowienia
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
src/Modules/Accounting/ReceiptController.php |
Modified | +show(), +printView(), +pdf(), +buildReceiptViewData() |
routes/web.php |
Modified | +3 trasy GET: show, print, pdf |
resources/views/receipts/show.php |
Created | Podglad paragonu w layoucie aplikacji |
resources/views/receipts/print.php |
Created | Standalone widok druku + auto window.print() |
resources/views/orders/show.php |
Modified | Aktywne linki Podglad + PDF w Dokumentach |
resources/lang/pl.php |
Modified | +receipts.show.* (13 kluczy) |
resources/scss/shared/_ui-components.scss |
Modified | +.receipt-header, +.receipt-print |
public/assets/css/app.css |
Modified | Przebudowany z nowym SCSS |
composer.json |
Modified | +dompdf/dompdf ^3.1 |
.vscode/ftp-kr.json |
Modified | /vendor → /vendor/bin w ignore |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
| dompdf server-side | Plan wymaga server-side PDF, dompdf standard PHP | Wymaga vendor/ na serwerze |
| ftp-kr vendor/ nie ignorowany | dompdf musi byc na serwerze, reczny deploy uciazliwy | Automatyczny upload vendor/ przy zmianach |
| DejaVu Sans w print CSS | Obsluga polskich znakow w PDF | Poprawne znaki w generowanym PDF |
Deviations from Plan
Summary
| Type | Count | Impact |
|---|---|---|
| Auto-fixed | 1 | ftp-kr config change for vendor deploy |
| Deferred | 0 | — |
Total impact: Minimalne — jedyna zmiana to konfiguracja deploy.
Auto-fixed Issues
1. [Deploy] vendor/ nie uploadowany na serwer
- Found during: Task 1 (instalacja dompdf)
- Issue: ftp-kr ignorowal caly /vendor, dompdf nie trafialo na serwer
- Fix: Zmiana /vendor na /vendor/bin w ftp-kr.json ignore
- Files: .vscode/ftp-kr.json
- Verification: Upload vendor/ → dompdf dziala na serwerze
Skill Audit
| Expected | Invoked | Notes |
|---|---|---|
| sonar-scanner | ○ | Required — do uruchomienia przed kolejnym UNIFY |
Next Phase Readiness
Ready:
- Pelny cykl paragonow: konfiguracja → wystawienie → podglad → druk → PDF
- Faza 11 zamknieta, gotowe do fazy 12
Concerns:
- sonar-scanner nie uruchomiony (gap z wielu faz)
Blockers:
- Brak
Phase: 11-receipt-print, Plan: 01 Completed: 2026-03-15