Spaces:
Runtime error
Runtime error
| from flask import Flask, render_template, request, redirect, url_for, jsonify | |
| from simple_salesforce import Salesforce | |
| import pandas as pd | |
| # Initialize Flask app | |
| app = Flask(__name__) | |
| # Salesforce connection | |
| sf = Salesforce(username='diggavalli98@gmail.com', password='Sati@1020', security_token='sSSjyhInIsUohKpG8sHzty2q') | |
| # Utility functions | |
| def check_credentials(email, password): | |
| result = sf.query(f"SELECT Id FROM Customer_Login__c WHERE Email__c = '{email}' AND Password__c = '{password}'") | |
| return result['records'][0]['Id'] if result['records'] else None | |
| def save_user(name, phone, email, password): | |
| try: | |
| sf.Customer_Login__c.create({ | |
| 'Name': name, | |
| 'Email__c': email, | |
| 'Password__c': password, | |
| 'Phone_Number__c': phone | |
| }) | |
| return True | |
| except: | |
| return False | |
| def load_menu(): | |
| result = sf.query("SELECT Dish_Name__c, Price__c, Description__c, Image_URL__c FROM Menu_Item__c") | |
| return pd.DataFrame(result['records']) | |
| def submit_order(user_id, cart_items): | |
| total_price = sum(item['itemTotal'] for item in cart_items) | |
| order_items = "\n".join([f"{item['name']} (x{item['quantity']})" for item in cart_items]) | |
| sf.Order__c.create({ | |
| 'Customer_Login__c': user_id, | |
| 'Order_Item__c': order_items, | |
| 'Total_Price__c': total_price, | |
| 'Order_Status__c': 'Pending' | |
| }) | |
| return True | |
| def login(): | |
| return render_template('login.html') | |
| def handle_login(): | |
| email = request.form['email'] | |
| password = request.form['password'] | |
| user_id = check_credentials(email, password) | |
| if user_id: | |
| return redirect(url_for('menu')) | |
| else: | |
| return render_template('login.html', error="Invalid credentials.") | |
| def signup(): | |
| return render_template('signup.html') | |
| def handle_signup(): | |
| name = request.form['name'] | |
| email = request.form['email'] | |
| phone = request.form['phone'] | |
| password = request.form['password'] | |
| if save_user(name, phone, email, password): | |
| return redirect(url_for('login')) | |
| else: | |
| return render_template('signup.html', error="Email already exists.") | |
| def menu(): | |
| menu_items = load_menu() | |
| return render_template('menu.html', items=menu_items.to_dict(orient='records')) | |
| def cart(): | |
| cart_data = request.get_json() | |
| user_id = cart_data.get('user_id') | |
| cart_items = cart_data.get('items') | |
| submit_order(user_id, cart_items) | |
| return jsonify({'status': 'success'}) | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |