Spaces:
Sleeping
Sleeping
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)
|