|
import os |
|
from flask import Flask, render_template, request, jsonify, session, redirect |
|
from simple_salesforce import Salesforce |
|
|
|
app = Flask(__name__) |
|
|
|
|
|
app.secret_key = os.urandom(24) |
|
|
|
|
|
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)}") |
|
|
|
|
|
def create_salesforce_record(name, email, phone): |
|
try: |
|
|
|
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)}") |
|
|
|
|
|
@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: |
|
|
|
customer_login = create_salesforce_record(name, email, phone) |
|
session['customer_name'] = name |
|
session['customer_id'] = customer_login['id'] |
|
|
|
|
|
return jsonify({'success': True, 'message': f'Hi {name}, welcome to Briyani Hub!'}), 200 |
|
|
|
except Exception as e: |
|
|
|
print(f"Error during Salesforce submission: {str(e)}") |
|
return jsonify({'error': f'Error submitting registration: {str(e)}'}), 500 |
|
|
|
return render_template("register.html") |
|
|
|
|
|
@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: |
|
|
|
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 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 |
|
|
|
|
|
@app.route("/cart", methods=["GET"]) |
|
def cart(): |
|
return render_template("cart_page.html") |
|
|
|
|
|
@app.route("/order-summary", methods=["GET"]) |
|
def order_summary(): |
|
return render_template("order_summary.html") |
|
|
|
|
|
@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) |
|
|