File size: 3,906 Bytes
6ddba4d 25311cb 6ddba4d 2fab7d3 4e9c3dd 25311cb 6ddba4d 4e9c3dd 6ddba4d 25311cb e21d37e 25311cb e21d37e 25311cb e21d37e 25311cb 6ddba4d 25311cb 4e9c3dd 25311cb e21d37e 25311cb 4e9c3dd 25311cb 696d0f0 25311cb 4e9c3dd 25311cb 00af749 25311cb 66083bc 25311cb 66083bc 25311cb 66083bc 2fab7d3 25311cb 6ddba4d 25311cb 4e9c3dd 25311cb cd94e4f 25311cb 4e9c3dd 25311cb cd94e4f 25311cb 5127047 25311cb 4e9c3dd 2fab7d3 25311cb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
import os
from flask import Flask, render_template, request, jsonify, session, redirect
from simple_salesforce import Salesforce
app = Flask(__name__)
# Secret key for session management
app.secret_key = os.urandom(24)
# Salesforce Connection Setup
try:
print("Attempting to connect to Salesforce...")
sf = Salesforce(username='[email protected]', password='Sati@1020', security_token='sSSjyhInIsUohKpG8sHzty2q')
print("Connected to Salesforce successfully!")
except Exception as e:
print(f"Failed to connect to Salesforce: {str(e)}")
# Function to create Salesforce record
def create_salesforce_record(name, email, phone):
try:
# Create record in Salesforce's Customer_Login__c object
customer_login = sf.Customer_Login__c.create({
'Name': name,
'Email__c': email,
'Phone_Number__c': phone
})
return customer_login
except Exception as e:
raise Exception(f"Failed to create record in Salesforce: {str(e)}")
# Route to handle registration form submission
@app.route("/register", methods=["POST", "GET"])
def register():
if request.method == "POST":
name = request.json.get('name')
email = request.json.get('email')
phone = request.json.get('phone')
if not name or not email or not phone:
return jsonify({'error': 'Missing required fields'}), 400
try:
# Create Salesforce record for registration
customer_login = create_salesforce_record(name, email, phone)
session['customer_name'] = name # Store customer name in session
session['customer_id'] = customer_login['id'] # Store Salesforce record ID in session
# Return success response with a message
return jsonify({'success': True, 'message': f'Hi {name}, welcome to Briyani Hub!'}), 200
except Exception as e:
# Log the error and send a message to the frontend
print(f"Error during Salesforce submission: {str(e)}")
return jsonify({'error': f'Error submitting registration: {str(e)}'}), 500
return render_template("register.html") # This will render your register page if it's a GET request
# Route to handle the login form submission
@app.route("/login", methods=["POST"])
def login():
email = request.json.get('email')
phone = request.json.get('phone')
if not email or not phone:
return jsonify({'error': 'Missing required fields'}), 400
try:
# Check if the user exists in Salesforce
result = sf.query(f"SELECT Id, Name, Email__c FROM Customer_Login__c WHERE Email__c = '{email}' AND Phone_Number__c = '{phone}'")
if result['totalSize'] > 0:
customer = result['records'][0]
session['customer_name'] = customer['Name']
session['customer_id'] = customer['Id']
# Return success message and redirect to menu
return jsonify({'success': True, 'message': f'Hi {customer["Name"]}, welcome back to Briyani Hub!'}), 200
else:
return jsonify({'error': 'Invalid email or phone number'}), 400
except Exception as e:
print(f"Error during login: {str(e)}")
return jsonify({'error': f'Error during login: {str(e)}'}), 500
# Route for handling the cart (this could be updated later to handle actual cart data)
@app.route("/cart", methods=["GET"])
def cart():
return render_template("cart_page.html")
# Route for the order summary page
@app.route("/order-summary", methods=["GET"])
def order_summary():
return render_template("order_summary.html")
# Route to redirect to the menu page
@app.route("/menu")
def menu_page():
welcome_message = request.args.get("welcome_message", "")
return render_template("menu_page.html", welcome_message=welcome_message)
if __name__ == "__main__":
app.run(debug=True)
|