• Mahmoud Aglan's avatar
    Sports module overhaul: fix bugs, NID parsing, photo upload, cascading forms, auto-codes · 85a4f4fb
    Mahmoud Aglan authored
    - Fix route URL mismatches in player show.php (card/activate, card/suspend, card/revoke, enroll/drop)
    - Fix Sports module permissions (was using temp.view/temp.add, now sports.view/sports.add/sports.convert)
    - Add CSRF middleware to Sports POST route
    - Fix AcademyEnrollment::getForPlayer() to JOIN academy/level names
    - Add NID auto-parsing API and JS to player create/edit (deduces DOB, age, gender, governorate)
    - Replace raw ID inputs in enrollment form with cascading dropdowns (academy→level→schedule)
    - Add profile photo upload to player create/edit/show with live preview
    - Add full player history timeline (enrollments, payments, medical, attendance)
    - Add sport→facility cascade filter to reservation create form
    - Make all code fields optional with auto-generation (Disciplines, Academies, Facilities, Levels)
    - Overhaul Sports create form with discipline dropdown and competitive level select
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    85a4f4fb