nagasurendra commited on
Commit
cf18aa4
·
verified ·
1 Parent(s): 3d03d8d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -21
app.py CHANGED
@@ -199,10 +199,9 @@ def order_summary():
199
  print("User not logged in. Redirecting to login.")
200
  return "User not logged in", 400
201
 
202
- # Query Salesforce to fetch the most recent order details
203
  try:
204
  print(f"Fetching order details for email: {email}")
205
-
206
  # Query the Order__c object based on the user's email
207
  query = f"""
208
  SELECT Id, Customer_Name__c, Customer_Email__c, Total_Amount__c, Order_Details__c, Order_Status__c, Discount__c, Total_Bill__c
@@ -215,18 +214,12 @@ def order_summary():
215
 
216
  print("Salesforce query result:", result)
217
 
218
- # Check if the order record was found
219
  if not result.get("records"):
220
  print("No order found for this user.")
221
  return "No order found for this user", 400
222
 
223
- # Get the most recent order details
224
  order = result["records"][0]
225
- print(f"Order found: {order}")
226
-
227
- # Extract details from the order
228
  order_details = order.get("Order_Details__c", "")
229
- print(f"Order details fetched: {order_details}")
230
 
231
  order_items = []
232
 
@@ -236,37 +229,64 @@ def order_summary():
236
  item_parts = line.split('|')
237
  if len(item_parts) >= 5:
238
  item_name = item_parts[0].strip()
239
-
240
- # Remove quantity and price from the item name (e.g., 'Chicken Biryani x1.0' becomes 'Chicken Biryani')
241
  item_name_cleaned = ' '.join(item_name.split(' ')[:-1]).strip()
242
 
243
- order_items.append({
244
- "name": item_name_cleaned
245
- })
246
- print(f"Extracted item name: {item_name_cleaned}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
 
248
  if not order_items:
249
  print("No items found in order details.")
250
  else:
251
  print(f"Total items extracted: {len(order_items)}")
252
 
253
- # Pass these values to your template
254
  return render_template(
255
- 'order_summary.html',
256
  order=order,
257
  order_items=order_items
258
  )
259
-
260
- except Exception as e:
261
- print(f"Error querying Salesforce: {str(e)}")
262
- return f"Error querying Salesforce: {str(e)}", 500
263
 
264
-
265
  except Exception as e:
266
  print(f"Error querying Salesforce: {str(e)}")
267
  return f"Error querying Salesforce: {str(e)}", 500
268
 
269
 
 
 
 
270
  @app.route("/logout")
271
  def logout():
272
  # Retrieve table number before clearing session
 
199
  print("User not logged in. Redirecting to login.")
200
  return "User not logged in", 400
201
 
 
202
  try:
203
  print(f"Fetching order details for email: {email}")
204
+
205
  # Query the Order__c object based on the user's email
206
  query = f"""
207
  SELECT Id, Customer_Name__c, Customer_Email__c, Total_Amount__c, Order_Details__c, Order_Status__c, Discount__c, Total_Bill__c
 
214
 
215
  print("Salesforce query result:", result)
216
 
 
217
  if not result.get("records"):
218
  print("No order found for this user.")
219
  return "No order found for this user", 400
220
 
 
221
  order = result["records"][0]
 
 
 
222
  order_details = order.get("Order_Details__c", "")
 
223
 
224
  order_items = []
225
 
 
229
  item_parts = line.split('|')
230
  if len(item_parts) >= 5:
231
  item_name = item_parts[0].strip()
 
 
232
  item_name_cleaned = ' '.join(item_name.split(' ')[:-1]).strip()
233
 
234
+ menu_query = f"""
235
+ SELECT Name, Price__c, Image1__c, Ingredient_1__r.Ingredient_Name__c,
236
+ Ingredient_1__r.Ingredient_Image__c, Ingredient_1__r.Health_Benefits__c,
237
+ Ingredient_1__r.Fun_Facts__c, Ingredient_2__r.Ingredient_Name__c,
238
+ Ingredient_2__r.Ingredient_Image__c, Ingredient_2__r.Health_Benefits__c,
239
+ Ingredient_2__r.Fun_Facts__c
240
+ FROM Menu_Item__c
241
+ WHERE Name = '{item_name_cleaned}'
242
+ """
243
+ menu_result = sf.query(menu_query)
244
+
245
+ if menu_result.get("records"):
246
+ menu_item = menu_result["records"][0]
247
+ order_items.append({
248
+ "name": item_name_cleaned,
249
+ "price": menu_item.get("Price__c"),
250
+ "image_url": menu_item.get("Image1__c"),
251
+ "ingredients": [
252
+ {
253
+ "name": menu_item['Ingredient_1__r']['Ingredient_Name__c'] if 'Ingredient_1__r' in menu_item else None,
254
+ "image": menu_item['Ingredient_1__r']['Ingredient_Image__c'] if 'Ingredient_1__r' in menu_item else None,
255
+ "health_benefits": menu_item['Ingredient_1__r']['Health_Benefits__c'] if 'Ingredient_1__r' in menu_item else None,
256
+ "fun_facts": menu_item['Ingredient_1__r']['Fun_Facts__c'] if 'Ingredient_1__r' in menu_item else None
257
+ },
258
+ {
259
+ "name": menu_item['Ingredient_2__r']['Ingredient_Name__c'] if 'Ingredient_2__r' in menu_item else None,
260
+ "image": menu_item['Ingredient_2__r']['Ingredient_Image__c'] if 'Ingredient_2__r' in menu_item else None,
261
+ "health_benefits": menu_item['Ingredient_2__r']['Health_Benefits__c'] if 'Ingredient_2__r' in menu_item else None,
262
+ "fun_facts": menu_item['Ingredient_2__r']['Fun_Facts__c'] if 'Ingredient_2__r' in menu_item else None
263
+ }
264
+ ]
265
+ })
266
+ print(f"Item found in menu: {item_name_cleaned}")
267
+ else:
268
+ print(f"Item not found in menu: {item_name_cleaned}")
269
 
270
  if not order_items:
271
  print("No items found in order details.")
272
  else:
273
  print(f"Total items extracted: {len(order_items)}")
274
 
275
+ # Now pass the necessary data to reward_status.html
276
  return render_template(
277
+ 'reward_status.html',
278
  order=order,
279
  order_items=order_items
280
  )
 
 
 
 
281
 
 
282
  except Exception as e:
283
  print(f"Error querying Salesforce: {str(e)}")
284
  return f"Error querying Salesforce: {str(e)}", 500
285
 
286
 
287
+
288
+
289
+
290
  @app.route("/logout")
291
  def logout():
292
  # Retrieve table number before clearing session