Spaces:
Sleeping
Sleeping
File size: 2,378 Bytes
33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 33eba6b 444fe60 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
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__)
@app.route("/", methods=["GET", "POST"])
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")
@app.route("/signup", methods=["GET", "POST"])
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")
@app.route("/menu")
def menu():
menu_items = fetch_menu_items()
return render_template("menu.html", menu_items=menu_items)
@app.route("/add_to_cart", methods=["POST"])
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})
@app.route("/cart")
def cart_page():
cart, total = view_cart()
return render_template("cart.html", cart=cart, total=total)
@app.route("/place_order", methods=["POST"])
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)
|