Spaces:
Runtime error
Runtime error
| from flask import Flask, render_template, request, redirect, url_for, jsonify | |
| from models.salesforce import fetch_menu_items, place_order_in_salesforce | |
| from models.cart import add_to_cart, view_cart, clear_cart | |
| from models.user import login_user, signup_user | |
| app = Flask(__name__) | |
| def login(): | |
| if request.method == "POST": | |
| email = request.form.get("email") | |
| password = request.form.get("password") | |
| success, message = login_user(email, password) | |
| if success: | |
| return redirect(url_for("menu")) | |
| return render_template("login.html", error=message) | |
| return render_template("login.html") | |
| def signup(): | |
| if request.method == "POST": | |
| name = request.form.get("name") | |
| email = request.form.get("email") | |
| phone = request.form.get("phone") | |
| password = request.form.get("password") | |
| success, message = signup_user(name, email, phone, password) | |
| if success: | |
| return redirect(url_for("login")) | |
| return render_template("signup.html", error=message) | |
| return render_template("signup.html") | |
| def menu(): | |
| menu_items = fetch_menu_items() | |
| return render_template("menu.html", menu_items=menu_items) | |
| def add_to_cart_route(): | |
| data = request.json | |
| cart = add_to_cart(data["name"], data["price"]) | |
| return jsonify({"message": "Item added to cart!", "cart": cart}) | |
| def cart_page(): | |
| cart, total = view_cart() | |
| return render_template("cart.html", cart=cart, total=total) | |
| def place_order(): | |
| email = request.form.get("email") | |
| cart, total = view_cart() | |
| if not cart: | |
| return render_template("cart.html", error="Cart is empty!", cart=cart, total=0) | |
| order_details = "\n".join([f"{item['Name']} - ${item['Price']} x {item['Quantity']}" for item in cart]) | |
| try: | |
| place_order_in_salesforce(email, order_details, total) | |
| clear_cart() | |
| return render_template("cart.html", success="Order placed successfully!", cart=[], total=0) | |
| except Exception as e: | |
| return render_template("cart.html", error=f"Error: {str(e)}", cart=cart, total=total) | |
| if __name__ == "__main__": | |
| app.run(debug=True) | |