BiryaniHub / app.py
DSatishchandra's picture
Update app.py
33eba6b verified
raw
history blame
2.38 kB
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)