Subbu1304 commited on
Commit
6bc4389
·
verified ·
1 Parent(s): 2e172d0

Delete myapp/menu.py

Browse files
Files changed (1) hide show
  1. myapp/menu.py +0 -122
myapp/menu.py DELETED
@@ -1,122 +0,0 @@
1
- @app.route("/menu", methods=["GET", "POST"])
2
- def menu():
3
- selected_category = request.args.get("category", "All")
4
- user_email = session.get('user_email')
5
-
6
- if not user_email:
7
- user_email = request.args.get("email")
8
- user_name = request.args.get("name")
9
-
10
- if user_email:
11
- session['user_email'] = user_email
12
- session['user_name'] = user_name # Store name in session
13
- else:
14
- return redirect(url_for("login"))
15
- else:
16
- user_name = session.get('user_name') # Get name from session if it's already stored
17
-
18
- # Get the first letter of the user's name (make it uppercase for consistency)
19
- first_letter = user_name[0].upper() if user_name else "A"
20
-
21
- try:
22
- # Fetch user referral and reward points
23
- user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
24
- user_result = sf.query(user_query)
25
-
26
- if not user_result['records']:
27
- return redirect(url_for('login'))
28
-
29
- referral_code = user_result['records'][0].get('Referral__c', 'N/A')
30
- reward_points = user_result['records'][0].get('Reward_Points__c', 0)
31
-
32
- # Query to fetch Menu_Item__c records including Total_Ordered__c for best sellers
33
- menu_query = """
34
- SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
35
- FROM Menu_Item__c
36
- """
37
- result = sf.query(menu_query)
38
- food_items = result['records'] if 'records' in result else []
39
-
40
- # Ensure Total_Ordered__c has a valid value
41
- for item in food_items:
42
- if 'Total_Ordered__c' not in item or item['Total_Ordered__c'] is None:
43
- item['Total_Ordered__c'] = 0 # Default value
44
-
45
- # Query to fetch Custom_Dish__c records created within the last 7 days with Total_Ordered__c > 10
46
- custom_dish_query = """
47
- SELECT Name, Price__c, Description__c, Image1__c, Image2__c, Veg_NonVeg__c, Section__c, Total_Ordered__c
48
- FROM Custom_Dish__c
49
- WHERE CreatedDate >= LAST_N_DAYS:7
50
- """
51
- custom_dish_result = sf.query(custom_dish_query)
52
- custom_dishes = custom_dish_result['records'] if 'records' in custom_dish_result else []
53
-
54
- # Merge both Menu_Item__c and Custom_Dish__c records into the ordered menu
55
- all_items = food_items + custom_dishes
56
-
57
- # Define the order of sections, adding "Best Sellers" at the top
58
- section_order = ["Best Sellers", "Starters", "Biryanis", "Curries", "Breads", "Customized dish", "Apetizer", "Desserts", "Soft Drinks"]
59
- ordered_menu = {section: [] for section in section_order}
60
-
61
- # Sort items by Total_Ordered__c in descending order and pick top 4 as best sellers
62
- best_sellers = sorted(all_items, key=lambda x: x.get("Total_Ordered__c", 0), reverse=True)
63
-
64
- if selected_category == "Veg":
65
- best_sellers = [item for item in best_sellers if item.get("Veg_NonVeg__c") in ["Veg", "both"]]
66
- elif selected_category == "Non veg":
67
- best_sellers = [item for item in best_sellers if item.get("Veg_NonVeg__c") in ["Non veg", "both"]]
68
-
69
- # Take only the top 4 best sellers after filtering
70
- best_sellers = best_sellers[:4]
71
-
72
- # Ensure "Best Sellers" is added only if there are items after filtering
73
- if best_sellers:
74
- ordered_menu["Best Sellers"] = best_sellers
75
-
76
- # Create a set to track item names already added to prevent duplicates
77
- added_item_names = set()
78
-
79
- # Filter and organize menu items based on category and section (to avoid duplicates)
80
- for item in all_items:
81
- section = item.get("Section__c", "Others") # Default to "Others" if missing
82
- if section not in ordered_menu:
83
- ordered_menu[section] = []
84
-
85
- # Skip item if it's already been added to avoid duplicates
86
- if item['Name'] in added_item_names:
87
- continue
88
-
89
- # Apply category filters
90
- if selected_category == "Veg" and item.get("Veg_NonVeg__c") not in ["Veg", "both"]:
91
- continue
92
- if selected_category == "Non veg" and item.get("Veg_NonVeg__c") not in ["Non veg", "both"]:
93
- continue
94
-
95
- ordered_menu[section].append(item)
96
- added_item_names.add(item['Name']) # Add item to the set of added items
97
- print(f"Added item to {section}: {item['Name']}") # Debugging
98
-
99
- # Remove empty sections
100
- ordered_menu = {section: items for section, items in ordered_menu.items() if items}
101
- print(f"Final ordered menu: {ordered_menu.keys()}") # Debugging
102
-
103
- categories = ["All", "Veg", "Non veg"]
104
-
105
- except Exception as e:
106
- print(f"Error fetching menu data: {str(e)}")
107
- ordered_menu = {}
108
- categories = ["All", "Veg", "Non veg"]
109
- referral_code = 'N/A'
110
- reward_points = 0
111
-
112
- # Pass the user's first letter (first_letter) to the template
113
- return render_template(
114
- "menu.html",
115
- ordered_menu=ordered_menu,
116
- categories=categories,
117
- selected_category=selected_category,
118
- referral_code=referral_code,
119
- reward_points=reward_points,
120
- user_name=user_name, # Pass name to the template
121
- first_letter=first_letter # Pass first letter to the template
122
- )