Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
from flask import Flask, render_template, request, jsonify, redirect, url_for, session
|
|
|
2 |
from flask_session import Session # Import the Session class
|
3 |
from flask.sessions import SecureCookieSessionInterface # Import the class
|
4 |
from salesforce import get_salesforce_connection
|
@@ -40,7 +41,7 @@ def generate_referral_code(length=8):
|
|
40 |
|
41 |
@app.route("/")
|
42 |
def home():
|
43 |
-
#
|
44 |
user_email = request.args.get("email")
|
45 |
user_name = request.args.get("name")
|
46 |
|
@@ -48,8 +49,12 @@ def home():
|
|
48 |
session["user_email"] = user_email
|
49 |
session["user_name"] = user_name
|
50 |
print(f"User logged in via Hugging Face: {user_email} - {user_name}")
|
|
|
|
|
|
|
51 |
return redirect(url_for("menu")) # Redirect to menu directly
|
52 |
|
|
|
53 |
|
54 |
|
55 |
|
@@ -261,65 +266,18 @@ def login():
|
|
261 |
return render_template("login.html", error=f"Error: {str(e)}")
|
262 |
|
263 |
return render_template("login.html")
|
264 |
-
|
265 |
-
|
266 |
-
@app.route("/menu", methods=["GET", "POST"])
|
267 |
def menu():
|
268 |
-
|
269 |
-
|
270 |
-
user_email = session.get('user_email') # Fetch the user's email
|
271 |
-
print(f"Session check in /menu: user_id={user_id}, user_email={user_email}")
|
272 |
-
|
273 |
-
if not user_id:
|
274 |
-
print("Session missing, redirecting to login.")
|
275 |
-
return redirect(url_for('login'))
|
276 |
-
|
277 |
-
try:
|
278 |
-
# Fetch the user's Referral__c and Reward_Points__c
|
279 |
-
user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
|
280 |
-
user_result = sf.query(user_query)
|
281 |
-
|
282 |
-
if not user_result['records']:
|
283 |
-
print("User not found!")
|
284 |
-
return redirect(url_for('login'))
|
285 |
|
286 |
-
|
287 |
-
|
288 |
|
289 |
-
|
290 |
-
menu_query = """
|
291 |
-
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c
|
292 |
-
FROM Menu_Item__c
|
293 |
-
"""
|
294 |
-
result = sf.query(menu_query)
|
295 |
-
food_items = result['records'] if 'records' in result else []
|
296 |
|
297 |
-
# Filter categories dynamically
|
298 |
-
categories = {item.get("Veg_NonVeg__c").capitalize() for item in food_items if item.get("Veg_NonVeg__c")}
|
299 |
-
categories = {"Veg", "Non-Veg"} # Ensure valid categories only
|
300 |
|
301 |
-
# Filter food items based on the selected category
|
302 |
-
if selected_category == "Veg":
|
303 |
-
food_items = [item for item in food_items if item.get("Veg_NonVeg__c") in ["Veg", "both"]]
|
304 |
-
elif selected_category == "Non-Veg":
|
305 |
-
food_items = [item for item in food_items if item.get("Veg_NonVeg__c") in ["Non veg", "both"]]
|
306 |
|
307 |
-
except Exception as e:
|
308 |
-
print(f"Error fetching menu data: {str(e)}")
|
309 |
-
food_items = []
|
310 |
-
categories = {"All", "Veg", "Non-Veg"} # Default categories on error
|
311 |
-
referral_code = 'N/A'
|
312 |
-
reward_points = 0
|
313 |
-
|
314 |
-
# Render the menu page with the fetched data
|
315 |
-
return render_template(
|
316 |
-
"menu.html",
|
317 |
-
food_items=food_items,
|
318 |
-
categories=sorted(categories), # Sort categories alphabetically if needed
|
319 |
-
selected_category=selected_category,
|
320 |
-
referral_code=referral_code,
|
321 |
-
reward_points=reward_points
|
322 |
-
)
|
323 |
|
324 |
@app.route("/cart", methods=["GET"])
|
325 |
def cart():
|
|
|
1 |
from flask import Flask, render_template, request, jsonify, redirect, url_for, session
|
2 |
+
from flask import Flask, request, session, redirect, url_for, render_template
|
3 |
from flask_session import Session # Import the Session class
|
4 |
from flask.sessions import SecureCookieSessionInterface # Import the class
|
5 |
from salesforce import get_salesforce_connection
|
|
|
41 |
|
42 |
@app.route("/")
|
43 |
def home():
|
44 |
+
# Fetch user details from URL parameters
|
45 |
user_email = request.args.get("email")
|
46 |
user_name = request.args.get("name")
|
47 |
|
|
|
49 |
session["user_email"] = user_email
|
50 |
session["user_name"] = user_name
|
51 |
print(f"User logged in via Hugging Face: {user_email} - {user_name}")
|
52 |
+
|
53 |
+
# Ensure session is saved before redirecting
|
54 |
+
session.modified = True
|
55 |
return redirect(url_for("menu")) # Redirect to menu directly
|
56 |
|
57 |
+
return render_template("login.html")
|
58 |
|
59 |
|
60 |
|
|
|
266 |
return render_template("login.html", error=f"Error: {str(e)}")
|
267 |
|
268 |
return render_template("login.html")
|
269 |
+
@app.route("/menu")
|
|
|
|
|
270 |
def menu():
|
271 |
+
user_email = session.get("user_email")
|
272 |
+
user_name = session.get("user_name")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
|
274 |
+
if not user_email or not user_name:
|
275 |
+
return redirect(url_for("home")) # Redirect to home if session is missing
|
276 |
|
277 |
+
return render_template("menu.html", user_name=user_name)
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
|
|
|
|
|
|
279 |
|
|
|
|
|
|
|
|
|
|
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
@app.route("/cart", methods=["GET"])
|
283 |
def cart():
|