periodically refresh order status

This commit is contained in:
David Rodenkirchen 2025-03-26 00:07:04 +01:00
parent 23e903a207
commit f58a7872ef

View File

@ -2,7 +2,7 @@ from asyncio import sleep, create_task
from decimal import Decimal from decimal import Decimal
import rio import rio
from rio import Component, Column, Text, TextStyle, Button, Row, ScrollContainer, Spacer, Popup, Table from rio import Component, Column, Text, TextStyle, Button, Row, ScrollContainer, Spacer, Popup, Table, event
from src.ez_lan_manager.components.CateringCartItem import CateringCartItem from src.ez_lan_manager.components.CateringCartItem import CateringCartItem
from src.ez_lan_manager.components.CateringOrderItem import CateringOrderItem from src.ez_lan_manager.components.CateringOrderItem import CateringOrderItem
@ -21,6 +21,11 @@ class ShoppingCartAndOrders(Component):
popup_is_shown: bool = False popup_is_shown: bool = False
popup_is_error: bool = True popup_is_error: bool = True
@event.periodic(5)
async def periodic_refresh_of_orders(self) -> None:
if not self.show_cart and not self.popup_is_shown:
self.orders = await self.session[CateringService].get_orders_for_user(self.session[SessionStorage].user_id)
async def switch(self) -> None: async def switch(self) -> None:
self.show_cart = not self.show_cart self.show_cart = not self.show_cart
self.orders = await self.session[CateringService].get_orders_for_user(self.session[SessionStorage].user_id) self.orders = await self.session[CateringService].get_orders_for_user(self.session[SessionStorage].user_id)