• Mahmoud Aglan's avatar
    fix(tournaments): the manager runs the tournaments the game actually plays · aa025be9
    Mahmoud Aglan authored
    Create and edit write real el3ab_tournaments columns. Edit used to send
    organization_id, rounds_count, entry_fee, prize_pool, start_date and
    end_date (none exist) and complete sent completed_at, so PostgREST rejected
    both and the page said saved. The form now also covers name_ar, min_players,
    min/max rating, is_rated, auto_start, the registration window and a real
    prize distribution ([{place, coins}]), validates them, and reads and writes
    times in Cairo (stored as UTC, DST included). Editing is allowed while
    registration is open; the edit page no longer crashes on phase_config.
    
    No more Swiss linking on create: picking an organisation used to create a
    Swiss-service tournament and hand the event to a second engine.
    
    Tournaments the player app runs (no swiss_api_tournament_id) are shown from
    el3ab_tournament_rounds.pairings through NativeTournamentService: every
    board with names, results, reasons and who set them; standings with the
    engine's own scoring (aborted boards are losses, per-time-control rating)
    and the chosen tiebreak columns; the players tab resolves names from
    profiles (there is no player_name column) including withdrawn players.
    
    Arbiter tools relay to the game's api/tournament-admin.php with the service
    key: set or override a result, forfeit (either side or both), next round,
    close the round now (unfinished boards 0-0), pause/resume, end early with
    final placings, add a player by username (late entry once running),
    withdraw, bulk add by usernames. Start goes through the game so the
    minimum-players check is no longer skipped. Tiebreaks save directly for
    these tournaments and offer only the four keys the engine computes, under
    the names the app shows players.
    Co-Authored-By: 's avatarClaude Opus 5.5 <noreply@anthropic.com>
    aa025be9
Name
Last commit
Last update
..
ads Loading commit data...
analytics Loading commit data...
audit-log Loading commit data...
auth/views Loading commit data...
branding Loading commit data...
chess-bots Loading commit data...
dashboard Loading commit data...
economy Loading commit data...
feature-flags Loading commit data...
games Loading commit data...
live-tournaments Loading commit data...
moderation Loading commit data...
notifications Loading commit data...
org-achievements Loading commit data...
org-announcements Loading commit data...
org-applications Loading commit data...
org-challenges Loading commit data...
org-chat Loading commit data...
org-content Loading commit data...
org-events Loading commit data...
org-frames Loading commit data...
org-invites Loading commit data...
org-leaderboards Loading commit data...
org-loyalty Loading commit data...
org-media Loading commit data...
org-partnerships Loading commit data...
org-recruitment Loading commit data...
org-rosters Loading commit data...
org-spotlights Loading commit data...
org-training Loading commit data...
org-transfers Loading commit data...
org-treasury Loading commit data...
organizations Loading commit data...
players Loading commit data...
settings Loading commit data...
tournaments Loading commit data...
users Loading commit data...
workflows Loading commit data...