1. 21 May, 2026 12 commits
  2. 20 May, 2026 5 commits
  3. 19 May, 2026 11 commits
  4. 18 May, 2026 12 commits
    • Mahmoud Aglan's avatar
      بووششش · 6141de46
      Mahmoud Aglan authored
      6141de46
    • Mahmoud Aglan's avatar
      test · e137cd61
      Mahmoud Aglan authored
      e137cd61
    • Mahmoud Aglan's avatar
      CREATED · 669116e2
      Mahmoud Aglan authored
      669116e2
    • Mahmoud Aglan's avatar
      fixed serial duplication · ea22df8a
      Mahmoud Aglan authored
      ea22df8a
    • Mahmoud Aglan's avatar
      sports paymert · 1be9b982
      Mahmoud Aglan authored
      1be9b982
    • Mahmoud Aglan's avatar
      test · 00f555fb
      Mahmoud Aglan authored
      00f555fb
    • Mahmoud Aglan's avatar
      cool · a4373d67
      Mahmoud Aglan authored
      a4373d67
    • Mahmoud Aglan's avatar
      Rebuild pool grid as physical 2D zone system with timeline · 0b3ff07b
      Mahmoud Aglan authored
      Pool is now a real 2D grid (rows × cols = squares). Admin sets dimensions,
      selects time slot from timeline strip above, then assigns squares to
      academies/groups/hourly/blocked/maintenance via drag selection.
      
      - New table: sa_pool_zone_bookings (zone_row × zone_col per time slot)
      - ALTER sa_facilities: add pool_grid_rows, pool_grid_cols
      - Rewritten PoolGridService with zone-based logic + copy-slot feature
      - Interactive view: timeline strip, 2D grid with drag/click/shift-rect select
      - API: state, assign, clear, update-grid, copy-slot
      - Seed: 4×6 grid with sample zone bookings
      - Fix mirror route mismatch (/sa/mirror/{id} now works)
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      0b3ff07b
    • Mahmoud Aglan's avatar
    • Mahmoud Aglan's avatar
      Add interactive pool grid management system · f21af8c5
      Mahmoud Aglan authored
      Lanes × time slots grid with drag selection, bulk assign (training/blocked/maintenance),
      bulk clear, date navigation, and real-time AJAX state loading.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      f21af8c5
    • Mahmoud Aglan's avatar
      Add swimming pool seed with full grid system data · 65ee2e2a
      Mahmoud Aglan authored
      Seeds: discipline, facility (8 lanes), time brackets (5), pricing rules
      (80 rules across all lanes × brackets × group sizes), 4 coaches,
      4 programs, 6 training groups with weekly schedules, 20 players
      enrolled across groups, training bookings for current week, hourly
      bookings, and a maintenance blackout date.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      65ee2e2a
    • Mahmoud Aglan's avatar
      Fix SportsActivity column mismatches + add membership tutorials · 56266f42
      Mahmoud Aglan authored
      Column fixes across 13 controllers/models/views:
      - sa_coaches: name_ar → full_name_ar, status → is_active
      - sa_players: serial_number → registration_serial, code → registration_serial
      - sa_facility_units: removed non-existent is_archived references
      - sa_player_documents: title → file_name, original_name → file_name, uploaded_by → created_by
      - sa_blackout_dates: wrong table name sa_facility_blackouts → sa_blackout_dates
      - sa_disciplines: wrong table name disciplines → sa_disciplines
      - sa_attendance: added missing attendance_date, removed non-existent recorded_at
      - sa_player_documents: document_type medical → medical_cert, status → approval_status
      - card_status: not_issued → inactive, expired → revoked
      - player_type: removed invalid academy_player
      - academy_type: removed invalid partnership
      - gender_restriction: store NULL instead of 'mixed'
      - Added missing [] params to $db->select() calls
      
      Membership tutorials: 25 tutorial files covering all membership operations.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      56266f42