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:
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>
|
||||
Reference in New Issue
Block a user