Spaces:
				
			
			
	
			
			
		Runtime error
		
	
	
	
			
			
	
	
	
	
		
		
		Runtime error
		
	Update app.py
Browse files
    	
        app.py
    CHANGED
    
    | @@ -131,7 +131,7 @@ def menu(): | |
| 131 | 
             
            def cart():
         | 
| 132 | 
             
                email = session.get('user_email')  # Get logged-in user's email
         | 
| 133 | 
             
                if not email:
         | 
| 134 | 
            -
                    return redirect(url_for("login")) | 
| 135 |  | 
| 136 | 
             
                try:
         | 
| 137 | 
             
                    # Query cart items
         | 
| @@ -141,20 +141,13 @@ def cart(): | |
| 141 | 
             
                        WHERE Customer_Email__c = '{email}'
         | 
| 142 | 
             
                    """)
         | 
| 143 | 
             
                    cart_items = result.get("records", [])
         | 
| 144 | 
            -
             | 
| 145 | 
            -
                    # Calculate the subtotal, including add-ons prices
         | 
| 146 | 
             
                    subtotal = sum(item['Price__c'] * item['Quantity__c'] for item in cart_items)
         | 
| 147 |  | 
| 148 | 
            -
                     | 
| 149 | 
            -
                    for item in cart_items:
         | 
| 150 | 
            -
                        item['Add_Ons__c'] = item.get('Add_Ons__c', "None")  # Default to "None" if no add-ons
         | 
| 151 | 
            -
             | 
| 152 | 
             
                except Exception as e:
         | 
| 153 | 
             
                    print(f"Error fetching cart items: {e}")
         | 
| 154 | 
            -
                    cart_items | 
| 155 | 
            -
                    subtotal = 0
         | 
| 156 |  | 
| 157 | 
            -
                return render_template("cart.html", cart_items=cart_items, subtotal=subtotal)
         | 
| 158 |  | 
| 159 |  | 
| 160 | 
             
            @app.route('/cart/add', methods=['POST'])
         | 
| @@ -263,18 +256,21 @@ def get_addons(): | |
| 263 | 
             
                except Exception as e:
         | 
| 264 | 
             
                    print(f"Error fetching add-ons: {e}")
         | 
| 265 | 
             
                    return jsonify({"success": False, "error": "Unable to fetch add-ons. Please try again later."})
         | 
| 266 | 
            -
             | 
| 267 | 
             
            @app.route("/cart/update_quantity", methods=["POST"])
         | 
| 268 | 
             
            def update_quantity():
         | 
| 269 | 
            -
                data = request.json | 
|  | |
|  | |
| 270 | 
             
                email = data.get('email')  # Customer email
         | 
| 271 | 
             
                item_name = data.get('item_name')  # Item name
         | 
| 272 | 
             
                quantity = data.get('quantity')  # New quantity
         | 
| 273 |  | 
| 274 | 
            -
                # Validate inputs
         | 
| 275 | 
             
                if not email or not item_name or quantity is None:
         | 
| 276 | 
             
                    return jsonify({"success": False, "error": "Email, item name, and quantity are required."}), 400
         | 
| 277 |  | 
|  | |
|  | |
|  | |
| 278 | 
             
                try:
         | 
| 279 | 
             
                    # Query the cart item in Salesforce
         | 
| 280 | 
             
                    cart_items = sf.query(
         | 
|  | |
| 131 | 
             
            def cart():
         | 
| 132 | 
             
                email = session.get('user_email')  # Get logged-in user's email
         | 
| 133 | 
             
                if not email:
         | 
| 134 | 
            +
                    return redirect(url_for("login"))
         | 
| 135 |  | 
| 136 | 
             
                try:
         | 
| 137 | 
             
                    # Query cart items
         | 
|  | |
| 141 | 
             
                        WHERE Customer_Email__c = '{email}'
         | 
| 142 | 
             
                    """)
         | 
| 143 | 
             
                    cart_items = result.get("records", [])
         | 
|  | |
|  | |
| 144 | 
             
                    subtotal = sum(item['Price__c'] * item['Quantity__c'] for item in cart_items)
         | 
| 145 |  | 
| 146 | 
            +
                    return render_template("cart.html", cart_items=cart_items, subtotal=subtotal, customer_email=email)
         | 
|  | |
|  | |
|  | |
| 147 | 
             
                except Exception as e:
         | 
| 148 | 
             
                    print(f"Error fetching cart items: {e}")
         | 
| 149 | 
            +
                    return render_template("cart.html", cart_items=[], subtotal=0)
         | 
|  | |
| 150 |  | 
|  | |
| 151 |  | 
| 152 |  | 
| 153 | 
             
            @app.route('/cart/add', methods=['POST'])
         | 
|  | |
| 256 | 
             
                except Exception as e:
         | 
| 257 | 
             
                    print(f"Error fetching add-ons: {e}")
         | 
| 258 | 
             
                    return jsonify({"success": False, "error": "Unable to fetch add-ons. Please try again later."})
         | 
|  | |
| 259 | 
             
            @app.route("/cart/update_quantity", methods=["POST"])
         | 
| 260 | 
             
            def update_quantity():
         | 
| 261 | 
            +
                data = request.json
         | 
| 262 | 
            +
                print(f"Incoming request data: {data}")  # Debug log
         | 
| 263 | 
            +
             | 
| 264 | 
             
                email = data.get('email')  # Customer email
         | 
| 265 | 
             
                item_name = data.get('item_name')  # Item name
         | 
| 266 | 
             
                quantity = data.get('quantity')  # New quantity
         | 
| 267 |  | 
|  | |
| 268 | 
             
                if not email or not item_name or quantity is None:
         | 
| 269 | 
             
                    return jsonify({"success": False, "error": "Email, item name, and quantity are required."}), 400
         | 
| 270 |  | 
| 271 | 
            +
                # The rest of the logic remains the same
         | 
| 272 | 
            +
             | 
| 273 | 
            +
             | 
| 274 | 
             
                try:
         | 
| 275 | 
             
                    # Query the cart item in Salesforce
         | 
| 276 | 
             
                    cart_items = sf.query(
         | 
