Spaces:
Sleeping
Sleeping
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 | |
def login(): | |
return render_template('login.html') | |
# Route to process login | |
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 | |
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 | |
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) | |