Files
orderPRO/.paul/phases/09-receipt-config/09-01-SUMMARY.md
Jacek Pyziak ed057fc304 feat(08-10-receipt-module): phases 08-10 complete — receipt issuing from orders
Phase 08 — DB Foundation:
- 3 new tables: receipt_configs, receipts, receipt_number_counters
- company_settings extended with BDO, REGON, KRS, logo fields

Phase 09 — Receipt Config:
- CRUD for receipt configurations (Settings > Accounting)
- ReceiptConfigController + ReceiptConfigRepository

Phase 10 — Receipt Issuing:
- ReceiptRepository with atomic numbering (INSERT ON DUPLICATE KEY UPDATE)
- ReceiptController with snapshot pattern (seller/buyer/items as JSON)
- "Wystaw paragon" button in order view
- Documents tab showing both receipts and marketplace documents
- Activity log entry on receipt creation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 19:49:06 +01:00

127 lines
4.1 KiB
Markdown

---
phase: 09-receipt-config
plan: 01
subsystem: ui
tags: [php, settings, receipts, crud, scss]
requires:
- phase: 08-db-foundation
provides: receipt_configs table
provides:
- CRUD konfiguracji paragonow (Ustawienia > Ksiegowosc)
- ReceiptConfigController + ReceiptConfigRepository
affects: [10-receipt-issue, 11-receipt-print, 12-accounting-list]
tech-stack:
added: []
patterns: [settings-controller-pattern for new modules]
key-files:
created:
- src/Modules/Settings/ReceiptConfigController.php
- src/Modules/Settings/ReceiptConfigRepository.php
- resources/views/settings/accounting.php
modified:
- resources/views/layouts/app.php
- routes/web.php
- resources/lang/pl.php
- resources/scss/shared/_ui-components.scss
- resources/scss/app.scss
- public/assets/css/app.css
- DOCS/ARCHITECTURE.md
key-decisions:
- "Request::input() zamiast query() — klasa Request nie ma metody query()"
- "Csrf::token() i Csrf::validate() jako bool — nie rzuca wyjatkow"
- "Tabela .table zamiast .data-table — data-table nie istnieje w SCSS"
- "form-grid align-items: start — zapobiega rozciaganiu pol przez hint/small"
patterns-established:
- "Nowe strony ustawien: wzorzec ReceiptConfigController (index+save+toggle+delete)"
duration: ~30min
completed: 2026-03-15
---
# Phase 9 Plan 01: Konfiguracja paragonow (Ustawienia > Ksiegowosc) Summary
**CRUD konfiguracji paragonow z nawigacja, tlumaczeniami i poprawkami globalnymi CSS (form-control, form-grid align).**
## Performance
| Metric | Value |
|--------|-------|
| Duration | ~30min |
| Completed | 2026-03-15 |
| Tasks | 5 completed |
| Files modified | 10 |
## Acceptance Criteria Results
| Criterion | Status | Notes |
|-----------|--------|-------|
| AC-1: Lista konfiguracji | Pass | Tabela z kolumnami Nazwa/Format/Typ/Status/Akcje |
| AC-2: Tworzenie konfiguracji | Pass | Formularz z walidacja nazwy i formatu |
| AC-3: Edycja konfiguracji | Pass | Link ?edit=ID wypelnia formularz |
| AC-4: Toggle aktywnosci | Pass | POST /settings/accounting/toggle |
| AC-5: Usuwanie z potwierdzeniem | Pass | OrderProAlerts.confirm() |
| AC-6: Sublinek Ksiegowosc | Pass | Widoczny i aktywny w sidebarze |
## Accomplishments
- Pelny CRUD konfiguracji paragonow z walidacja i flash messages
- Sublinek "Ksiegowosc" w nawigacji ustawien
- Globalne poprawki CSS: form-control kompaktniejszy, form-grid align-items: start
## Files Created/Modified
| File | Change | Purpose |
|------|--------|---------|
| `src/Modules/Settings/ReceiptConfigRepository.php` | Created | CRUD na receipt_configs |
| `src/Modules/Settings/ReceiptConfigController.php` | Created | 4 endpointy (index/save/toggle/delete) |
| `resources/views/settings/accounting.php` | Created | Lista + formularz konfiguracji |
| `resources/views/layouts/app.php` | Modified | Sublinek Ksiegowosc w sidebarze |
| `routes/web.php` | Modified | 4 trasy + use statements |
| `resources/lang/pl.php` | Modified | Tlumaczenia settings.accounting.* |
| `resources/scss/shared/_ui-components.scss` | Modified | form-control: min-height 30px, border-radius 6px |
| `resources/scss/app.scss` | Modified | form-grid-2/3/4: align-items start |
| `public/assets/css/app.css` | Modified | Build CSS |
| `DOCS/ARCHITECTURE.md` | Modified | Nowe trasy, klasy, przeplyw |
## Deviations from Plan
### Summary
| Type | Count | Impact |
|------|-------|--------|
| Auto-fixed | 4 | Krytyczne fixy API kontrolera + CSS |
### Auto-fixed Issues
**1. Request::query() nie istnieje**
- **Fix:** Zamieniono na Request::input() ktory obsluguje tez query params
**2. Csrf::generate() nie istnieje**
- **Fix:** Zamieniono na Csrf::token()
**3. Csrf::validate() zwraca bool, nie rzuca wyjatku**
- **Fix:** Zamieniono try/catch na if(!Csrf::validate())
**4. Klasa CSS data-table nie istnieje**
- **Fix:** Zamieniono na .table (istniejaca w _ui-components.scss)
## Next Phase Readiness
**Ready:**
- CRUD konfiguracji dziala — faza 10 moze pobierac aktywne konfiguracje do wystawiania paragonow
**Concerns:**
- Brak
**Blockers:**
- Brak
---
*Phase: 09-receipt-config, Plan: 01*
*Completed: 2026-03-15*