Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -158,6 +158,11 @@ def generate_custom_dish():
|
|
158 |
|
159 |
except Exception as e:
|
160 |
return jsonify({"success": False, "error": str(e)}), 500
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
|
163 |
|
@@ -488,10 +493,9 @@ def menu():
|
|
488 |
|
489 |
referral_code = user_result['records'][0].get('Referral__c', 'N/A')
|
490 |
reward_points = user_result['records'][0].get('Reward_Points__c', 0)
|
491 |
-
|
492 |
-
# Query to fetch Menu_Item__c records including Total_Ordered__c for best sellers
|
493 |
menu_query = """
|
494 |
-
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
|
495 |
FROM Menu_Item__c
|
496 |
"""
|
497 |
result = sf.query(menu_query)
|
@@ -502,6 +506,17 @@ def menu():
|
|
502 |
if 'Total_Ordered__c' not in item or item['Total_Ordered__c'] is None:
|
503 |
item['Total_Ordered__c'] = 0 # Default value
|
504 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
505 |
# Query to fetch Custom_Dish__c records created within the last 7 days with Total_Ordered__c > 10
|
506 |
custom_dish_query = """
|
507 |
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
|
@@ -512,7 +527,7 @@ def menu():
|
|
512 |
custom_dishes = custom_dish_result['records'] if 'records' in custom_dish_result else []
|
513 |
|
514 |
# Merge both Menu_Item__c and Custom_Dish__c records into the ordered menu
|
515 |
-
all_items =
|
516 |
|
517 |
# Define the order of sections, adding "Best Sellers" at the top
|
518 |
section_order = ["Best Sellers", "Starters", "Biryanis", "Curries", "Breads", "Customized dish", "Apetizer", "Desserts", "Soft Drinks"]
|
|
|
158 |
|
159 |
except Exception as e:
|
160 |
return jsonify({"success": False, "error": str(e)}), 500
|
161 |
+
@app.route("/set_allergies", methods=["POST"])
|
162 |
+
def set_allergies():
|
163 |
+
allergies = request.form.getlist('allergies')
|
164 |
+
session['allergies'] = allergies # Store allergies in session
|
165 |
+
return redirect(url_for('menu'))
|
166 |
|
167 |
|
168 |
|
|
|
493 |
|
494 |
referral_code = user_result['records'][0].get('Referral__c', 'N/A')
|
495 |
reward_points = user_result['records'][0].get('Reward_Points__c', 0)
|
496 |
+
# Fetch menu items
|
|
|
497 |
menu_query = """
|
498 |
+
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c, Allergens__c
|
499 |
FROM Menu_Item__c
|
500 |
"""
|
501 |
result = sf.query(menu_query)
|
|
|
506 |
if 'Total_Ordered__c' not in item or item['Total_Ordered__c'] is None:
|
507 |
item['Total_Ordered__c'] = 0 # Default value
|
508 |
|
509 |
+
# Filter out items that contain allergens the user has
|
510 |
+
filtered_items = []
|
511 |
+
for item in food_items:
|
512 |
+
allergens = item.get('Allergens__c', '').split(',') # Assuming allergens are comma-separated
|
513 |
+
if any(allergen in allergens for allergen in allergies):
|
514 |
+
continue # Skip item if it contains any of the user's allergens
|
515 |
+
filtered_items.append(item)
|
516 |
+
|
517 |
+
|
518 |
+
|
519 |
+
|
520 |
# Query to fetch Custom_Dish__c records created within the last 7 days with Total_Ordered__c > 10
|
521 |
custom_dish_query = """
|
522 |
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
|
|
|
527 |
custom_dishes = custom_dish_result['records'] if 'records' in custom_dish_result else []
|
528 |
|
529 |
# Merge both Menu_Item__c and Custom_Dish__c records into the ordered menu
|
530 |
+
all_items = filtered_items + custom_dishes
|
531 |
|
532 |
# Define the order of sections, adding "Best Sellers" at the top
|
533 |
section_order = ["Best Sellers", "Starters", "Biryanis", "Curries", "Breads", "Customized dish", "Apetizer", "Desserts", "Soft Drinks"]
|