Update app.py
Browse files
    	
        app.py
    CHANGED
    
    | @@ -277,36 +277,28 @@ def login(): | |
| 277 | 
             
            def menu():
         | 
| 278 | 
             
                selected_category = request.args.get("category", "All")
         | 
| 279 | 
             
                user_id = session.get('user_id')
         | 
| 280 | 
            -
                user_email = session.get('user_email') | 
| 281 | 
            -
             | 
| 282 | 
            -
                
         | 
| 283 | 
             
                if not user_email:
         | 
| 284 | 
             
                    user_email = request.args.get("email")
         | 
| 285 | 
             
                    user_name = request.args.get("name")
         | 
| 286 |  | 
| 287 | 
             
                    if user_email:
         | 
| 288 | 
             
                        session['user_email'] = user_email
         | 
| 289 | 
            -
                        session['user_name'] = user_name | 
| 290 | 
            -
             | 
| 291 | 
            -
                        print(f"✅ User session set: {user_email}, {user_name}")
         | 
| 292 | 
             
                    else:
         | 
| 293 | 
            -
                        print("❌ No email in URL, redirecting to login.")
         | 
| 294 | 
             
                        return redirect(url_for("login"))
         | 
| 295 |  | 
| 296 | 
            -
                print(f"Session check in /menu: user_email={user_email}")
         | 
| 297 | 
            -
             | 
| 298 | 
            -
                
         | 
| 299 | 
             
                try:
         | 
| 300 | 
            -
                    # Fetch  | 
| 301 | 
             
                    user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
         | 
| 302 | 
             
                    user_result = sf.query(user_query)
         | 
| 303 |  | 
| 304 | 
             
                    if not user_result['records']:
         | 
| 305 | 
            -
                        print("❌ User not found!")
         | 
| 306 | 
             
                        return redirect(url_for('login'))
         | 
| 307 |  | 
| 308 | 
            -
                    referral_code = user_result['records'][0].get('Referral__c', 'N/A') | 
| 309 | 
            -
                    reward_points = user_result['records'][0].get('Reward_Points__c', 0) | 
| 310 |  | 
| 311 | 
             
                    # Query to fetch menu items
         | 
| 312 | 
             
                    menu_query = """
         | 
| @@ -316,32 +308,45 @@ def menu(): | |
| 316 | 
             
                    result = sf.query(menu_query)
         | 
| 317 | 
             
                    food_items = result['records'] if 'records' in result else []
         | 
| 318 |  | 
| 319 | 
            -
                    #  | 
| 320 | 
            -
                     | 
| 321 | 
            -
                     | 
| 322 |  | 
| 323 | 
            -
                    # Filter  | 
| 324 | 
            -
                     | 
| 325 | 
            -
                         | 
| 326 | 
            -
             | 
| 327 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 328 |  | 
| 329 | 
             
                except Exception as e:
         | 
| 330 | 
             
                    print(f"Error fetching menu data: {str(e)}")
         | 
| 331 | 
            -
                     | 
| 332 | 
            -
                    categories =  | 
| 333 | 
             
                    referral_code = 'N/A'
         | 
| 334 | 
             
                    reward_points = 0
         | 
| 335 |  | 
| 336 | 
            -
                # Render the menu page with the fetched data
         | 
| 337 | 
             
                return render_template(
         | 
| 338 | 
             
                    "menu.html",
         | 
| 339 | 
            -
                     | 
| 340 | 
            -
                    categories= | 
| 341 | 
             
                    selected_category=selected_category,
         | 
| 342 | 
             
                    referral_code=referral_code,
         | 
| 343 | 
             
                    reward_points=reward_points
         | 
| 344 | 
             
                )
         | 
|  | |
| 345 | 
             
            @app.route("/cart", methods=["GET"])
         | 
| 346 | 
             
            def cart():
         | 
| 347 | 
             
                email = session.get('user_email')
         | 
|  | |
| 277 | 
             
            def menu():
         | 
| 278 | 
             
                selected_category = request.args.get("category", "All")
         | 
| 279 | 
             
                user_id = session.get('user_id')
         | 
| 280 | 
            +
                user_email = session.get('user_email')
         | 
| 281 | 
            +
             | 
|  | |
| 282 | 
             
                if not user_email:
         | 
| 283 | 
             
                    user_email = request.args.get("email")
         | 
| 284 | 
             
                    user_name = request.args.get("name")
         | 
| 285 |  | 
| 286 | 
             
                    if user_email:
         | 
| 287 | 
             
                        session['user_email'] = user_email
         | 
| 288 | 
            +
                        session['user_name'] = user_name
         | 
|  | |
|  | |
| 289 | 
             
                    else:
         | 
|  | |
| 290 | 
             
                        return redirect(url_for("login"))
         | 
| 291 |  | 
|  | |
|  | |
|  | |
| 292 | 
             
                try:
         | 
| 293 | 
            +
                    # Fetch user referral and reward points
         | 
| 294 | 
             
                    user_query = f"SELECT Referral__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
         | 
| 295 | 
             
                    user_result = sf.query(user_query)
         | 
| 296 |  | 
| 297 | 
             
                    if not user_result['records']:
         | 
|  | |
| 298 | 
             
                        return redirect(url_for('login'))
         | 
| 299 |  | 
| 300 | 
            +
                    referral_code = user_result['records'][0].get('Referral__c', 'N/A')
         | 
| 301 | 
            +
                    reward_points = user_result['records'][0].get('Reward_Points__c', 0)
         | 
| 302 |  | 
| 303 | 
             
                    # Query to fetch menu items
         | 
| 304 | 
             
                    menu_query = """
         | 
