Rammohan0504 commited on
Commit
a1d1806
·
verified ·
1 Parent(s): 526b3b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -4
app.py CHANGED
@@ -1108,7 +1108,7 @@ def checkout():
1108
  def add_to_cart():
1109
  data = request.json
1110
  item_name = data.get('itemName').strip()
1111
- item_price = data.get('itemPrice')
1112
  item_image = data.get('itemImage')
1113
  addons = data.get('addons', [])
1114
  instructions = data.get('instructions', '')
@@ -1127,7 +1127,8 @@ def add_to_cart():
1127
  result = sf.query(query)
1128
  cart_items = result.get("records", [])
1129
 
1130
- addons_price = sum(addon['price'] for addon in addons)
 
1131
  new_addons = "; ".join([f"{addon['name']} (${addon['price']})" for addon in addons])
1132
 
1133
  if cart_items:
@@ -1137,35 +1138,43 @@ def add_to_cart():
1137
  existing_addons_price = cart_items[0].get('Add_Ons_Price__c', 0)
1138
  existing_instructions = cart_items[0].get('Instructions__c', "")
1139
 
 
1140
  combined_addons = existing_addons if existing_addons != "None" else ""
1141
  if new_addons:
1142
  combined_addons = f"{combined_addons}; {new_addons}".strip("; ")
1143
 
 
1144
  combined_instructions = existing_instructions
1145
  if instructions:
1146
  combined_instructions = f"{combined_instructions} | {instructions}".strip(" | ")
1147
 
 
1148
  combined_addons_list = combined_addons.split("; ")
1149
  combined_addons_price = sum(
1150
  float(addon.split("($")[1][:-1]) for addon in combined_addons_list if "($" in addon
1151
  )
1152
 
 
 
1153
  sf.Cart_Item__c.update(cart_item_id, {
1154
  "Quantity__c": existing_quantity + 1,
1155
  "Add_Ons__c": combined_addons,
1156
  "Add_Ons_Price__c": combined_addons_price,
1157
  "Instructions__c": combined_instructions,
1158
- "Price__c": (existing_quantity + 1) * item_price + combined_addons_price,
1159
  "Category__c": category,
1160
  "Section__c": section
1161
  })
1162
  else:
 
1163
  addons_string = "None"
1164
  if addons:
1165
  addons_string = new_addons
1166
 
 
1167
  total_price = item_price + addons_price
1168
 
 
1169
  sf.Cart_Item__c.create({
1170
  "Name": item_name,
1171
  "Price__c": total_price,
@@ -1184,7 +1193,7 @@ def add_to_cart():
1184
  except Exception as e:
1185
  print(f"Error adding item to cart: {str(e)}")
1186
  return jsonify({"success": False, "error": str(e)})
1187
-
1188
 
1189
  @app.route("/order", methods=["GET"])
1190
  def order_summary():
 
1108
  def add_to_cart():
1109
  data = request.json
1110
  item_name = data.get('itemName').strip()
1111
+ item_price = float(data.get('itemPrice', 0)) # Convert item price to a float for calculations
1112
  item_image = data.get('itemImage')
1113
  addons = data.get('addons', [])
1114
  instructions = data.get('instructions', '')
 
1127
  result = sf.query(query)
1128
  cart_items = result.get("records", [])
1129
 
1130
+ # Calculate total addon price
1131
+ addons_price = sum(float(addon['price']) for addon in addons)
1132
  new_addons = "; ".join([f"{addon['name']} (${addon['price']})" for addon in addons])
1133
 
1134
  if cart_items:
 
1138
  existing_addons_price = cart_items[0].get('Add_Ons_Price__c', 0)
1139
  existing_instructions = cart_items[0].get('Instructions__c', "")
1140
 
1141
+ # Combine existing addons with new addons
1142
  combined_addons = existing_addons if existing_addons != "None" else ""
1143
  if new_addons:
1144
  combined_addons = f"{combined_addons}; {new_addons}".strip("; ")
1145
 
1146
+ # Combine instructions
1147
  combined_instructions = existing_instructions
1148
  if instructions:
1149
  combined_instructions = f"{combined_instructions} | {instructions}".strip(" | ")
1150
 
1151
+ # Calculate the combined addon price (convert addons to float)
1152
  combined_addons_list = combined_addons.split("; ")
1153
  combined_addons_price = sum(
1154
  float(addon.split("($")[1][:-1]) for addon in combined_addons_list if "($" in addon
1155
  )
1156
 
1157
+ # Update the cart item with new quantity and price
1158
+ updated_price = (existing_quantity + 1) * item_price + combined_addons_price
1159
  sf.Cart_Item__c.update(cart_item_id, {
1160
  "Quantity__c": existing_quantity + 1,
1161
  "Add_Ons__c": combined_addons,
1162
  "Add_Ons_Price__c": combined_addons_price,
1163
  "Instructions__c": combined_instructions,
1164
+ "Price__c": updated_price, # Updated price after adding addons and quantity
1165
  "Category__c": category,
1166
  "Section__c": section
1167
  })
1168
  else:
1169
+ # If the item is not in the cart, create a new cart item
1170
  addons_string = "None"
1171
  if addons:
1172
  addons_string = new_addons
1173
 
1174
+ # Calculate total price with addons
1175
  total_price = item_price + addons_price
1176
 
1177
+ # Create a new cart item in Salesforce
1178
  sf.Cart_Item__c.create({
1179
  "Name": item_name,
1180
  "Price__c": total_price,
 
1193
  except Exception as e:
1194
  print(f"Error adding item to cart: {str(e)}")
1195
  return jsonify({"success": False, "error": str(e)})
1196
+
1197
 
1198
  @app.route("/order", methods=["GET"])
1199
  def order_summary():