# APPLY Results: 01-01

Date: 2026-04-24

## Completed Tasks

### Task 1: Add participant persistence fields and SQL migration
Status: pass

Notes:
- Added new fields/getters/setters/mappings to runtime model `_rejestracja/core/model/MfParticipant.class.php`.
- Mirrored fields in `_rejestracja/core/_model/MfParticipant.class.php` because the plan named `_model`, but runtime autoload uses `core/model`.
- Added SQL migration `_rejestracja/sql/2026-04-24-registration-form-update.sql`.
- Added PHP migration runner `_rejestracja/sql/apply-2026-04-24-registration-form-update.php`.
- Updated `_rejestracja/controller/IndexController.php` to persist participation option, selected days, lodging flag, diet, special diet, and surcharge flags.

### Task 2: Update public form, client price logic, and confirmation summary
Status: pass

Notes:
- Added one-day with lodging and one-day without lodging day selections.
- Added hidden canonical participation fields for backend persistence.
- Added dietary preference and special diet text field.
- Added confirmation summary output for participation, days, surcharges, and diet.

### Task 3: Update administrator list/detail display and payment edit flow
Status: pass

Notes:
- Added `RegEditAction` to `_rejestracja/Admin/controller/CalcController.php`.
- Added new data to admin registration list and detail template.
- Preserved payment status edit flow in `RegEdit.tpl`.

## Verification

- `php -l _rejestracja/core/model/MfParticipant.class.php`: pass
- `php -l _rejestracja/core/_model/MfParticipant.class.php`: pass
- `php -l _rejestracja/controller/IndexController.php`: pass
- `php -l _rejestracja/Admin/controller/CalcController.php`: pass
- `php -l _rejestracja/sql/apply-2026-04-24-registration-form-update.php`: pass

## Deviations

- Runtime uses `_rejestracja/core/model`, not `_rejestracja/core/_model`; implementation updated both to keep generated/model copies aligned.
- The public template contains legacy mojibake text. New labels were added mostly as ASCII where patching exact legacy-encoded strings was unreliable.

## Blocking Checkpoint

Manual verification is still required:
1. Apply SQL migration to a staging database using `_rejestracja/sql/apply-2026-04-24-registration-form-update.php?run=20260424` or the SQL file.
2. Submit test registrations for full conference, one day with lodging, and one day without lodging plus special diet.
3. Confirm confirmation email/page and admin panel show saved values and prices.
