• Mahmoud Aglan's avatar
    Fix receptionist registration wizard — full rewrite of broken business logic · 45a76a04
    Mahmoud Aglan authored
    Problems fixed:
    - MissingRulesException crash on step 4 (empty rules passed to validate())
    - Guardian was never actually created as Person + Guardian record
    - Guardian was never linked to participant via guardian_participant pivot
    - Enrollment in program never happened (service didn't handle program_id)
    - medical_notes was passed at wrong level (it's on people table, not participants)
    - relation 'guardian' missing from validation (exists in DB CHECK constraint)
    
    Now the wizard properly:
    1. Creates guardian Person + Guardian record (or reuses existing)
    2. Creates participant Person record with all fields (phone, national_id, medical_notes)
    3. Creates Participant via ParticipantService with guardian linked
    4. Attaches guardian via guardian_participant pivot
    5. Enrolls in program via EnrollmentService (auto-finds/creates group)
    6. Added participant phone + national_id fields to step 2
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    45a76a04
Name
Last commit
Last update
.claude/rules Loading commit data...
app Loading commit data...
bootstrap Loading commit data...
config Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
gap-filling-plans Loading commit data...
public Loading commit data...
resources Loading commit data...
routes Loading commit data...
scripts Loading commit data...
storage Loading commit data...
tests Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env.example Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.npmrc Loading commit data...
Beanding Guide.txt Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
README.md Loading commit data...
artisan Loading commit data...
captain-definition Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
deploy.sh Loading commit data...
elcaptain-sportsonly-db.md Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
phpunit.xml Loading commit data...
system info.txt Loading commit data...
vite.config.js Loading commit data...