|  | |
| 308 | 
             
                    result = sf.query(menu_query)
         | 
| 309 | 
             
                    food_items = result['records'] if 'records' in result else []
         | 
| 310 |  | 
| 311 | 
            +
                    # Define the order of sections
         | 
| 312 | 
            +
                    section_order = ["Breads", "Curries", "Starters", "Biryanis", "Desserts", "Soft Drinks"]
         | 
| 313 | 
            +
                    ordered_menu = {section: [] for section in section_order}
         | 
| 314 |  | 
| 315 | 
            +
                    # Filter and organize menu items based on category and section
         | 
| 316 | 
            +
                    for item in food_items:
         | 
| 317 | 
            +
                        section = item.get("Section__c", "Others")  # Default to "Others" if missing
         | 
| 318 | 
            +
                        if section not in ordered_menu:
         | 
| 319 | 
            +
                            ordered_menu[section] = []
         | 
| 320 | 
            +
             | 
| 321 | 
            +
                        # Apply category filters
         | 
| 322 | 
            +
                        if selected_category == "Veg" and item.get("Veg_NonVeg__c") not in ["Veg", "both"]:
         | 
| 323 | 
            +
                            continue
         | 
| 324 | 
            +
                        if selected_category == "Non veg" and item.get("Veg_NonVeg__c") not in ["Non veg", "both"]:
         | 
| 325 | 
            +
                            continue
         | 
| 326 | 
            +
             | 
| 327 | 
            +
                        ordered_menu[section].append(item)
         | 
| 328 | 
            +
             | 
| 329 | 
            +
                    # Remove empty sections
         | 
| 330 | 
            +
                    ordered_menu = {section: items for section, items in ordered_menu.items() if items}
         | 
| 331 | 
            +
             | 
| 332 | 
            +
                    categories = ["All", "Veg", "Non veg"]
         | 
| 333 |  | 
| 334 | 
             
                except Exception as e:
         | 
| 335 | 
             
                    print(f"Error fetching menu data: {str(e)}")
         | 
| 336 | 
            +
                    ordered_menu = {}
         | 
| 337 | 
            +
                    categories = ["All", "Veg", "Non veg"]
         | 
| 338 | 
             
                    referral_code = 'N/A'
         | 
| 339 | 
             
                    reward_points = 0
         | 
| 340 |  | 
|  | |
| 341 | 
             
                return render_template(
         | 
| 342 | 
             
                    "menu.html",
         | 
| 343 | 
            +
                    ordered_menu=ordered_menu,
         | 
| 344 | 
            +
                    categories=categories,
         | 
| 345 | 
             
                    selected_category=selected_category,
         | 
| 346 | 
             
                    referral_code=referral_code,
         | 
| 347 | 
             
                    reward_points=reward_points
         | 
| 348 | 
             
                )
         | 
| 349 | 
            +
             | 
| 350 | 
             
            @app.route("/cart", methods=["GET"])
         | 
| 351 | 
             
            def cart():
         | 
| 352 | 
             
                email = session.get('user_email')
         | 
