Repository navigation
Expand file tree
/
Copy pathForm.py
More file actions
145 lines (115 loc) · 4.4 KB
/
Copy pathForm.py
File metadata and controls
145 lines (115 loc) · 4.4 KB
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
from tkinter import *
import re
import cx_Oracle
from tkinter import messagebox
root = Tk()
# database
def database_submit():
firstname_db = first_name_entry.get()
lastname_db = last_name_entry.get()
gender_db = gender_variable.get().strip()
email_db = email_entry.get()
try:
con = cx_Oracle.connect('hr/hr@localhost:1521/orclpdb')
cur = con.cursor()
cur.execute(f"insert into form_details(First_name, last_name, gender, email) values(:1, :2, :3, :4)",
(firstname_db, lastname_db, gender_db, email_db))
con.commit()
data_submit_message = messagebox.showinfo("Databse", "Data Submitted Successfully")
except cx_Oracle.DatabaseError as e:
print(e)
finally:
cur.close()
con.close()
# check email logic
def check_email_function():
email_variable = email_entry.get()
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
if re.match(pattern, email_variable):
return True
else:
return False
# validate checked email logic
def validate_email_function():
if check_email_function():
validate_label.config(text="VALID", fg="green")
enabled_function()
else:
validate_label.config(text="INVALID", fg="red")
submit_button["state"] = "disabled"
# required logic
def enabled_function():
f_name_r = first_name_entry.get()
l_name_r = last_name_entry.get()
gender_r = gender_variable.get().strip()
first_name_required_label.config(text="*required" if not f_name_r else "", fg="red")
last_name_required_label.config(text="*required" if not l_name_r else "", fg="red")
gender_required_label.config(text="*required" if not gender_r else "", fg="red")
if check_email_function() and f_name_r and l_name_r and gender_r:
submit_button["state"] = "normal"
else:
submit_button["state"] = "disabled"
# clear button logic
def clear_function():
first_name_entry.delete(0,END)
last_name_entry.delete(0,END)
gender_variable.set(" ")
email_entry.delete(0, END)
validate_label.config(text="")
first_name_required_label.config(text="")
last_name_required_label.config(text="")
gender_required_label.config(text="")
submit_button["state"] = "disabled"
# first name label
first_name = Label(root, text="FIRST NAME : ")
first_name.grid(row=0, column=0, padx=4)
# first name entry
first_name_entry = Entry(root)
first_name_entry.grid(row=0, column=1, pady=10)
# last name label
last_name = Label(root, text="LAST NAME : ")
last_name.grid(row=1, column=0, padx=4)
# last name entry
last_name_entry = Entry(root)
last_name_entry.grid(row=1, column=1, pady=10)
# gender label
gender = Label(root, text="GENDER : ")
gender.grid(row=2, column=0, pady=10)
# gender radio button
gender_variable = StringVar()
gender_variable.set(" ")
male_radiobutton = Radiobutton(root, text="Male", variable=gender_variable, value="Male")
male_radiobutton.grid(row=2, column=1)
female_radiobutton = Radiobutton(root, text="Female", variable=gender_variable, value="Female")
female_radiobutton.grid(row=3, column=1)
# email label
email = Label(root, text="EMAIL : ")
email.grid(row=4, column=0, pady=10)
# email entry
email_entry = Entry(root)
email_entry.grid(row=4, column=1)
# email validate button
email_validate_button = Button(root, text="Validate", command=validate_email_function)
email_validate_button.grid(row=4, column=2, padx=5)
# clear button
clear = Button(root, text="CLEAR", command=clear_function)
clear.grid(row=6, column=2)
# submit button
submit_button = Button(root, text="SUBMIT", command=database_submit, state="disabled")
submit_button.grid(row=6, column=1, pady=5)
# validate label
validate_label = Label(root)
validate_label.grid(row=5, column=1)
# first name required label
first_name_required_label = Label(root)
first_name_required_label.grid(row=0,column=2)
# second name required label
last_name_required_label = Label(root)
last_name_required_label.grid(row=1,column=2)
# gender required label
gender_required_label = Label(root)
gender_required_label.grid(row=2,column=2)
# ----------------------------------------------------
owner_name = Label(root,text="Abhishek Manojkumar", font="Ariel 8", fg="yellow", bg="gray")
owner_name.grid(row=7, column=0, columnspan=3, pady=5)
root.mainloop()