Phase 3 complete (2 plans): - 03-01: RegistrationFormSettings helper + admin Ustawienia formularza page; public form and server-side pricing driven by wp_setup/mf_parameters settings; SQL seed + PHP runner for production deployment - 03-02: Dodatkowe informacje textarea field added to form/DB/confirmations/admin; admin Reg table reversed; codebase map written to .paul/codebase/ (8 docs) Milestone v0.1 XXXV Konferencja Registration Update — complete. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.7 KiB
6.7 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, duration, started, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | duration | started | completed | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-registration-form-settings | 01 | ui |
|
|
|
|
|
|
|
|
~2h | 2026-04-24T21:00:00Z | 2026-04-24T23:04:32Z |
Phase 3 Plan 01: Registration Form Settings Summary
Admin "Ustawienia formularza" page built with RegistrationFormSettings helper; public form and server-side pricing fully driven by configurable values from wp_setup and mf_parameters.
Performance
| Metric | Value |
|---|---|
| Duration | ~2h |
| Started | 2026-04-24T21:00:00Z |
| Completed | 2026-04-24T23:04:32Z |
| Tasks | 3 completed |
| Files modified | 9 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: Admin Menu Entry | Pass | "Ustawienia formularza" added to Dictionary, Setup, and FormSettings controllers |
| AC-2: Editable Participation Days | Pass | Day labels from wp_setup drive Smarty loops in Index.tpl |
| AC-3: Editable Calculation Prices | Pass | JS calculatePrice and server-side saved price use configured values |
| AC-4: Deployment Seed | Pass | SQL + PHP runner inserts defaults only when missing (idempotent) |
Accomplishments
- Created
RegistrationFormSettings(211 lines) centralizing day lists, VAT multiplier, one-day prices, and mf_parameters price rows - Built admin
FormSettingsController+Index.tplgrouped by participation days, main prices, surcharges, one-day prices, VAT - Replaced all hardcoded day labels and prices in public
Index.tplandIndexController.phpwith settings-driven values - Added SQL seed + guarded PHP runner for production deployment
Task Commits
| Task | Commit | Type | Description |
|---|---|---|---|
| Task 1: Shared Settings Helper | ed2f895 |
feat | RegistrationFormSettings + SQL seed files |
| Task 2: Admin Form Settings Page | ed2f895 |
feat | FormSettingsController, Index.tpl, menu links |
| Task 3: Public Form Settings Use | ed2f895 |
feat | IndexController + Index.tpl using settings |
All three tasks landed in single commit ed2f895 (committed together as part of manual apply session).
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
_rejestracja/core/class/RegistrationFormSettings.class.php |
Created (211 lines) | Centralized read/write helper for all editable form values |
_rejestracja/Admin/controller/FormSettingsController.php |
Created (61 lines) | GET/POST handler for the new admin settings page |
_rejestracja/Admin/template/partial/FormSettings/Index.tpl |
Created (72 lines) | Admin form UI grouped by value category |
_rejestracja/sql/2026-04-24-registration-form-settings.sql |
Created (22 lines) | Raw SQL seed for wp_setup variables |
_rejestracja/sql/apply-2026-04-24-registration-form-settings.php |
Created (145 lines) | Guarded PHP runner for production deployment |
_rejestracja/Admin/controller/DictionaryController.php |
Modified | Added "Ustawienia formularza" menu entry |
_rejestracja/Admin/controller/SetupController.php |
Modified | Added "Ustawienia formularza" menu entry |
_rejestracja/controller/IndexController.php |
Modified | Loads settings, passes to Smarty/JS, saves one-day price from settings |
_rejestracja/template/partial/Index/Index.tpl |
Modified | Smarty foreach loops for day options; JS prices from settings |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
| Day labels as newline-separated text in wp_setup | Avoids schema changes while supporting list values | Admin edits plain text area; split on render |
| Keep IDs 1–5 in mf_parameters for full conf/surcharge prices | Preserves compatibility with existing calculator/admin | No migration needed for prices already stored |
| Gross = net × VAT multiplier (computed) | VAT multiplier now configurable; no hardcoded gross values | Changing VAT multiplier updates JS preview automatically |
Deviations from Plan
Summary
| Type | Count | Impact |
|---|---|---|
| Auto-fixed | 0 | — |
| Scope additions | 1 | Minor — KSeF ID helper note added under NIP field |
| Deferred | 0 | — |
Total impact: Minimal — single cosmetic addition, no scope creep on core functionality.
Scope Addition
KSeF NIP helper note (in-plan follow-up noted in APPLY.md)
- A small informational note was added under the public NIP field
- Did not change field names or form behavior
- Committed as part of Task 3
Issues Encountered
None — plan executed cleanly.
Next Phase Readiness
Ready:
- All four ACs satisfied; admin page fully functional
- SQL seed and PHP runner ready for production deployment (
_rejestracja/sql/apply-2026-04-24-registration-form-settings.php?run=20260424) - Public form completely decoupled from hardcoded day/price values
- Phase 3 plan 01 complete; plan 02 (codebase map) also complete
Concerns:
- Production must apply the seed runner before new wp_setup settings are visible/editable
Blockers:
- None (same production note applies as Phase 2)
Phase: 03-registration-form-settings, Plan: 01 Completed: 2026-04-24