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)