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/') 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)