File size: 2,970 Bytes
54f831b
 
 
bc1fd1a
f8d7ccb
 
 
54f831b
bc1fd1a
54f831b
 
 
 
 
 
bc1fd1a
54f831b
 
 
 
 
bc1fd1a
54f831b
 
0ffcb00
 
 
54f831b
 
 
 
0ffcb00
54f831b
 
 
bc1fd1a
54f831b
0ffcb00
 
 
bc1fd1a
0ffcb00
54f831b
 
0ffcb00
54f831b
 
0ffcb00
54f831b
 
0ffcb00
bc1fd1a
54f831b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bc1fd1a
54f831b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bc1fd1a
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
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,
            'Email__c': email,
            'Phone__c': phone,
            'Password__c': 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()  # Remove any extra spaces
        password = password.strip()  # Remove any extra spaces

        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:
            print(f"No user found with email: {email}")
            return "Invalid email or password.", None, None, None

        user = result['records'][0]
        stored_password = user['Password__c']

        print(f"Entered Password: {password}")
        print(f"Stored Password: {stored_password}")

        if password == stored_password:
            print("Password matched!")
            return "Login successful!", user['Name__c'], user['Email__c'], user['Phone__c']
        else:
            print("Password did not match!")
            return "Invalid email or password.", None, None, None
    except Exception as e:
        print(f"Error during login: {str(e)}")
        return f"Error during login: {str(e)}", None, None, None


# 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 App
with gr.Blocks() as app:
    with gr.Tab("Signup"):
        signup_interface.render()

    with gr.Tab("Login"):
        login_interface.render()

app.launch()