0% found this document useful (0 votes)
26 views5 pages

Evaluator

python project

Uploaded by

Rooma Khetan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views5 pages

Evaluator

python project

Uploaded by

Rooma Khetan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

from tkinter import *

from tkinter import ttk


from tkinter import messagebox
import pymysql
class Evaluator:
def __init__(self,root):
self.root=root
self.root.title("View and Approve Evaluator")
self.root.geometry("1350x700+0+0")

title=Label(self.root,text="Review and Approve


Evaluator",bd=10,relief=GROOVE,font=("times new
roman",40,"bold"),bg="yellow",fg="red")
title.pack(side=TOP,fill=X)

#======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()

You might also like