nagasurendra commited on
Commit
ca72937
·
verified ·
1 Parent(s): 2adeb7d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -54
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
- # Check if Hugging Face provided user details
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
- selected_category = request.args.get("category", "All")
269
- user_id = session.get('user_id')
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
- referral_code = user_result['records'][0].get('Referral__c', 'N/A') # Default to 'N/A' if empty
287
- reward_points = user_result['records'][0].get('Reward_Points__c', 0) # Default to 0 if empty
288
 
289
- # Query to fetch menu items
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():