From c68273a96b3f49720b2563ba9141a132b8a94a1a Mon Sep 17 00:00:00 2001 From: David Rodenkirchen Date: Sun, 8 Feb 2026 01:26:55 +0100 Subject: [PATCH] Fix bug where users without ticket could register for tournament --- .../pages/TournamentDetailsPage.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ezgg_lan_manager/pages/TournamentDetailsPage.py b/src/ezgg_lan_manager/pages/TournamentDetailsPage.py index 042d907..8e3f3e6 100644 --- a/src/ezgg_lan_manager/pages/TournamentDetailsPage.py +++ b/src/ezgg_lan_manager/pages/TournamentDetailsPage.py @@ -4,7 +4,7 @@ from from_root import from_root from rio import Column, Component, event, TextStyle, Text, Row, Image, Spacer, ProgressCircle, Button, Checkbox, ThemeContextSwitcher, Link, Revealer, PointerEventListener, \ PointerEvent, Rectangle, Color -from src.ezgg_lan_manager import ConfigurationService, TournamentService, UserService +from src.ezgg_lan_manager import ConfigurationService, TournamentService, UserService, TicketingService from src.ezgg_lan_manager.components.MainViewContentBox import MainViewContentBox from src.ezgg_lan_manager.components.TournamentDetailsInfoRow import TournamentDetailsInfoRow from src.ezgg_lan_manager.types.DateUtil import weekday_to_display_text @@ -53,13 +53,18 @@ class TournamentDetailsPage(Component): if not self.user: return - try: - await self.session[TournamentService].register_user_for_tournament(self.user.user_id, self.tournament.id) - self.is_success = True - self.message = f"Erfolgreich angemeldet!" - except Exception as e: + user_ticket = await self.session[TicketingService].get_user_ticket(self.user.user_id) + if user_ticket is None: self.is_success = False - self.message = f"Fehler: {e}" + self.message = "Turnieranmeldung nur mit Ticket" + else: + try: + await self.session[TournamentService].register_user_for_tournament(self.user.user_id, self.tournament.id) + self.is_success = True + self.message = f"Erfolgreich angemeldet!" + except Exception as e: + self.is_success = False + self.message = f"Fehler: {e}" self.loading = False await self.on_populate()