nagasurendra commited on
Commit
6479332
·
verified ·
1 Parent(s): b098504

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -36
app.py CHANGED
@@ -66,60 +66,56 @@ def generate_coupon_code(length=10):
66
 
67
 
68
  import re
69
- @app.route("/edit_profile", methods=["GET", "POST"])
70
  def edit_profile():
71
- user_email = session.get('user_email')
72
-
73
- if not user_email:
74
- return redirect(url_for('login')) # If user is not logged in, redirect to login page
75
 
76
  try:
77
- # Fetch current user details from Salesforce
78
- user_query = f"SELECT Name, Email__c, Phone_Number__c FROM Customer_Login__c WHERE Email__c = '{user_email}'"
79
- user_result = sf.query(user_query)
 
 
 
80
 
81
- if not user_result['records']:
82
- return redirect(url_for('login')) # If no user found, redirect to login
83
 
84
- current_user = user_result['records'][0]
85
- user_name = current_user.get('Name')
86
- user_phone = current_user.get('Phone_Number__c')
87
- user_email = current_user.get('Email__c')
 
88
 
89
  except Exception as e:
90
  print(f"Error fetching user data: {str(e)}")
91
  return jsonify({"success": False, "message": "Error fetching user data"})
92
 
93
- # Handle form submission if POST request
94
- if request.method == 'POST':
95
  new_name = request.form.get('name')
96
  new_email = request.form.get('email')
97
  new_phone = request.form.get('phone')
98
- new_password = request.form.get('password') # Assuming password change is optional
99
 
100
- # Update the customer details in Salesforce
101
- try:
102
- # Create the update dictionary
103
- update_data = {
104
- 'Name': new_name,
105
- 'Email__c': new_email,
106
- 'Phone_Number__c': new_phone
107
- }
108
 
109
- # Only update password if provided
110
- if new_password:
111
- update_data['Password__c'] = new_password
112
 
113
- # Update user details in Salesforce
114
- sf.Customer_Login__c.update(current_user['Id'], update_data)
115
- flash("Profile updated successfully!", "success")
116
- return redirect(url_for('customer_details')) # Redirect back to profile page
117
 
118
- except Exception as e:
119
- flash(f"Error updating profile: {str(e)}", "danger")
120
- return render_template('edit_profile.html', user_name=user_name, user_phone=user_phone, user_email=user_email)
121
 
122
- return render_template('edit_profile.html', user_name=user_name, user_phone=user_phone, user_email=user_email)
 
 
123
 
124
  import re
125
  @app.route("/customer_details", methods=["GET"])
 
66
 
67
 
68
  import re
 
69
  def edit_profile():
70
+ email = session.get('user_email') # Get logged-in user's email
71
+ if not email:
72
+ return redirect(url_for("login"))
 
73
 
74
  try:
75
+ # Fetch user details from Salesforce
76
+ result = sf.query(f"""
77
+ SELECT Id, Name, Email__c, Phone_Number__c, Password__c
78
+ FROM Customer_Login__c
79
+ WHERE Email__c = '{email}'
80
+ """)
81
 
82
+ if not result['records']:
83
+ return redirect(url_for("login"))
84
 
85
+ user = result['records'][0]
86
+ user_id = user.get("Id")
87
+ user_name = user.get("Name")
88
+ user_phone = user.get("Phone_Number__c")
89
+ user_email = user.get("Email__c")
90
 
91
  except Exception as e:
92
  print(f"Error fetching user data: {str(e)}")
93
  return jsonify({"success": False, "message": "Error fetching user data"})
94
 
95
+ try:
96
+ # Process user profile update
97
  new_name = request.form.get('name')
98
  new_email = request.form.get('email')
99
  new_phone = request.form.get('phone')
100
+ new_password = request.form.get('password')
101
 
102
+ update_data = {
103
+ 'Name': new_name,
104
+ 'Email__c': new_email,
105
+ 'Phone_Number__c': new_phone
106
+ }
 
 
 
107
 
108
+ if new_password:
109
+ update_data['Password__c'] = new_password
 
110
 
111
+ # Update Salesforce record
112
+ sf.Customer_Login__c.update(user_id, update_data)
 
 
113
 
114
+ return render_template("edit_profile.html", user_name=new_name, user_phone=new_phone, user_email=new_email, success=True)
 
 
115
 
116
+ except Exception as e:
117
+ print(f"Error updating profile: {str(e)}")
118
+ return render_template("edit_profile.html", user_name=user_name, user_phone=user_phone, user_email=user_email, error=str(e))
119
 
120
  import re
121
  @app.route("/customer_details", methods=["GET"])