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>
120 lines
3.6 KiB
Markdown
120 lines
3.6 KiB
Markdown
---
|
|
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>
|