fix bugs, implement placing orders

This commit is contained in:
David Rodenkirchen
2024-09-03 17:12:36 +02:00
parent 30b32a4c02
commit 1ca7db6427
4 changed files with 93 additions and 24 deletions
+17 -12
View File
@@ -14,6 +14,7 @@ from src.ez_lan_manager.types.SessionStorage import SessionStorage
class CateringPage(Component):
show_cart = True
all_menu_items: Optional[list[CateringMenuItem]] = None
shopping_cart_and_orders: list[ShoppingCartAndOrders] = []
def __post_init__(self) -> None:
self.session[SessionStorage].subscribe_to_logged_in_or_out_event(self.__class__.__name__, self.on_user_logged_in_status_changed)
@@ -28,7 +29,7 @@ class CateringPage(Component):
await self.force_refresh()
async def on_switcher_bar_changed(self, _: SwitcherBarChangeEvent) -> None:
await self.shopping_cart_and_orders.switch()
await self.shopping_cart_and_orders[0].switch()
@staticmethod
def get_menu_items_by_category(all_menu_items: list[CateringMenuItem], category: Optional[CateringMenuItemCategory]) -> list[CateringMenuItem]:
@@ -37,7 +38,11 @@ class CateringPage(Component):
def build(self) -> Component:
user_id = self.session[SessionStorage].user_id
self.shopping_cart_and_orders = ShoppingCartAndOrders()
if len(self.shopping_cart_and_orders) == 0:
self.shopping_cart_and_orders.append(ShoppingCartAndOrders())
if len(self.shopping_cart_and_orders) > 1:
self.shopping_cart_and_orders.clear()
self.shopping_cart_and_orders.append(ShoppingCartAndOrders())
switcher_bar = SwitcherBar(
values=["cart", "orders"],
names=["Warenkorb", "Bestellungen"],
@@ -63,7 +68,7 @@ class CateringPage(Component):
align_x=0.5
),
switcher_bar,
self.shopping_cart_and_orders
self.shopping_cart_and_orders[0]
)
) if user_id else Spacer()
@@ -82,7 +87,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -104,7 +109,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -126,7 +131,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -148,7 +153,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -170,7 +175,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -192,7 +197,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -214,7 +219,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -236,7 +241,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0
@@ -258,7 +263,7 @@ class CateringPage(Component):
article_name=catering_menu_item.name,
article_price=catering_menu_item.price,
article_id=catering_menu_item.item_id,
on_add_callback=self.shopping_cart_and_orders.on_add_item,
on_add_callback=self.shopping_cart_and_orders[0].on_add_item,
is_sensitive=(user_id is not None) and not catering_menu_item.is_disabled,
additional_info=catering_menu_item.additional_info,
is_grey=idx % 2 == 0