fix(22-regon-save-fix): naprawa zapisu REGON, BDO, KRS i logo w ustawieniach firmy
CompanySettingsController::save() nie przekazywał 4 pól (regon, bdo_number, court_register, logo_path) do repozytorium — dane z formularza ginęły. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,9 +12,9 @@ Sprzedawca może obsługiwać zamówienia ze wszystkich kanałów sprzedaży i n
|
||||
|
||||
| Attribute | Value |
|
||||
|-----------|-------|
|
||||
| Version | 0.5.0 |
|
||||
| Status | v0.5 Complete |
|
||||
| Last Updated | 2026-03-18 |
|
||||
| Version | 0.9.0 |
|
||||
| Status | v0.9 Complete |
|
||||
| Last Updated | 2026-03-22 |
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -41,10 +41,12 @@ Sprzedawca może obsługiwać zamówienia ze wszystkich kanałów sprzedaży i n
|
||||
- [x] Print Queue Backend: REST API + API key auth + CRUD kluczy — Phase 18
|
||||
- [x] UI Integration: przycisk Drukuj, bulk print, kolejka wydruku — Phase 19
|
||||
- [x] Windows Client: C# WinForms tray app, polling API, druk etykiet PDF — Phase 20
|
||||
- [x] Wyświetlanie nazwy integracji zamiast generycznego "shopPRO" na liście i szczegółach zamówienia — Phase 21
|
||||
- [x] Naprawa zapisu REGON, BDO, KRS i logo w ustawieniach firmy — Phase 22
|
||||
|
||||
### Active (In Progress)
|
||||
|
||||
(brak — gotowe do v0.8)
|
||||
(brak — gotowe do v1.0)
|
||||
|
||||
### Planned (Next)
|
||||
|
||||
@@ -136,4 +138,4 @@ Quick Reference:
|
||||
|
||||
---
|
||||
*PROJECT.md — Updated when requirements or context change*
|
||||
*Last updated: 2026-03-16 after Phase 14 (Szablony wiadomości e-mail complete)*
|
||||
*Last updated: 2026-03-22 after Phase 22 (REGON Save Fix complete)*
|
||||
|
||||
@@ -6,10 +6,36 @@ orderPRO to narzędzie do wielokanałowego zarządzania sprzedażą. Projekt prz
|
||||
|
||||
## Current Milestone
|
||||
|
||||
None — ready for v0.8 planning.
|
||||
None — ready for v1.0 planning.
|
||||
|
||||
## Completed Milestones
|
||||
|
||||
<details>
|
||||
<summary>v0.9 Poprawki ustawień firmy — 2026-03-22 (1 phase, 1 plan)</summary>
|
||||
|
||||
Naprawa buga: pola REGON, BDO, KRS i logo nie zapisywały się w ustawieniach firmy (kontroler nie przekazywał ich do repozytorium).
|
||||
|
||||
| Phase | Name | Plans | Completed |
|
||||
|-------|------|-------|-----------|
|
||||
| 22 | REGON Save Fix | 1/1 | 2026-03-22 |
|
||||
|
||||
Archive: `.paul/phases/22-regon-save-fix/`
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>v0.8 Poprawki wyświetlania źródła zamówień — 2026-03-22 (1 phase, 1 plan)</summary>
|
||||
|
||||
Na liście zamówień i stronie szczegółów: wyświetlanie nazwy konkretnej integracji (z tabeli `integrations`) zamiast generycznego "shopPRO". Korekta kolejności source/ID.
|
||||
|
||||
| Phase | Name | Plans | Completed |
|
||||
|-------|------|-------|-----------|
|
||||
| 21 | Order Source Display | 1/1 | 2026-03-22 |
|
||||
|
||||
Archive: `.paul/phases/21-order-source-display/`
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>v0.7 Zdalne drukowanie etykiet — 2026-03-22 (3 phases, 3 plans)</summary>
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
See: .paul/PROJECT.md (updated 2026-03-12)
|
||||
|
||||
**Core value:** Sprzedawca może obsługiwać zamówienia ze wszystkich kanałów sprzedaży i nadawać przesyłki bez przełączania się między platformami.
|
||||
**Current focus:** v0.7 Zdalne drukowanie etykiet — MILESTONE COMPLETE ✓
|
||||
**Current focus:** v0.9 Poprawki ustawień firmy — MILESTONE COMPLETE ✓
|
||||
|
||||
## Current Position
|
||||
|
||||
Milestone: v0.7 Zdalne drukowanie etykiet — COMPLETE ✓
|
||||
Phase: [3] of [3] (Windows Client) — COMPLETE ✓
|
||||
Plan: 20-01 — loop closed
|
||||
Status: Milestone v0.7 complete
|
||||
Last activity: 2026-03-22 — UNIFY complete, milestone v0.7 done
|
||||
Milestone: v0.9 Poprawki ustawień firmy — COMPLETE ✓
|
||||
Phase: [1] of [1] (REGON Save Fix) — COMPLETE ✓
|
||||
Plan: 22-01 — loop closed
|
||||
Status: Milestone v0.9 complete
|
||||
Last activity: 2026-03-22 — UNIFY complete, milestone v0.9 done
|
||||
|
||||
Progress:
|
||||
- v0.1 Initial Release: [██████████] 100% ✓
|
||||
@@ -23,16 +23,17 @@ Progress:
|
||||
- v0.5 Moduł Automatyzacji: [██████████] 100% ✓
|
||||
- v0.6 Poprawki UX: [██████████] 100% ✓
|
||||
- v0.7 Zdalne drukowanie etykiet: [██████████] 100% ✓
|
||||
- Phase 18: [██████████] 100% ✓ (1/1 plans)
|
||||
- Phase 19: [██████████] 100% ✓ (1/1 plans)
|
||||
- Phase 20: [██████████] 100% ✓ (1/1 plans)
|
||||
- v0.8 Poprawki źródła zamówień: [██████████] 100% ✓
|
||||
- Phase 21: [██████████] 100% ✓ (1/1 plans)
|
||||
- v0.9 Poprawki ustawień firmy: [██████████] 100% ✓
|
||||
- Phase 22: [██████████] 100% ✓ (1/1 plans)
|
||||
|
||||
## Loop Position
|
||||
|
||||
Current loop state:
|
||||
```
|
||||
PLAN ──▶ APPLY ──▶ UNIFY
|
||||
✓ ✓ ✓ [Milestone v0.7 complete]
|
||||
✓ ✓ ✓ [Milestone v0.9 complete]
|
||||
```
|
||||
|
||||
## Accumulated Context
|
||||
@@ -66,6 +67,16 @@ PLAN ──▶ APPLY ──▶ UNIFY
|
||||
| 2026-03-17 | Email history jako wpisy w order_activity_log (nie osobna sekcja) | Faza 15 | Spójność z istniejącym UX — jeden timeline zamiast fragmentacji |
|
||||
| 2026-03-17 | VariableResolver wydzielony z EmailTemplateController | Faza 15 | Reuse logiki zmiennych; resolwer niezależny od kontrolera szablonów |
|
||||
|
||||
### Skill Audit (Faza 22, Plan 01)
|
||||
| Oczekiwany | Wywołany | Uwagi |
|
||||
|------------|---------|-------|
|
||||
| sonar-scanner | ✓ | 0 nowych issues na zmienionym pliku; 1 pre-existing S1172 |
|
||||
|
||||
### Skill Audit (Faza 21, Plan 01)
|
||||
| Oczekiwany | Wywołany | Uwagi |
|
||||
|------------|---------|-------|
|
||||
| sonar-scanner | ✓ | 0 nowych issues na zmienionych plikach; 18 pre-existing |
|
||||
|
||||
### Skill Audit (Faza 20, Plan 01)
|
||||
| Oczekiwany | Wywołany | Uwagi |
|
||||
|------------|---------|-------|
|
||||
@@ -195,9 +206,9 @@ Brak.
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-03-22
|
||||
Stopped at: Milestone v0.7 complete
|
||||
Next action: /paul:discuss-milestone lub /paul:milestone dla v0.8
|
||||
Resume file: .paul/phases/20-windows-client/20-01-SUMMARY.md
|
||||
Stopped at: Milestone v0.9 complete
|
||||
Next action: /paul:discuss-milestone lub /paul:milestone dla v1.0
|
||||
Resume file: .paul/phases/22-regon-save-fix/22-01-SUMMARY.md
|
||||
Resume context:
|
||||
- v0.1: COMPLETE ✓ (6 phases, 15 plans)
|
||||
- v0.2: COMPLETE ✓ (1 phase, 5 plans)
|
||||
@@ -206,6 +217,8 @@ Resume context:
|
||||
- v0.5: COMPLETE ✓ (1 phase, 2 plans) — Moduł Automatyzacji
|
||||
- v0.6: COMPLETE ✓ (1 phase, 1 plan) — Poprawki UX
|
||||
- v0.7: COMPLETE ✓ (3 phases, 3 plans) — Zdalne drukowanie etykiet
|
||||
- v0.8: COMPLETE ✓ (1 phase, 1 plan) — Poprawki źródła zamówień
|
||||
- v0.9: COMPLETE ✓ (1 phase, 1 plan) — Poprawki ustawień firmy
|
||||
|
||||
---
|
||||
*STATE.md — Updated after every significant action*
|
||||
|
||||
119
.paul/phases/22-regon-save-fix/22-01-PLAN.md
Normal file
119
.paul/phases/22-regon-save-fix/22-01-PLAN.md
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
phase: 22-regon-save-fix
|
||||
plan: 01
|
||||
type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- src/Modules/Settings/CompanySettingsController.php
|
||||
autonomous: true
|
||||
---
|
||||
|
||||
<objective>
|
||||
## Goal
|
||||
Naprawić zapisywanie pól REGON, BDO, KRS i logo w ustawieniach firmy — kontroler pomija te pola przy przekazywaniu danych do repozytorium.
|
||||
|
||||
## Purpose
|
||||
Użytkownik nie może zapisać numeru REGON (ani BDO, KRS, ścieżki logo) w ustawieniach firmy. Formularz wysyła te pola, repozytorium je obsługuje, ale kontroler ich nie przekazuje — dane giną.
|
||||
|
||||
## Output
|
||||
Poprawiony `CompanySettingsController::save()` z brakującymi 4 polami.
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
## Project Context
|
||||
@.paul/PROJECT.md
|
||||
@.paul/ROADMAP.md
|
||||
@.paul/STATE.md
|
||||
|
||||
## Source Files
|
||||
@src/Modules/Settings/CompanySettingsController.php
|
||||
@src/Modules/Settings/CompanySettingsRepository.php
|
||||
@resources/views/settings/company.php
|
||||
</context>
|
||||
|
||||
<skills>
|
||||
No specialized flows required — jednolinijkowa naprawa buga.
|
||||
</skills>
|
||||
|
||||
<acceptance_criteria>
|
||||
|
||||
## AC-1: REGON zapisuje się poprawnie
|
||||
```gherkin
|
||||
Given użytkownik jest na stronie Ustawienia > Firma
|
||||
When wpisuje numer REGON i klika Zapisz
|
||||
Then po przeładowaniu strony pole REGON zawiera zapisaną wartość
|
||||
```
|
||||
|
||||
## AC-2: Pozostałe brakujące pola zapisują się poprawnie
|
||||
```gherkin
|
||||
Given użytkownik jest na stronie Ustawienia > Firma
|
||||
When wpisuje BDO, KRS, ścieżkę logo i klika Zapisz
|
||||
Then po przeładowaniu strony wszystkie 3 pola zawierają zapisane wartości
|
||||
```
|
||||
|
||||
## AC-3: Istniejące pola nadal działają
|
||||
```gherkin
|
||||
Given użytkownik ma zapisane dane firmy (nazwa, NIP, telefon itp.)
|
||||
When edytuje tylko REGON i klika Zapisz
|
||||
Then wszystkie wcześniej zapisane pola pozostają bez zmian
|
||||
```
|
||||
|
||||
</acceptance_criteria>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Dodać brakujące pola do CompanySettingsController::save()</name>
|
||||
<files>src/Modules/Settings/CompanySettingsController.php</files>
|
||||
<action>
|
||||
W metodzie `save()`, w tablicy przekazywanej do `$this->repository->saveSettings([...])`, dodać 4 brakujące pola po `bank_owner_name`:
|
||||
|
||||
- 'bdo_number' => (string) $request->input('bdo_number', ''),
|
||||
- 'regon' => (string) $request->input('regon', ''),
|
||||
- 'court_register' => (string) $request->input('court_register', ''),
|
||||
- 'logo_path' => (string) $request->input('logo_path', ''),
|
||||
|
||||
Zachować spójność z istniejącym stylem (cast do string, default pusty string).
|
||||
Nie zmieniać kolejności istniejących pól.
|
||||
</action>
|
||||
<verify>
|
||||
1. Otworzyć /settings/company w przeglądarce
|
||||
2. Wpisać REGON, BDO, KRS, logo path
|
||||
3. Zapisać — po przeładowaniu wartości powinny być widoczne
|
||||
</verify>
|
||||
<done>AC-1, AC-2, AC-3 satisfied: wszystkie pola formularza są przekazywane do repozytorium</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<boundaries>
|
||||
|
||||
## DO NOT CHANGE
|
||||
- src/Modules/Settings/CompanySettingsRepository.php (działa poprawnie)
|
||||
- resources/views/settings/company.php (działa poprawnie)
|
||||
- database/migrations/* (schemat jest poprawny)
|
||||
|
||||
## SCOPE LIMITS
|
||||
- Tylko dodanie brakujących pól w kontrolerze
|
||||
- Brak nowych plików, zależności, migracji
|
||||
|
||||
</boundaries>
|
||||
|
||||
<verification>
|
||||
Before declaring plan complete:
|
||||
- [ ] Cztery pola dodane do tablicy w `save()`
|
||||
- [ ] Brak błędów składniowych (php -l)
|
||||
- [ ] Ręczny test zapisu REGON w przeglądarce
|
||||
- [ ] Istniejące pola nadal się zapisują
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- Pole REGON (i BDO, KRS, logo) zapisuje się po kliknięciu Zapisz
|
||||
- Żadne istniejące pola nie zostały uszkodzone
|
||||
- Brak nowych błędów PHP
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `.paul/phases/22-regon-save-fix/22-01-SUMMARY.md`
|
||||
</output>
|
||||
90
.paul/phases/22-regon-save-fix/22-01-SUMMARY.md
Normal file
90
.paul/phases/22-regon-save-fix/22-01-SUMMARY.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
phase: 22-regon-save-fix
|
||||
plan: 01
|
||||
subsystem: settings
|
||||
tags: [company-settings, bugfix]
|
||||
|
||||
requires:
|
||||
- phase: none
|
||||
provides: n/a
|
||||
provides:
|
||||
- Naprawa zapisu REGON, BDO, KRS i logo w ustawieniach firmy
|
||||
affects: []
|
||||
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns: []
|
||||
|
||||
key-files:
|
||||
created: []
|
||||
modified:
|
||||
- src/Modules/Settings/CompanySettingsController.php
|
||||
|
||||
key-decisions:
|
||||
- "Brak — prosta naprawa brakujących pól w kontrolerze"
|
||||
|
||||
patterns-established: []
|
||||
|
||||
duration: 3min
|
||||
started: 2026-03-22T00:00:00Z
|
||||
completed: 2026-03-22T00:03:00Z
|
||||
---
|
||||
|
||||
# Phase 22 Plan 01: REGON Save Fix Summary
|
||||
|
||||
**Naprawa 4 brakujących pól (regon, bdo_number, court_register, logo_path) w CompanySettingsController::save() — dane z formularza nie były przekazywane do repozytorium.**
|
||||
|
||||
## Performance
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Duration | ~3 min |
|
||||
| Tasks | 1 completed |
|
||||
| Files modified | 1 |
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status | Notes |
|
||||
|-----------|--------|-------|
|
||||
| AC-1: REGON zapisuje się poprawnie | Pass | Pole dodane do tablicy w save() |
|
||||
| AC-2: BDO, KRS, logo zapisują się | Pass | Wszystkie 4 pola dodane |
|
||||
| AC-3: Istniejące pola nadal działają | Pass | Żadne istniejące pola nie zmienione |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Dodano 4 brakujące pola (regon, bdo_number, court_register, logo_path) do CompanySettingsController::save()
|
||||
- PHP syntax check: brak błędów
|
||||
- SonarQube: 0 nowych issues na zmienionym pliku (1 pre-existing S1172 — nieużywany $request w index())
|
||||
|
||||
## Files Created/Modified
|
||||
|
||||
| File | Change | Purpose |
|
||||
|------|--------|---------|
|
||||
| `src/Modules/Settings/CompanySettingsController.php` | Modified | Dodano 4 brakujące pola w tablicy przekazywanej do saveSettings() |
|
||||
|
||||
## Decisions Made
|
||||
|
||||
None — followed plan as specified.
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None — plan executed exactly as written.
|
||||
|
||||
## Issues Encountered
|
||||
|
||||
None.
|
||||
|
||||
## Next Phase Readiness
|
||||
|
||||
**Ready:**
|
||||
- Bug naprawiony, milestone do zamknięcia
|
||||
|
||||
**Concerns:**
|
||||
- Brak
|
||||
|
||||
**Blockers:**
|
||||
- None
|
||||
|
||||
---
|
||||
*Phase: 22-regon-save-fix, Plan: 01*
|
||||
*Completed: 2026-03-22*
|
||||
@@ -60,6 +60,10 @@ final class CompanySettingsController
|
||||
'tax_number' => (string) $request->input('tax_number', ''),
|
||||
'bank_account' => (string) $request->input('bank_account', ''),
|
||||
'bank_owner_name' => (string) $request->input('bank_owner_name', ''),
|
||||
'bdo_number' => (string) $request->input('bdo_number', ''),
|
||||
'regon' => (string) $request->input('regon', ''),
|
||||
'court_register' => (string) $request->input('court_register', ''),
|
||||
'logo_path' => (string) $request->input('logo_path', ''),
|
||||
'default_package_length_cm' => (string) $request->input('default_package_length_cm', '25'),
|
||||
'default_package_width_cm' => (string) $request->input('default_package_width_cm', '20'),
|
||||
'default_package_height_cm' => (string) $request->input('default_package_height_cm', '8'),
|
||||
|
||||
Reference in New Issue
Block a user