nagasurendra commited on
Commit
738ef9d
·
verified ·
1 Parent(s): 3caadf3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -27
app.py CHANGED
@@ -277,36 +277,28 @@ def login():
277
  def menu():
278
  selected_category = request.args.get("category", "All")
279
  user_id = session.get('user_id')
280
- user_email = session.get('user_email') # Fetch the user's email
281
- print(f"Session check in /menu: user_id={user_id}, user_email={user_email}")
282
-
283
  if not user_email:
284
  user_email = request.args.get("email")
285
  user_name = request.args.get("name")
286
 
287
  if user_email:
288
  session['user_email'] = user_email
289
- session['user_name'] = user_name # If needed
290
-
291
- print(f"✅ User session set: {user_email}, {user_name}")
292
  else:
293
- print("❌ No email in URL, redirecting to login.")
294
  return redirect(url_for("login"))
295
 
296
- print(f"Session check in /menu: user_email={user_email}")
297
-
298
-
299
  try:
300
- # Fetch the user's Referral__c and Reward_Points__c
301
  user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
302
  user_result = sf.query(user_query)
303
 
304
  if not user_result['records']:
305
- print("❌ User not found!")
306
  return redirect(url_for('login'))
307
 
308
- referral_code = user_result['records'][0].get('Referral__c', 'N/A') # Default to 'N/A' if empty
309
- reward_points = user_result['records'][0].get('Reward_Points__c', 0) # Default to 0 if empty
310
 
311
  # Query to fetch menu items
312
  menu_query = """
@@ -316,32 +308,45 @@ def menu():
316
  result = sf.query(menu_query)
317
  food_items = result['records'] if 'records' in result else []
318
 
319
- # Filter categories dynamically
320
- categories = {item.get("Veg_NonVeg__c").capitalize() for item in food_items if item.get("Veg_NonVeg__c")}
321
- categories = {"Veg", "Non veg"} # Ensure valid categories only
322
 
323
- # Filter food items based on the selected category
324
- if selected_category == "Veg":
325
- food_items = [item for item in food_items if item.get("Veg_NonVeg__c") in ["Veg", "both"]]
326
- elif selected_category == "Non veg":
327
- food_items = [item for item in food_items if item.get("Veg_NonVeg__c") in ["Non veg", "both"]]
 
 
 
 
 
 
 
 
 
 
 
 
 
328
 
329
  except Exception as e:
330
  print(f"Error fetching menu data: {str(e)}")
331
- food_items = []
332
- categories = {"All", "Veg", "Non veg"} # Default categories on error
333
  referral_code = 'N/A'
334
  reward_points = 0
335
 
336
- # Render the menu page with the fetched data
337
  return render_template(
338
  "menu.html",
339
- food_items=food_items,
340
- categories=sorted(categories), # Sort categories alphabetically if needed
341
  selected_category=selected_category,
342
  referral_code=referral_code,
343
  reward_points=reward_points
344
  )
 
345
  @app.route("/cart", methods=["GET"])
346
  def cart():
347
  email = session.get('user_email')
 
277
  def menu():
278
  selected_category = request.args.get("category", "All")
279
  user_id = session.get('user_id')
280
+ user_email = session.get('user_email')
281
+
 
282
  if not user_email:
283
  user_email = request.args.get("email")
284
  user_name = request.args.get("name")
285
 
286
  if user_email:
287
  session['user_email'] = user_email
288
+ session['user_name'] = user_name
 
 
289
  else:
 
290
  return redirect(url_for("login"))
291
 
 
 
 
292
  try:
293
+ # Fetch user referral and reward points
294
  user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
295
  user_result = sf.query(user_query)
296
 
297
  if not user_result['records']:
 
298
  return redirect(url_for('login'))
299
 
300
+ referral_code = user_result['records'][0].get('Referral__c', 'N/A')
301
+ reward_points = user_result['records'][0].get('Reward_Points__c', 0)
302
 
303
  # Query to fetch menu items
304
  menu_query = """
 
308
  result = sf.query(menu_query)
309
  food_items = result['records'] if 'records' in result else []
310
 
311
+ # Define the order of sections
312
+ section_order = ["Breads", "Curries", "Starters", "Biryanis", "Desserts", "Soft Drinks"]
313
+ ordered_menu = {section: [] for section in section_order}
314
 
315
+ # Filter and organize menu items based on category and section
316
+ for item in food_items:
317
+ section = item.get("Section__c", "Others") # Default to "Others" if missing
318
+ if section not in ordered_menu:
319
+ ordered_menu[section] = []
320
+
321
+ # Apply category filters
322
+ if selected_category == "Veg" and item.get("Veg_NonVeg__c") not in ["Veg", "both"]:
323
+ continue
324
+ if selected_category == "Non veg" and item.get("Veg_NonVeg__c") not in ["Non veg", "both"]:
325
+ continue
326
+
327
+ ordered_menu[section].append(item)
328
+
329
+ # Remove empty sections
330
+ ordered_menu = {section: items for section, items in ordered_menu.items() if items}
331
+
332
+ categories = ["All", "Veg", "Non veg"]
333
 
334
  except Exception as e:
335
  print(f"Error fetching menu data: {str(e)}")
336
+ ordered_menu = {}
337
+ categories = ["All", "Veg", "Non veg"]
338
  referral_code = 'N/A'
339
  reward_points = 0
340
 
 
341
  return render_template(
342
  "menu.html",
343
+ ordered_menu=ordered_menu,
344
+ categories=categories,
345
  selected_category=selected_category,
346
  referral_code=referral_code,
347
  reward_points=reward_points
348
  )
349
+
350
  @app.route("/cart", methods=["GET"])
351
  def cart():
352
  email = session.get('user_email')