---
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>
