testing_1 / app.py
Yaswanth56's picture
Update app.py
632ed93 verified
raw
history blame
2.62 kB
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)