Compare commits

...

2 Commits

Author SHA1 Message Date
David Rodenkirchen
8aee3af9d7 dont empty cart if funds insufficient 2025-03-25 23:34:55 +01:00
David Rodenkirchen
dd8b79c254 fix seating plan info box not showing correct button 2025-03-25 23:28:32 +01:00
2 changed files with 14 additions and 4 deletions

View File

@ -17,12 +17,21 @@ class SeatingPlanInfoBox(Component):
seat_price: Decimal = Decimal("0")
is_blocked: bool = False
has_user_ticket = False
booking_button_text = ""
@event.on_page_change
@event.on_populate
async def check_ticket(self) -> None:
if 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.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:
if not self.show:
@ -47,7 +56,7 @@ class SeatingPlanInfoBox(Component):
style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"),
Button(
Text(
"Buchen" if self.has_user_ticket else "Ticket kaufen",
text=self.booking_button_text,
margin=1,
style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.1),
overflow="wrap",
@ -59,7 +68,7 @@ class SeatingPlanInfoBox(Component):
margin=1,
grow_y=False,
is_sensitive=not self.is_booking_blocked,
on_press=self.purchase_cb if self.has_user_ticket else partial(self.session.navigate_to, "./buy_ticket")
on_press=self.purchase_clicked
) 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"),
min_height=10

View File

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