Spaces:
Sleeping
Sleeping
File size: 3,282 Bytes
54f831b bc1fd1a f8d7ccb 54f831b e033ca1 bc1fd1a 54f831b e033ca1 54f831b bc1fd1a 54f831b e033ca1 0ffcb00 e033ca1 54f831b bc1fd1a 54f831b e033ca1 bc1fd1a 54f831b e033ca1 0ffcb00 bc1fd1a 54f831b bc1fd1a 54f831b e033ca1 54f831b e033ca1 54f831b |
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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
import gradio as gr
from simple_salesforce import Salesforce
# Salesforce Connection
sf = Salesforce(username='[email protected]',
password='Lavanyanaga@123',
security_token='z7Wvk6mys7n8XjqbYKf3bwBh7')
# Signup Function
def signup(name, email, phone, password):
try:
sf.User_Login__c.create({
'Name__c': name.strip(),
'Email__c': email.strip(),
'Phone__c': phone.strip(),
'Password__c': password.strip() # Store plain-text password
})
return "Signup successful! You can now login."
except Exception as e:
return f"Error during signup: {str(e)}"
# Login Function
def login(email, password):
try:
email = email.strip()
password = password.strip()
# Query Salesforce for user details
query = f"SELECT Name__c, Email__c, Phone__c, Password__c FROM User_Login__c WHERE Email__c = '{email}'"
result = sf.query(query)
if len(result['records']) == 0:
return "Invalid email or password.", None, None, None
user = result['records'][0]
stored_password = user['Password__c']
# Compare plain-text passwords
if password == stored_password:
return "Login successful!", user['Name__c'], user['Email__c'], user['Phone__c']
else:
return "Invalid email or password.", None, None, None
except Exception as e:
return f"Error during login: {str(e)}", None, None, None
# Home Page Function
def home_page(name, email, phone):
return f"Welcome, {name}! Your email is {email} and your phone number is {phone}."
# Gradio Signup Page
def signup_page(name, email, phone, password):
response = signup(name, email, phone, password)
return response
signup_interface = gr.Interface(
fn=signup_page,
inputs=[
gr.Textbox(label="Name"),
gr.Textbox(label="Email"),
gr.Textbox(label="Phone"),
gr.Textbox(label="Password", type="password"),
],
outputs=gr.Textbox(label="Signup Status"),
title="Signup Page"
)
# Gradio Login Page
def login_page(email, password):
login_status, name, email, phone = login(email, password)
if login_status == "Login successful!":
return login_status, name, email, phone
else:
return login_status, "Error", "Error", "Error"
login_interface = gr.Interface(
fn=login_page,
inputs=[
gr.Textbox(label="Email"),
gr.Textbox(label="Password", type="password"),
],
outputs=[
gr.Textbox(label="Login Status"),
gr.Textbox(label="Name"),
gr.Textbox(label="Email"),
gr.Textbox(label="Phone"),
],
title="Login Page"
)
# Gradio Home Page
home_interface = gr.Interface(
fn=home_page,
inputs=[
gr.Textbox(label="Name"),
gr.Textbox(label="Email"),
gr.Textbox(label="Phone"),
],
outputs=gr.Textbox(label="Welcome Message"),
title="Home Page"
)
# Combine All Pages in Gradio
with gr.Blocks() as app:
with gr.Tab("Signup"):
signup_interface.render()
with gr.Tab("Login"):
login_interface.render()
with gr.Tab("Home"):
home_interface.render()
# Launch the Gradio App
app.launch()
|