nagasurendra's picture
Create place_order.py
a8a0cfb verified
raw
history blame
1.17 kB
import gradio as gr
from utils.excel_operations import read_excel, write_excel
from utils.state_management import state
import uuid
def place_order_page():
def place_order():
if not state.get("user"):
return "Please log in first!"
user = state["user"]
cart = state.get("cart", [])
if not cart:
return "Your cart is empty!"
orders = read_excel('data/orders.xlsx')
order_id = str(uuid.uuid4())
total_cost = sum(item["Price"] * item["Quantity"] for item in cart)
new_order = {
"Order ID": order_id,
"Customer Email": user["Email"],
"Table ID": state.get("table_id", "Unknown"),
"Items": cart,
"Total Cost": total_cost,
"Status": "Pending"
}
orders.append(new_order)
write_excel('data/orders.xlsx', orders)
# Clear cart after placing order
state["cart"] = []
return f"Order placed successfully! Order ID: {order_id}"
with gr.Group():
gr.Markdown("### Place Your Order")
gr.Button("Place Order").click(place_order, outputs="Status")