File size: 2,616 Bytes
632ed93
3c7c2d0
 
632ed93
3c7c2d0
632ed93
 
3c7c2d0
632ed93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c7c2d0
632ed93
 
 
 
3c7c2d0
632ed93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c7c2d0
632ed93
 
 
 
 
 
 
 
 
 
 
3c7c2d0
632ed93
 
 
 
 
 
 
 
3c7c2d0
632ed93
3c7c2d0
 
632ed93
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
from flask import Flask, render_template, redirect, request, url_for
from simple_salesforce import Salesforce

app = Flask(__name__)

# Connect to Salesforce (replace with your Salesforce credentials)
sf = Salesforce(username='your_username', password='your_password', security_token='your_token')

# Function to update reward points in Salesforce
def update_rewards_points(email, points):
    # Query Salesforce to get the user by email
    user = sf.query(f"SELECT Id, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{email}'")
    
    if user['totalSize'] == 1:
        # Get the user ID and current reward points
        user_id = user['records'][0]['Id']
        current_points = user['records'][0]['Reward_Points__c']
        
        # Calculate new reward points
        new_points = current_points + int(points)
        
        # Update reward points in Salesforce
        sf.Customer_Login__c.update(user_id, {'Reward_Points__c': new_points})

# Route for login page
@app.route('/')
def login():
    return render_template('login.html')

# Route to process login
@app.route('/login', methods=['POST'])
def process_login():
    email = request.form['email']
    password = request.form['password']
    
    # Query Salesforce to check if the user exists
    user = sf.query(f"SELECT Id, Email__c, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{email}'")
    
    if user['totalSize'] == 1:
        # Redirect to rewards page after successful login
        return redirect(url_for('rewards', email=email))
    else:
        # Return to login page with error message if user not found
        return render_template('login.html', error="Invalid credentials")

# Route to display rewards page
@app.route('/rewards/<email>')
def rewards(email):
    user = sf.query(f"SELECT Id, Reward_Points__c FROM Customer_Login__c WHERE Email__c = '{email}'")
    
    if user['totalSize'] == 1:
        reward_points = user['records'][0]['Reward_Points__c']
        return render_template('rewards_above.html', reward_points=reward_points, email=email)
    else:
        # If the user is not found, redirect to login page
        return redirect(url_for('login'))

# Route to apply rewards
@app.route('/apply_rewards', methods=['POST'])
def apply_rewards():
    email = request.form['email']
    reward_points = request.form['reward_points']
    
    # Call function to update reward points in Salesforce
    update_rewards_points(email, reward_points)
    
    return render_template('rewards_below.html', message="Rewards applied successfully")

if __name__ == "__main__":
    app.run(debug=True)