import os from flask import Flask, render_template, request, redirect from simple_salesforce import Salesforce # Initialize Flask app app = Flask(__name__) # Securely store the secret key app.secret_key = os.environ.get('FLASK_SECRET_KEY', 'your_secret_key') # Fetch Salesforce credentials correctly (QUOTED STRINGS!) SF_USERNAME = os.environ.get("SF_USERNAME", "diggavalli98@gmail.com") SF_PASSWORD = os.environ.get("SF_PASSWORD", "Sati@1020") SF_SECURITY_TOKEN = os.environ.get("SF_SECURITY_TOKEN", "sSSjyhInIsUohKpG8sHzty2q") # Debugging: Print credentials safely print(f"Using Salesforce Username: {SF_USERNAME}") # Establish Salesforce connection try: sf = Salesforce( username=SF_USERNAME, password=SF_PASSWORD, security_token=SF_SECURITY_TOKEN ) print("✅ Salesforce connection established successfully.") except Exception as e: print(f"❌ ERROR: Failed to connect to Salesforce: {str(e)}") exit(1) @app.route("/") def home(): return redirect("/menu") # Redirect home page to menu page @app.route("/menu") def menu(): selected_category = request.args.get("category", "All") try: # Salesforce SOQL Query query = "SELECT Name, Price__c, Image1__c, Category__c, Description__c FROM Menu_Item__c" result = sf.query(query) # Extract menu items food_items = result.get('records', []) # Extract unique categories categories = {item['Category__c'] for item in food_items if 'Category__c' in item} # Filter by category if selected if selected_category != "All": food_items = [item for item in food_items if item.get("Category__c") == selected_category] except Exception as e: food_items = [] categories = [] print(f"❌ ERROR: Fetching data from Salesforce failed: {e}") return render_template("menu.html", food_items=food_items, categories=categories, selected_category=selected_category) if __name__ == "__main__": app.run(host="0.0.0.0", port=7860, debug=True)