Compare commits

..

No commits in common. "8aee3af9d7255b36d973a2dcc455386004bb2314" and "2f6e2b15aabf79c6d4197d59ba0988ca1e55d504" have entirely different histories.

2 changed files with 4 additions and 14 deletions

View File

@ -17,21 +17,12 @@ class SeatingPlanInfoBox(Component):
seat_price: Decimal = Decimal("0") seat_price: Decimal = Decimal("0")
is_blocked: bool = False is_blocked: bool = False
has_user_ticket = False has_user_ticket = False
booking_button_text = ""
@event.on_populate @event.on_page_change
async def check_ticket(self) -> None: async def check_ticket(self) -> None:
if self.session[SessionStorage].user_id: if self.session[SessionStorage].user_id:
user_ticket = await self.session[TicketingService].get_user_ticket(self.session[SessionStorage].user_id) user_ticket = await self.session[TicketingService].get_user_ticket(self.session[SessionStorage].user_id)
self.has_user_ticket = not (user_ticket is None) self.has_user_ticket = not (user_ticket is None)
self.booking_button_text = "Buchen" if self.has_user_ticket else "Ticket kaufen"
self.force_refresh()
async def purchase_clicked(self):
if self.has_user_ticket:
await self.purchase_cb()
else:
self.session.navigate_to("./buy_ticket")
def build(self) -> Component: def build(self) -> Component:
if not self.show: if not self.show:
@ -56,7 +47,7 @@ class SeatingPlanInfoBox(Component):
style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"), style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"),
Button( Button(
Text( Text(
text=self.booking_button_text, "Buchen" if self.has_user_ticket else "Ticket kaufen",
margin=1, margin=1,
style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.1), style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.1),
overflow="wrap", overflow="wrap",
@ -68,7 +59,7 @@ class SeatingPlanInfoBox(Component):
margin=1, margin=1,
grow_y=False, grow_y=False,
is_sensitive=not self.is_booking_blocked, is_sensitive=not self.is_booking_blocked,
on_press=self.purchase_clicked on_press=self.purchase_cb if self.has_user_ticket else partial(self.session.navigate_to, "./buy_ticket")
) if self.session[SessionStorage].user_id else Text(f"Du musst eingeloggt sein um einen Sitzplatz zu buchen", margin=1, ) if self.session[SessionStorage].user_id else Text(f"Du musst eingeloggt sein um einen Sitzplatz zu buchen", margin=1,
style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"), style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"),
min_height=10 min_height=10

View File

@ -85,7 +85,6 @@ class ShoppingCartAndOrders(Component):
show_popup_task = create_task(self.show_popup("Guthaben nicht ausreichend", True)) show_popup_task = create_task(self.show_popup("Guthaben nicht ausreichend", True))
else: else:
show_popup_task = create_task(self.show_popup("Unbekannter Fehler", True)) show_popup_task = create_task(self.show_popup("Unbekannter Fehler", True))
else:
self.session[CateringService].save_cart(self.session[SessionStorage].user_id, []) self.session[CateringService].save_cart(self.session[SessionStorage].user_id, [])
self.order_button_loading = False self.order_button_loading = False
if not show_popup_task: if not show_popup_task: