1. 10 Aug, 2026 1 commit
    • Mahmoud Aglan's avatar
      feat(members): show subscription status, transfer details, and overdue amounts · 28433036
      Mahmoud Aglan authored
      1. Subscription badge: shows if active (paid), overdue, or awaiting renewal
      2. Overdue table: lists all unpaid subscriptions with amounts needed to renew
      3. Transfer origin card: shows who transferred, when, and actual amount paid
      4. Financial summary: shows actual paid amount (not original membership_value) for transferred members
      5. Payment history link for deceased member (accessible from transferee's page)
      6. Redirect /members/{id} to archive page if member is archived
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      28433036
  2. 09 Aug, 2026 5 commits
  3. 08 Aug, 2026 28 commits
  4. 06 Aug, 2026 4 commits
  5. 05 Aug, 2026 2 commits
    • Mahmoud Aglan's avatar
      fix(sports): UX bugs from real-user testing · de0b8968
      Mahmoud Aglan authored
      - Institution validation redirects back to /create instead of /index
      - Add sport_type field to discipline create/edit forms (was in model but missing from views)
      - Add schedule copy + time shift UI panels to daily schedule page
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      de0b8968
    • Mahmoud Aglan's avatar
      feat(sports): implement full sports module enhancement (Phases 0-10) · b6b61bdb
      Mahmoud Aglan authored
      - Phase 0: Schema — training attendance, makeup sessions, institutions tables + sport_type on disciplines
      - Phase 1: Player lifecycle — pause/resume months, medical grace enforcement with auto-suspend cron
      - Phase 2: Medical grace integration — grace deadline on enrollment, extend grace endpoint
      - Phase 3: Training attendance — group-session-based system (separate from booking-based sa_attendance)
      - Phase 4: Make-up sessions — create from absence, schedule, complete, auto-expire cron
      - Phase 5: Institution management — full CRUD with booking linkage and contract tracking
      - Phase 6: Subscription renewal — medical verification flag on auto-generated subscriptions
      - Phase 7: Treasury auto-sync — already existed via SaEventListenerService (verified)
      - Phase 8: Recreational differentiation — sport_type enum on disciplines (training/recreational)
      - Phase 9: Dashboard — added medical grace expiry + makeup session alerts
      - Phase 10: Schedule copy — copy between groups, shift times, program-wide schedule propagation
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      b6b61bdb