Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -497,8 +497,6 @@ def menu():
|
|
497 |
result = sf.query(menu_query)
|
498 |
food_items = result['records'] if 'records' in result else []
|
499 |
|
500 |
-
print(f"Fetched menu items: {len(food_items)} items") # Debugging
|
501 |
-
|
502 |
# Ensure Total_Ordered__c has a valid value
|
503 |
for item in food_items:
|
504 |
if 'Total_Ordered__c' not in item or item['Total_Ordered__c'] is None:
|
@@ -508,7 +506,7 @@ def menu():
|
|
508 |
custom_dish_query = """
|
509 |
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
|
510 |
FROM Custom_Dish__c
|
511 |
-
WHERE CreatedDate >= LAST_N_DAYS:7
|
512 |
"""
|
513 |
custom_dish_result = sf.query(custom_dish_query)
|
514 |
custom_dishes = custom_dish_result['records'] if 'records' in custom_dish_result else []
|
@@ -522,7 +520,6 @@ def menu():
|
|
522 |
|
523 |
# Sort items by Total_Ordered__c in descending order and pick top 4 as best sellers
|
524 |
best_sellers = sorted(all_items, key=lambda x: x.get("Total_Ordered__c", 0), reverse=True)
|
525 |
-
print(f"Best sellers: {[item['Name'] for item in best_sellers]}") # Debugging
|
526 |
|
527 |
if selected_category == "Veg":
|
528 |
best_sellers = [item for item in best_sellers if item.get("Veg_NonVeg__c") in ["Veg", "both"]]
|
@@ -536,12 +533,19 @@ def menu():
|
|
536 |
if best_sellers:
|
537 |
ordered_menu["Best Sellers"] = best_sellers
|
538 |
|
|
|
|
|
|
|
539 |
# Filter and organize menu items based on category and section (to avoid duplicates)
|
540 |
for item in all_items:
|
541 |
section = item.get("Section__c", "Others") # Default to "Others" if missing
|
542 |
if section not in ordered_menu:
|
543 |
ordered_menu[section] = []
|
544 |
|
|
|
|
|
|
|
|
|
545 |
# Apply category filters
|
546 |
if selected_category == "Veg" and item.get("Veg_NonVeg__c") not in ["Veg", "both"]:
|
547 |
continue
|
@@ -549,6 +553,7 @@ def menu():
|
|
549 |
continue
|
550 |
|
551 |
ordered_menu[section].append(item)
|
|
|
552 |
print(f"Added item to {section}: {item['Name']}") # Debugging
|
553 |
|
554 |
# Remove empty sections
|
@@ -576,6 +581,7 @@ def menu():
|
|
576 |
first_letter=first_letter # Pass first letter to the template
|
577 |
)
|
578 |
|
|
|
579 |
@app.route("/cart", methods=["GET"])
|
580 |
def cart():
|
581 |
email = session.get('user_email')
|
|
|
497 |
result = sf.query(menu_query)
|
498 |
food_items = result['records'] if 'records' in result else []
|
499 |
|
|
|
|
|
500 |
# Ensure Total_Ordered__c has a valid value
|
501 |
for item in food_items:
|
502 |
if 'Total_Ordered__c' not in item or item['Total_Ordered__c'] is None:
|
|
|
506 |
custom_dish_query = """
|
507 |
SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
|
508 |
FROM Custom_Dish__c
|
509 |
+
WHERE CreatedDate >= LAST_N_DAYS:7 AND Total_Ordered__c > 10
|
510 |
"""
|
511 |
custom_dish_result = sf.query(custom_dish_query)
|
512 |
custom_dishes = custom_dish_result['records'] if 'records' in custom_dish_result else []
|
|
|
520 |
|
521 |
# Sort items by Total_Ordered__c in descending order and pick top 4 as best sellers
|
522 |
best_sellers = sorted(all_items, key=lambda x: x.get("Total_Ordered__c", 0), reverse=True)
|
|
|
523 |
|
524 |
if selected_category == "Veg":
|
525 |
best_sellers = [item for item in best_sellers if item.get("Veg_NonVeg__c") in ["Veg", "both"]]
|
|
|
533 |
if best_sellers:
|
534 |
ordered_menu["Best Sellers"] = best_sellers
|
535 |
|
536 |
+
# Create a set to track item names already added to prevent duplicates
|
537 |
+
added_item_names = set()
|
538 |
+
|
539 |
# Filter and organize menu items based on category and section (to avoid duplicates)
|
540 |
for item in all_items:
|
541 |
section = item.get("Section__c", "Others") # Default to "Others" if missing
|
542 |
if section not in ordered_menu:
|
543 |
ordered_menu[section] = []
|
544 |
|
545 |
+
# Skip item if it's already been added to avoid duplicates
|
546 |
+
if item['Name'] in added_item_names:
|
547 |
+
continue
|
548 |
+
|
549 |
# Apply category filters
|
550 |
if selected_category == "Veg" and item.get("Veg_NonVeg__c") not in ["Veg", "both"]:
|
551 |
continue
|
|
|
553 |
continue
|
554 |
|
555 |
ordered_menu[section].append(item)
|
556 |
+
added_item_names.add(item['Name']) # Add item to the set of added items
|
557 |
print(f"Added item to {section}: {item['Name']}") # Debugging
|
558 |
|
559 |
# Remove empty sections
|
|
|
581 |
first_letter=first_letter # Pass first letter to the template
|
582 |
)
|
583 |
|
584 |
+
|
585 |
@app.route("/cart", methods=["GET"])
|
586 |
def cart():
|
587 |
email = session.get('user_email')
|