DSatishchandra's picture
Update app.py
4258c85 verified
raw
history blame
2.07 kB
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", "[email protected]")
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)