Evaluator
Evaluator
#======All Variables======#
self.fname_var=StringVar()
self.lname_var=StringVar()
self.email_var=StringVar()
self.contact_var=StringVar()
self.status_var=StringVar()
self.search_by_var=StringVar()
self.search_text_var=StringVar()
Manage_Frame=Frame(self.root,bd=4,relief=RIDGE,bg="crimson")
Manage_Frame.place(x=20,y=100,width=400,height=450)
Detail_Frame=Frame(self.root,bd=4,relief=RIDGE,bg="crimson")
Detail_Frame.place(x=450,y=100,width=610,height=450)
m_title=Label(Manage_Frame,text="Manage
Evaluator",bg="crimson",fg="white",font=("times new roman",30,"bold"))
m_title.grid(row=0,columnspan=2,pady=20)
lbl_fname=Label(Manage_Frame,text="First
Name",bg="crimson",fg="white",font=("times new roman",20,"bold"))
lbl_fname.grid(row=1,column=0,pady=10,padx=10,sticky=W)
txt_fname=Entry(Manage_Frame,textvariable=self.fname_var,font=("times new
roman",15,"bold"),bd=5,relief=GROOVE)
txt_fname.grid(row=1,column=1,pady=10,padx=10,sticky=W)
lbl_lname=Label(Manage_Frame,text="Last
Name",bg="crimson",fg="white",font=("times new roman",20,"bold"))
lbl_lname.grid(row=2,column=0,pady=10,padx=10,sticky=W)
txt_lname=Entry(Manage_Frame,textvariable=self.lname_var,font=("times new
roman",15,"bold"),bd=5,relief=GROOVE)
txt_lname.grid(row=2,column=1,pady=10,padx=10,sticky=W)
lbl_contact=Label(Manage_Frame,text="Contact
no.",bg="crimson",fg="white",font=("times new roman",20,"bold"))
lbl_contact.grid(row=3,column=0,pady=10,padx=10,sticky=W)
txt_contact=Entry(Manage_Frame,textvariable=self.contact_var,font=("times
new roman",15,"bold"),bd=5,relief=GROOVE)
txt_contact.grid(row=3,column=1,pady=10,padx=10,sticky=W)
lbl_email=Label(Manage_Frame,text="Email
Id",bg="crimson",fg="white",font=("times new roman",20,"bold"))
lbl_email.grid(row=4,column=0,pady=10,padx=10,sticky=W)
txt_email=Entry(Manage_Frame,textvariable=self.email_var,font=("times new
roman",15,"bold"),bd=5,relief=GROOVE)
txt_email.grid(row=4,column=1,pady=10,padx=10,sticky=W)
lbl_status=Label(Manage_Frame,text="Status",bg="crimson",fg="white",font=("times
new roman",20,"bold"))
lbl_status.grid(row=5,column=0,pady=10,padx=10,sticky=W)
combo_status=ttk.Combobox(Manage_Frame,textvariable=self.status_var,width=21,font=(
"times new roman",13,"bold"),state='readonly')
combo_status['values']=("NEW","APPROVED","DECLINED")
combo_status.grid(row=5,column=1,padx=10,pady=10)
btn_Frame=Frame(Manage_Frame,bd=4,relief=RIDGE,bg="crimson")
btn_Frame.place(x=10,y=380,width=370)
Addbtn=Button(btn_Frame,text="Add",width=10,command=self.add_evaluator).grid(row=0,
column=0,padx=5,pady=5)
Updatebtn=Button(btn_Frame,text="Update",width=10,command=self.update_data).grid(ro
w=0,column=1,padx=5,pady=5)
Deletebtn=Button(btn_Frame,text="Delete",width=10,command=self.delete_data).grid(ro
w=0,column=2,padx=5,pady=5)
Clearbtn=Button(btn_Frame,text="Clear",width=10,command=self.clear).grid(row=0,colu
mn=3,padx=5,pady=5)
#============Search
lbl_search=Label(Detail_Frame,text="Search
By",bg="crimson",fg="white",font=("times new roman",20,"bold"))
lbl_search.grid(row=0,column=0,pady=5,padx=5,sticky=W)
combo_search=ttk.Combobox(Detail_Frame,width=8,textvariable=self.search_by_var,font
=("times new roman",13,"bold"),state='readonly')
combo_search['values']=("Email Id","Name","Status")
combo_search.grid(row=0,column=1,padx=5,pady=5)
txt_search=Entry(Detail_Frame,textvariable=self.search_text_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_search.grid(row=0,column=2,pady=5,padx=5,sticky=W)
searchbtn=Button(Detail_Frame,command=self.search_data,text="Search",width=10).grid
(row=0,column=3,padx=5,pady=5)
ShowAllbtn=Button(Detail_Frame,command=self.fetch_data,text="Show
All",width=10).grid(row=0,column=4,padx=5,pady=5)
#================Table Frame================
Table_Frame=Frame(Detail_Frame,bd=4,relief=RIDGE,bg="crimson")
Table_Frame.place(x=10,y=70,width=575,height=360)
scroll_x=Scrollbar(Table_Frame,orient=HORIZONTAL)
scroll_y=Scrollbar(Table_Frame,orient=VERTICAL)
self.Evaluator_table=ttk.Treeview(Table_Frame,columns=("f_name","l_name","email","c
ontact","evaluator_status"),xscrollcommand=scroll_x.set,yscrollcommand=scroll_y.set
)
scroll_x.pack(side=BOTTOM,fill=X)
scroll_y.pack(side=RIGHT,fill=Y)
scroll_x.config(command=self.Evaluator_table.xview)
scroll_y.config(command=self.Evaluator_table.yview)
self.Evaluator_table.heading("f_name",text="First Name")
self.Evaluator_table.heading("l_name",text="Last Name")
self.Evaluator_table.heading("email",text="Email Id")
self.Evaluator_table.heading("contact",text="Contact No")
self.Evaluator_table.heading("evaluator_status",text="Status")
self.Evaluator_table['show']='headings'
self.Evaluator_table.column("f_name",width=100)
self.Evaluator_table.column("l_name",width=100)
self.Evaluator_table.column("email",width=100)
self.Evaluator_table.column("contact",width=100)
self.Evaluator_table.column("evaluator_status",width=100)
self.Evaluator_table.pack(fill=BOTH,expand=1)
self.Evaluator_table.bind("<ButtonRelease-1>",self.get_cursor)
self.fetch_data()
def add_evaluator(self):
con=pymysql.connect(host="localhost",user="root",password="123456",database="synops
is")
cur=con.cursor()
cur.execute("select * from user where email=%s",self.email_var.get())
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Emailid already exist,try with another
email id",parent=self.root)
else:
cur.execute("insert into user
(f_name,l_name,contact,email,role)values(%s,%s,%s,%s,%s)",
(self.fname_var.get(),
self.lname_var.get(),
self.contact_var.get(),
self.email_var.get(),
"Evaluator"
))
cur.execute("insert into evaluator
(email,contact,f_name,l_name)values(%s,%s,%s,%s)",
(
self.email_var.get(),
self.contact_var.get(),
self.fname_var.get(),
self.lname_var.get()
))
con.commit()
self.fetch_data()
self.clear()
con.close()
def fetch_data(self):
con=pymysql.connect(host="localhost",user="root",password="123456",database="synops
is")
cur=con.cursor()
cur.execute("select * from evaluator")
rows=cur.fetchall()
if len(rows)!=0:
self.Evaluator_table.delete(*self.Evaluator_table.get_children())
for row in rows:
self.Evaluator_table.insert('',END,values=row)
con.commit
con.close
def clear(self):
self.fname_var.set("")
self.lname_var.set("")
self.contact_var.set("")
self.email_var.set("")
self.status_var.set("")
def get_cursor(self,ev):
cursor_row=self.Evaluator_table.focus()
content=self.Evaluator_table.item(cursor_row)
row=content['values']
self.fname_var.set(row[0])
self.lname_var.set(row[1])
self.contact_var.set(row[3])
self.email_var.set(row[2])
self.status_var.set(row[4])
def update_data(self):
con=pymysql.connect(host="localhost",user="root",password="123456",database="synops
is")
cur=con.cursor()
print (self.fname_var.get(),
self.lname_var.get(),
self.contact_var.get(),
self.email_var.get()
)
cur.execute("update user set f_name=%s,l_name=%s,contact=%s where email=
%s",
(self.fname_var.get(),
self.lname_var.get(),
self.contact_var.get(),
self.email_var.get()
))
cur.execute("update evaluator set f_name=%s,l_name=%s,contact=
%s,evaluator_status=%s where email=%s",
(self.fname_var.get(),
self.lname_var.get(),
self.contact_var.get(),
self.status_var.get(),
self.email_var.get()
))
con.commit()
self.fetch_data()
self.clear()
con.close()
def delete_data(self):
con=pymysql.connect(host="localhost",user="root",password="123456",database="synops
is")
cur=con.cursor()
print(self.email_var.get())
cur.execute("delete from user where email=%s",self.email_var.get())
cur.execute("delete from evaluator where email=%s",self.email_var.get())
con.commit
self.fetch_data()
self.clear()
con.close()
def search_data(self):
con=pymysql.connect(host="localhost",user="root",password="123456",database="synops
is")
cur=con.cursor()
cur.execute("select * from evaluator
where"+str(self.search_by_ver.get())+"="+str(self.search_by_txt.get()))
rows=cur.fetchall()
if len(rows)!=0:
self.Evaluator_table.delete(*self.Evaluator_table.get_children())
for row in rows:
self.Evaluator_table.insert('',END,values=row)
con.commit
con.close
root=Tk()
ob=Evaluator(root)
root.mainloop()