Advertisement
Guest User

Untitled

a guest
Apr 17th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 27.30 KB | None | 0 0
  1. jobdata = [["1", "Josh", "Walsall", "0", "12", "2000-01-11"],
  2.                ["2", "Sam", "Walsall", "0", "12", "2000-11-25"],
  3.                ["3", "Lewis", "Walsall", "0", "12", "2000-03-17"],
  4.                ["4", "Adam", "Walsall", "0", "12", "2000-07-22"],
  5.                ["5", "Miss Lees", "Walsall", "0", "12", "2000-09-09"]]
  6.  
  7. vandata = [["GL64 YYW", "OD089372A", "Ford", "2018-02-15"],
  8.            ["FR64 UDW", "YD929381R", "Ford", "2019-06-22"],
  9.            ["GL64 TYW", "OD089372A", "Ford", "2018-02-15"],
  10.            ["GL64 LYW", "OD089372A", "Ford", "2018-02-15"]]
  11.  
  12. #refrsh button
  13. from tkinter import *
  14. import sqlite3
  15.  
  16.  
  17. class DB(object):
  18.  
  19.     def connect(self):
  20.         self.conn=sqlite3.connect("database")
  21.         self.cursor = self.conn.cursor()
  22.  
  23.     def createDatabase(self):
  24.  
  25.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS user
  26.                           (Username VARCHAR primary key,
  27.                           Password VARCHAR)""")
  28.  
  29.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS employees
  30.                  (NINo INTERGER constraint PK_employees primary key,
  31.                  FirstName VARCHAR,
  32.                  LastName VARCHAR,
  33.                  DOB VARCHAR,
  34.                  AddressLine1 VARCHAR,
  35.                  Town VARCHAR,
  36.                  PostCode VARCHAR,
  37.                  StartDate VARCHAR)""")
  38.  
  39.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS vans
  40.                  (LicencePlate VARCHAR constraint PK_vans primary key,
  41.                  NINo VARCHAR,
  42.                  VanModel VARCHAR,
  43.                  DateOfNextService DATE,
  44.                  FOREIGN KEY (NINo) REFERENCES employees(NINo))
  45.                  """)
  46.  
  47.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS vanjobs
  48.                  (JobID INTERGER constraint PK_vanjobs primary key,
  49.                  LicencePlate VARCHAR,
  50.                  StartDate DATE,
  51.                  AllocatedHours VARCHAR,
  52.                  FOREIGN KEY (LicencePlate) REFERENCES vans(LicencePlate))
  53.                  """)
  54.  
  55.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS job
  56.                  (JobID INTEGER,
  57.                  CompanyName VARCHAR constraint PK_job primary key,
  58.                  Location VARCHAR,
  59.                  RequiredVans INTERGER,
  60.                  AllocatedHours VARCHAR,
  61.                  StartDate DATE,
  62.                  FOREIGN KEY (JobID) REFERENCES vanjobs(JobID))
  63.                  """)
  64.  
  65.         self.cursor.execute("""CREATE TABLE IF NOT EXISTS company
  66.                  (ContactName VARCHAR constraint PK_company primary key,
  67.                  AddressLine1 VARCHAR,
  68.                  CompanyName VARCHAR,
  69.                  PostCode VARCHAR,
  70.                  FOREIGN KEY (CompanyName) REFERENCES job(CompanyName))
  71.                  """)      
  72.  
  73.     def insertJobIntoDB(self, newjob):
  74.        
  75.         try:
  76.             self.cursor.execute("INSERT INTO job VALUES (?,?,?,?,?,?)", newjob)
  77.             self.conn.commit()
  78.         except sqlite3.Error as er:
  79.             print ('Entries could not be added:', er)
  80.  
  81.     def addDefaultjob(self, jobdata):
  82.         try:
  83.             self.cursor.executemany("INSERT INTO job VALUES (?,?,?,?,?,?)", jobdata)
  84.             self.conn.commit()
  85.         except sqlite3.Error as er:
  86.             print ('Entries could not be added:', er)
  87.            
  88.     def insertVanIntoDB(self, newvan):
  89.         try:
  90.             self.cursor.execute("INSERT INTO vans VALUES (?,?,?,?)", newvan)
  91.             self.conn.commit()
  92.         except sqlite3.Error as er:
  93.             print ('Entries could not be added:', er)
  94.  
  95.     def addDefaultVanIntoDB(self, vandata):
  96.         try:
  97.             self.cursor.execute("INSERT INTO vans VALUES (?,?,?,?)", vandata)
  98.             self.conn.commit()
  99.         except sqlite3.Error as er:
  100.             print ('Entries could not be added:', er)
  101.  
  102.     def insertEmpIntoDB(self, newemployee):
  103.         try:
  104.             self.cursor.execute("INSERT INTO employees VALUES (?,?,?,?,?,?,?,?)", newemployee)
  105.             self.conn.commit()
  106.         except sqlite3.Error as er:
  107.             print ('Entries could not be added:', er)
  108.  
  109.     def insertUserIntoDB(self, user_check):
  110.         try:
  111.             self.cursor.execute("INSERT INTO user VALUES (?,?)", user_check)
  112.             self.conn.commit()
  113.         except sqlite3.Error as er:
  114.             print ('Entries could not be added:', er)
  115.         self.cursor.execute("SELECT * FROM user")
  116.  
  117.  
  118.     def fetchjob(self):
  119.         self.cursor.execute("""SELECT JobID FROM job""")
  120.         jobname = self.cursor.fetchall()
  121.         return jobname
  122.  
  123.     def fetchvanplate(self):
  124.         self.cursor.execute("""SELECT LicencePlate FROM vans""")
  125.         vanname = self.cursor.fetchall()
  126.         return vanname
  127.  
  128.     def fetchalljob(self, JobID):
  129.         #JobID = JobID.strip("(")
  130.         #JobID = JobID.strip(")")
  131.         #JobID = JobID.strip(",")
  132.         print(JobID)
  133.         self.cursor.execute("SELECT * FROM job WHERE JobID = %s" % JobID) #, controller.JobID)
  134.         fetchj = self.cursor.fetchall()
  135.         return fetchj
  136.         #print(fetchj)
  137.  
  138.     def fetchallvan(self, VanP):
  139.         print(VanP)
  140.         self.cursor.execute("SELECT * FROM vans WHERE LicencePlate = %s" % VanP)
  141.         fetchv = self.cursor.fetchall()
  142.         return fetchv
  143.         #print(fetchj)
  144.        
  145.        
  146.  
  147.     def fetch(self, query):
  148.         self.cursor.execute(query)
  149.         newjob1 = self.cursor.fetchall()
  150.         print(newjob1)
  151.  
  152.     def fetchall(self,table):
  153.         self.cursor.execute("SELECT * FROM %s" % table)
  154.         data= self.cursor.fetchall()
  155.         return data
  156.        
  157.  
  158.     def commitDB(self):
  159.         self.conn.commit()
  160.  
  161.     def closeDB(self):
  162.         self.conn.close()
  163.  
  164.  
  165.  
  166. title = ("Helvetica", 18, "bold")
  167.  
  168. class SampleApp(Tk):
  169.  
  170.     def __init__(self, database):
  171.         Tk.__init__(self)
  172.         container = Frame(self)
  173.         container.pack(side="top", fill="both", expand=True)
  174.         container.grid_rowconfigure(0, weight=1)
  175.         container.grid_columnconfigure(0, weight=1)
  176.         self.database = database
  177.         database.connect()
  178.         database.createDatabase()
  179.         database.addDefaultVanIntoDB(vandata)
  180.         JobID = 0
  181.         self.JobID = JobID
  182.         VanP = 0
  183.         self.VanP = VanP
  184.         print(JobID)
  185.        
  186.         self.frames = {}
  187.         for F in (Login, Menu, Job, Van, Employees, Register, JobPage, VanPage):
  188.             page_name = F.__name__
  189.             frame = F(parent=container, controller=self, database= database)
  190.             self.frames[page_name] = frame # page_name key, frame value
  191.  
  192.             frame.grid(row=0, column=0, sticky="nsew")
  193.  
  194.         self.show_frame("Menu")
  195.  
  196.     def show_frame(self, page_name):
  197.         '''Show a frame for the given page name'''
  198.         frame = self.frames[page_name] # selects frame (value) from dictionary
  199.         frame.tkraise()
  200.  
  201.  
  202. class Register(Frame):
  203.  
  204.     def __init__(self, parent, controller, database):
  205.         Frame.__init__(self, parent)
  206.         self.controller = controller
  207.         self.create_widget(controller)
  208.         self.database = database
  209.         database.connect()
  210.  
  211.     def create_widget(self,controller):
  212.         label = Label(self, text="Add a user", font=title)
  213.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  214.  
  215.         lbl = Label(self, text = "Username:")
  216.         lbl.grid(row= 1, column = 0, sticky = W)
  217.  
  218.         self.ent = Entry(self)
  219.         self.ent.grid(row = 1, column = 1, sticky = W)
  220.  
  221.         lbl1 = Label(self, text = "Password:")
  222.         lbl1.grid(row= 2, column = 0, sticky = W)
  223.  
  224.         self.ent1 = Entry(self,  show='*')
  225.         self.ent1.grid(row = 2, column = 1, sticky = W)
  226.  
  227.         self.subbttn2 = Button(self, text = "Submit", command= lambda: self.sub(controller))
  228.         self.subbttn2.grid(row = 3, column = 0, sticky = W)
  229.  
  230.         button2 = Button(self, text="Back",
  231.                             command=lambda: controller.show_frame("Login"))
  232.         button2.grid(row = 3, column = 2, sticky = W)
  233.  
  234.         self.error = Text(self, width = 40, height = 1, wrap = WORD, fg = "red")
  235.         self.error.grid(row = 4, column = 0, columnspan = 4, sticky = NSEW)
  236.         self.error.insert(0.0,"")
  237.  
  238.     def sub(self, controller):
  239.         user_check = []
  240.         contents = self.ent.get()
  241.         user_check.append(contents)
  242.         contents1 = self.ent1.get()
  243.         user_check.append(contents1)
  244.         database.connect()
  245.         fetch = database.fetchall("user")
  246.         print(fetch)
  247.         self.clear(controller)
  248.         check = False
  249.  
  250.         try:
  251.             database.insertUserIntoDB(user_check)
  252.         except sqlite3.Error:
  253.             check = False
  254.             print(check)
  255.  
  256.         if check == (True):
  257.             fetch1 = database.fetchall("user")
  258.             self.database.closeDB()    
  259.             self.clear(controller)
  260.             self.error.insert(0.0, "Your User has been registered.")
  261.         if check == (False):
  262.             self.error.delete(0.0, END)
  263.             self.error.insert(0.0, "Your Username is already taken.")
  264.             self.ent.delete(0,END)
  265.            
  266.            
  267.            
  268.  
  269.     def clear(self, controller):
  270.             self.ent.delete(0,END)
  271.             self.ent1.delete(0,END)
  272.             self.error.delete(0.0,END)              
  273.  
  274. class Login(Frame):
  275.  
  276.     def __init__(self, parent, controller, database):
  277.         Frame.__init__(self, parent)
  278.         self.controller = controller
  279.         self.database = database
  280.         self.create_widgets(controller)
  281.  
  282.     def create_widgets(self, controller):
  283.         label = Label(self, text="Login Page", font=title)
  284.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  285.  
  286.         lbl = Label(self, text = "Username:")
  287.         lbl.grid(row= 1, column = 0, sticky = W)
  288.  
  289.         self.ent = Entry(self)
  290.         self.ent.grid(row = 1, column = 1, sticky = W)
  291.  
  292.         lbl1 = Label(self, text = "Password:")
  293.         lbl1.grid(row= 2, column = 0, sticky = W)
  294.  
  295.         self.ent1 = Entry(self, show = "*")
  296.         self.ent1.grid(row = 2, column = 1, sticky = W)
  297.  
  298.         button1 = Button(self, text="Login",
  299.                             command=lambda: self.check_login(controller))
  300.         button1.grid(row = 3, column = 0, sticky = W)
  301.  
  302.         button2 = Button(self, text="Register",
  303.                             command=lambda: controller.show_frame("Register"))
  304.         button2.grid(row = 3, column = 2, sticky = W)
  305.  
  306.         self.error = Text(self, width = 40, height = 1, wrap = WORD, fg = "red")
  307.         self.error.grid(row = 8, column = 0, columnspan = 4, sticky = NSEW)
  308.         self.error.insert(0.0,"")
  309.         self.clear(controller)
  310.         self.error.delete(0.0, END)
  311.  
  312.  
  313.     def check_login(self, controller):
  314.  
  315.         database.connect()
  316.         username = self.ent.get()
  317.         password = self.ent1.get()
  318.         data = database.fetchall("user")
  319.  
  320.         for user in data:
  321.             if user[0] == username and user[1] == password:
  322.                 self.clear(controller)
  323.                 controller.show_frame("Menu")
  324.                 self.error.delete(0.0, END)
  325.             else:
  326.                 self.ent1.delete(0, END)
  327.                 self.error.delete(0.0, END)
  328.                 self.error.insert(0.0, "Your account details are not recognised.")
  329.  
  330.     def clear(self, controller):
  331.             self.ent.delete(0, END)
  332.             self.ent1.delete(0, END)
  333.             self.error.delete(0.0, END)
  334.    
  335.  
  336.  
  337.        
  338. class Menu(Frame):
  339.  
  340.     def __init__(self, parent, controller, database):
  341.         Frame.__init__(self, parent)
  342.         self.controller = controller
  343.         self.make_widgets(controller)
  344.         self.database = database
  345.  
  346.        
  347.  
  348.     def make_widgets(self, controller):
  349.         label = Label(self, text="Menu", font=title)
  350.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  351.         database.connect()
  352.         database.addDefaultjob(jobdata)
  353.         database.addDefaultVanIntoDB(vandata)
  354.  
  355.         jobs = ["No Jobs"]
  356.         data = database.fetchjob()
  357.         print(data)
  358.         lbl = Label(self, text = "View Job")
  359.         lbl.grid(row= 1, column = 1, sticky = W)
  360.  
  361.         self.var = StringVar()
  362.         self.var.set("No Job selected")
  363.         self.option = OptionMenu(self, self.var, *data)
  364.         self.option.grid(row = 1,column = 2,sticky = W)
  365.        
  366.         vans = ["No Vans"]
  367.         data2 = database.fetchvanplate()
  368.         print('data2',data2)
  369.         if not data2:
  370.            data2 =(('No Vans'),)
  371.         lbl2 = Label(self, text = "View Vans")
  372.         lbl2.grid(row= 3, column = 1, sticky = W)
  373.  
  374.         self.var2 = StringVar()
  375.         self.option2 = OptionMenu(self, self.var2, *data2)
  376.         self.option2.grid(row = 3,column = 2,sticky = W)
  377.  
  378.  
  379.         button1 = Button(self, text="Add Job",
  380.                             command=lambda: controller.show_frame("Job"))
  381.         button1.grid(row = 2, column = 1, sticky = W)
  382.        
  383.         button2 = Button(self, text="Add Van",
  384.                             command=lambda: controller.show_frame("Van"))
  385.         button2.grid(row = 4, column = 1, sticky = W)
  386.  
  387.         button2 = Button(self, text="Add Employess",
  388.                             command=lambda: controller.show_frame("Employees"))
  389.         button2.grid(row = 5, column = 1, sticky = W)
  390.  
  391.         button3 = Button(self, text="Sign Out",
  392.                             command=lambda: controller.show_frame("Login"))
  393.         button3.grid(row = 7, column = 1, sticky = W)
  394.  
  395.         button4 = Button(self, text="Enter",
  396.                             command=lambda: self.CalculateFrameJob(controller))
  397.         button4.grid(row = 1, column = 3, sticky = W)
  398.  
  399.         button5 = Button(self, text="Enter",
  400.                             command=lambda: self.CalculateFrameVan(controller))
  401.         button5.grid(row = 3, column = 3, sticky = W)
  402.  
  403.    
  404.  
  405.     def CalculateFrameJob(self, controller):
  406.        controller.JobID = self.var.get()
  407.        self.controller.show_frame("JobPage")
  408.        print(controller.JobID)
  409.        controller.JobID = controller.JobID.strip("(")
  410.        controller.JobID = controller.JobID.strip(")")
  411.        controller.JobID = controller.JobID.strip(",")
  412.        
  413.  
  414.     def CalculateFrameVan(self, controller):
  415.        controller.VanP = self.var2.get()
  416.        self.controller.show_frame("VanPage")
  417.        controller.VanP = controller.VanP.strip("(")
  418.        controller.VanP = controller.VanP.strip(")")
  419.        controller.VanP = controller.VanP.strip(",")
  420.        controller.VanP = controller.VanP.strip("'")
  421.        controller.VanP = controller.VanP.strip("'")
  422.  
  423.  
  424.                          
  425. #view job
  426.        
  427. class Job(Frame):
  428.  
  429.     def __init__(self, parent, controller, database):
  430.         Frame.__init__(self, parent)
  431.         self.controller = controller
  432.         self.database = database
  433.  
  434.        
  435.         label = Label(self, text="Add a Job", font=title)
  436.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  437.         button = Button(self, text="Go to the Menu",
  438.                            command=lambda: controller.show_frame("Menu"))
  439.         button.grid(row = 1, column = 1, sticky = W)
  440.  
  441.         self.lab1 = Label(self, text = "Job ID:")
  442.         self.lab1.grid(row = 2, column = 0, sticky = W)
  443.        
  444.         self.ent1 = Entry(self)
  445.         self.ent1.grid(row = 3, column = 1, sticky = W)
  446.  
  447.         self.lab2 = Label(self, text = "Company Name:")
  448.         self.lab2.grid(row = 4, column = 0, sticky = W)
  449.        
  450.         self.ent2 = Entry(self)
  451.         self.ent2.grid(row = 5, column = 1, sticky = W)
  452.  
  453.         self.lab3 = Label(self, text = "Location:")
  454.         self.lab3.grid(row = 6, column = 0, sticky = W)
  455.        
  456.         self.ent3 = Entry(self)
  457.         self.ent3.grid(row = 7, column = 1, sticky = W)
  458.  
  459.         self.lab4 = Label(self, text = "Required Vans:")
  460.         self.lab4.grid(row = 8, column = 0, sticky = W)
  461.        
  462.         self.ent4 = Entry(self)
  463.         self.ent4.grid(row = 9, column = 1, sticky = W)
  464.  
  465.         self.lab5 = Label(self, text = "Allocated Hours:")
  466.         self.lab5.grid(row = 10, column = 0, sticky = W)
  467.        
  468.         self.ent5 = Entry(self)
  469.         self.ent5.grid(row = 11, column = 1, sticky = W)
  470.  
  471.         self.lab6 = Label(self, text = "Start Date:")
  472.         self.lab6.grid(row = 12, column = 0, sticky = W)
  473.        
  474.         self.ent6 = Entry(self)
  475.         self.ent6.grid(row = 13, column = 1, sticky = W)
  476.  
  477.  
  478.         self.subbttn2 = Button(self, text = "Submit", command= lambda: self.sub())
  479.         self.subbttn2.grid(row = 14, column = 0, sticky = W)
  480.  
  481.  
  482.     def sub(self):
  483.         contents = self.ent1.get()
  484.         contents1 = self.ent2.get()
  485.         contents2 = self.ent3.get()
  486.         contents3 = self.ent4.get()
  487.         contents4 = self.ent5.get()
  488.         contents5 = self.ent6.get()
  489.         newjob = [contents, contents1, contents2, contents3, contents4, contents5]
  490.         database.insertJobIntoDB(newjob)
  491.         database.fetch("SELECT * FROM job")
  492.         database.commitDB()
  493.  
  494. class JobPage(Frame):
  495.  
  496.     def __init__(self, parent, controller, database):
  497.         Frame.__init__(self, parent)
  498.         self.controller = controller
  499.         self.database = database
  500.         self.CreateWidgets(controller)
  501.  
  502.  
  503.  
  504.     def CreateWidgets(self, controller):
  505.         label = Label(self, text="Job ID:", font=title)
  506.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  507.  
  508.         button = Button(self, text="Go to the Menu",
  509.                            command=lambda: controller.show_frame("Menu"))
  510.         button.grid(row = 14, column = 1, sticky = W)
  511.        
  512.         self.lab2 = Label(self, text = "Company Name:")
  513.         self.lab2.grid(row = 4, column = 0, sticky = W)
  514.  
  515.         self.lab3 = Label(self, text = "Location:")
  516.         self.lab3.grid(row = 6, column = 0, sticky = W)
  517.  
  518.         self.lab4 = Label(self, text = "Required Vans:")
  519.         self.lab4.grid(row = 8, column = 0, sticky = W)
  520.  
  521.         self.lab5 = Label(self, text = "Allocated Hours:")
  522.         self.lab5.grid(row = 10, column = 0, sticky = W)
  523.  
  524.         self.lab6 = Label(self, text = "Start Date:")
  525.         self.lab6.grid(row = 12, column = 0, sticky = W)
  526.  
  527.         button1 = Button(self, text="Refresh",
  528.                            command=lambda: self.Refresh(controller))
  529.         button1.grid(row = 0, column = 2, sticky = W)
  530.  
  531.  
  532.     def Refresh(self,controller):
  533.         self.ent1 = Entry(self)
  534.         self.ent1.grid(row = 0, column = 1, sticky = W)
  535.         self.ent1.delete(END)
  536.         self.ent1.insert(0, controller.JobID)
  537.         JobID = str(controller.JobID)
  538.         for item in JobID:
  539.             singleJobID = item
  540.         print('item',item)
  541.         fetchj = database.fetchalljob(item)
  542.         print('FETCHJ',fetchj)
  543.         self.fetch0 = fetchj[0]
  544.         fetch1 = fetchj[0][1]
  545.         fetch2 = fetchj[0][2]
  546.         fetch3 = fetchj[0][3]
  547.         fetch4 = fetchj[0][4]
  548.         fetch5 = fetchj[0][5]
  549.  
  550.         self.ent2 = Entry(self)
  551.         self.ent2.delete(END)
  552.         self.ent2.grid(row = 5, column = 1, sticky = W)
  553.         self.ent2.insert(0, fetch1)
  554.  
  555.         self.ent3 = Entry(self)
  556.         self.ent3.delete(END)
  557.         self.ent3.grid(row = 7, column = 1, sticky = W)
  558.         self.ent3.insert(0, fetch2)
  559.  
  560.         self.ent4 = Entry(self)
  561.         self.ent4.delete(END)
  562.         self.ent4.grid(row = 9, column = 1, sticky = W)
  563.         self.ent4.insert(0, fetch3)
  564.  
  565.         self.ent5 = Entry(self)
  566.         self.ent5.delete(END)
  567.         self.ent5.grid(row = 11, column = 1, sticky = W)
  568.         self.ent5.insert(0, fetch4)
  569.  
  570.         self.ent6 = Entry(self)
  571.         self.ent6.delete(END)
  572.         self.ent6.grid(row = 13, column = 1, sticky = W)
  573.         self.ent6.insert(0, fetch5)
  574.        
  575.        
  576.  
  577. #view van
  578.        
  579. class Van(Frame):
  580.  
  581.     def __init__(self, parent, controller, database):
  582.         Frame.__init__(self, parent)
  583.         self.controller = controller
  584.         self.database = database
  585.  
  586.         label = Label(self, text="Add a Van:", font=title)
  587.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  588.         button = Button(self, text="Go to the Menu",
  589.                            command=lambda: controller.show_frame("Menu"))
  590.         button.grid(row = 1, column = 1, sticky = W)
  591.        
  592.         self.lab1 = Label(self, text = "Licence Plate:")
  593.         self.lab1.grid(row = 2, column = 0, sticky = W)
  594.        
  595.         self.ent1 = Entry(self)
  596.         self.ent1.grid(row = 3, column = 1, sticky = W)
  597.  
  598.         self.lab2 = Label(self, text = "NINo of driver:")
  599.         self.lab2.grid(row = 4, column = 0, sticky = W)
  600.        
  601.         self.ent2 = Entry(self)
  602.         self.ent2.grid(row = 5, column = 1, sticky = W)
  603.  
  604.         self.lab3 = Label(self, text = "Van Model:")
  605.         self.lab3.grid(row = 6, column = 0, sticky = W)
  606.        
  607.         self.ent3 = Entry(self)
  608.         self.ent3.grid(row = 7, column = 1, sticky = W)
  609.  
  610.         self.lab4 = Label(self, text = "Date Of Service:")
  611.         self.lab4.grid(row = 8, column = 0, sticky = W)
  612.        
  613.         self.ent4 = Entry(self)
  614.         self.ent4.grid(row = 9, column = 1, sticky = W)
  615.  
  616.         self.subbttn2 = Button(self, text = "Submit", command= lambda: self.sub())
  617.         self.subbttn2.grid(row = 14, column = 0, sticky = W)
  618.  
  619.  
  620.     def sub(self):
  621.         contents = self.ent1.get()
  622.         contents1 = self.ent2.get()
  623.         contents2 = self.ent3.get()
  624.         contents3 = self.ent4.get()
  625.         newvan = [contents, contents1, contents2, contents3]
  626.         database.insertVanIntoDB(newvan)
  627.         database.fetch("SELECT * FROM vans")
  628.  
  629. class VanPage(Frame):
  630.  
  631.     def __init__(self, parent, controller, database):
  632.         Frame.__init__(self, parent)
  633.         self.controller = controller
  634.         self.database = database
  635.         self.CreateWidgets(controller)
  636.        
  637.  
  638.     def CreateWidgets(self, controller):
  639.         label = Label(self, text="Calculate Data", font=title)
  640.         label = Label(self, text="Licence Plate:", font=title)
  641.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  642.  
  643.         button = Button(self, text="Go to the Menu",
  644.                            command=lambda: controller.show_frame("Menu"))
  645.         button.grid(row = 14, column = 1, sticky = W)
  646.        
  647.         self.lab2 = Label(self, text = "NINo:")
  648.         self.lab2.grid(row = 4, column = 0, sticky = W)
  649.  
  650.         self.lab3 = Label(self, text = "Van Model:")
  651.         self.lab3.grid(row = 6, column = 0, sticky = W)
  652.  
  653.         self.lab4 = Label(self, text = "Date Of Next service:")
  654.         self.lab4.grid(row = 8, column = 0, sticky = W)
  655.  
  656.         button1 = Button(self, text="Refresh",
  657.                            command=lambda: self.Refresh(controller))
  658.         button1.grid(row = 0, column = 2, sticky = W)
  659.  
  660.  
  661.     def Refresh(self,controller):
  662.         self.ent1 = Entry(self)
  663.         self.ent1.grid(row = 0, column = 1, sticky = W)
  664.         self.ent1.delete(END)
  665.         self.ent1.insert(0, controller.VanP)
  666.         VanP = str(controller.VanP)
  667.         for item in VanP:
  668.             singleVanP = item
  669.         print('item',item)
  670.         fetchv = database.fetchallvan(item)
  671.         print('FETCHV',fetchv)
  672.         self.fetch0 = fetchv[0]
  673.         fetch1 = fetchv[0][1]
  674.         fetch2 = fetchv[0][2]
  675.         fetch3 = fetchv[0][3]
  676.  
  677.         self.ent2 = Entry(self)
  678.         self.ent2.delete(END)
  679.         self.ent2.grid(row = 5, column = 1, sticky = W)
  680.         self.ent2.insert(0, fetch1)
  681.  
  682.         self.ent3 = Entry(self)
  683.         self.ent3.delete(END)
  684.         self.ent3.grid(row = 7, column = 1, sticky = W)
  685.         self.ent3.insert(0, fetch2)
  686.  
  687.         self.ent4 = Entry(self)
  688.         self.ent4.delete(END)
  689.         self.ent4.grid(row = 9, column = 1, sticky = W)
  690.         self.ent4.insert(0, fetch3)
  691.  
  692.  
  693. class Employees(Frame):
  694.  
  695.     def __init__(self, parent, controller, database):
  696.         Frame.__init__(self, parent)
  697.         self.controller = controller
  698.         label = Label(self, text="Add a Job", font=title)
  699.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  700.         button = Button(self, text="Go to the Menu",
  701.                            command=lambda: controller.show_frame("Menu"))
  702.         button.grid(row = 1, column = 1, sticky = W)
  703.  
  704.         label = Label(self, text="Add a Van:", font=title)
  705.         label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  706.         button = Button(self, text="Go to the Menu",
  707.                            command=lambda: controller.show_frame("Menu"))
  708.         button.grid(row = 1, column = 1, sticky = W)
  709.  
  710.         self.lab1 = Label(self, text = "NINo:")
  711.         self.lab1.grid(row = 2, column = 0, sticky = W)
  712.        
  713.         self.ent1 = Entry(self)
  714.         self.ent1.grid(row = 3, column = 1, sticky = W)
  715.  
  716.         self.lab2 = Label(self, text = "First Name:")
  717.         self.lab2.grid(row = 4, column = 0, sticky = W)
  718.        
  719.         self.ent2 = Entry(self)
  720.         self.ent2.grid(row = 5, column = 1, sticky = W)
  721.  
  722.         self.lab3 = Label(self, text = "Last Name:")
  723.         self.lab3.grid(row = 6, column = 0, sticky = W)
  724.  
  725.         self.ent3 = Entry(self)
  726.         self.ent3.grid(row = 7, column = 1, sticky = W)
  727.  
  728.         self.lab4 = Label(self, text = "Date of birth:")
  729.         self.lab4.grid(row = 8, column = 0, sticky = W)
  730.  
  731.         self.ent4 = Entry(self)
  732.         self.ent4.grid(row = 9, column = 1, sticky = W)
  733.  
  734.         self.lab5 = Label(self, text = "Address line 1:")
  735.         self.lab5.grid(row = 10, column = 0, sticky = W)
  736.  
  737.         self.ent5 = Entry(self)
  738.         self.ent5.grid(row = 11, column = 1, sticky = W)
  739.  
  740.         self.lab6 = Label(self, text = "Town:")
  741.         self.lab6.grid(row = 12, column = 0, sticky = W)
  742.  
  743.         self.ent6 = Entry(self)
  744.         self.ent6.grid(row = 13, column = 1, sticky = W)
  745.  
  746.         self.lab7 = Label(self, text = "Post code:")
  747.         self.lab7.grid(row = 14, column = 0, sticky = W)
  748.  
  749.         self.ent7 = Entry(self)
  750.         self.ent7.grid(row = 15, column = 1, sticky = W)
  751.  
  752.         self.lab8 = Label(self, text = "Start Date:")
  753.         self.lab8.grid(row = 16, column = 0, sticky = W)
  754.  
  755.         self.ent8 = Entry(self)
  756.         self.ent8.grid(row = 17, column = 1, sticky = W)
  757.        
  758.         self.subbttn2 = Button(self, text = "Submit", command= lambda: self.sub())
  759.         self.subbttn2.grid(row = 18, column = 0, sticky = W)
  760.  
  761.  
  762.     def sub(self):
  763.         contents = self.ent1.get()
  764.         contents1 = self.ent2.get()
  765.         contents2 = self.ent3.get()
  766.         contents3 = self.ent4.get()
  767.         contents4 = self.ent5.get()
  768.         contents5 = self.ent6.get()
  769.         contents6 = self.ent7.get()
  770.         contents7 = self.ent8.get()
  771.         newemployee = [contents, contents1, contents2, contents3, contents4, contents5, contents6, contents7]
  772.         database.insertEmpIntoDB(newemployee)
  773.         database.fetch("SELECT * FROM employees")
  774.  
  775.  
  776. ##class Calculations(Frame):
  777. ##
  778. ##    def __init__(self, parent, controller, database):
  779. ##        Frame.__init__(self, parent)
  780. ##        self.controller = controller
  781. ##        self.database = database
  782. ##        label = Label(self, text="Calculate Data", font=title)
  783. ##        label.grid(row = 0, column = 0, columnspan = 2, sticky = W)
  784. ##        button = Button(self, text="Go to the Menu",
  785. ##                           command=lambda: controller.show_frame("Menu"))
  786. ##        button.grid(row = 8, column = 1, sticky = W)
  787.  
  788. if __name__ == "__main__":
  789.     database = DB()
  790.     app = SampleApp(database)
  791.     app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement