Refactor logged-in and out messaging, Prepare Catering Module with shopping cart

This commit is contained in:
David Rodenkirchen
2024-08-28 11:59:25 +02:00
parent bde331a32c
commit b00a819325
10 changed files with 227 additions and 52 deletions
@@ -19,6 +19,16 @@ class CateringService:
self._db_service = db_service
self._accounting_service = accounting_service
self._user_service = user_service
self.cached_cart: dict[int, list[CateringMenuItem]] = { # REMOVE
27: [
CateringMenuItem(1, "Bockwurst", 150, CateringMenuItemCategory.SNACK),
CateringMenuItem(2, "Pils", 120, CateringMenuItemCategory.SNACK),
CateringMenuItem(3, "Pfezzi", 200, CateringMenuItemCategory.SNACK),
CateringMenuItem(3, "Pfezzi", 200, CateringMenuItemCategory.SNACK),
CateringMenuItem(4, "Pizza", 1150, CateringMenuItemCategory.MAIN_COURSE),
CateringMenuItem(5, "Zigaretten", 800, CateringMenuItemCategory.NON_FOOD),
]
}
# ORDERS
@@ -110,3 +120,17 @@ class CateringService:
def enable_menu_items_by_category(self, category: CateringMenuItemCategory) -> bool:
items = self.get_menu(category=category)
return all([self.enable_menu_item(item.item_id) for item in items])
# CART
def save_cart(self, user_id: Optional[int], cart: list[CateringMenuItem]) -> None:
if user_id:
self.cached_cart[user_id] = cart
def get_cart(self, user_id: Optional[int]) -> list[CateringMenuItem]:
if user_id is None:
return []
try:
return self.cached_cart[user_id]
except KeyError:
return []