From b141737fd55132f3ab2fa667d295fb261c53c416 Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Wed, 26 Dec 2018 12:39:11 +0100 Subject: [PATCH 1/6] Add files via upload --- pharmacy management login system.py | 676 ++++++++++++++++++++++++++++ 1 file changed, 676 insertions(+) create mode 100644 pharmacy management login system.py diff --git a/pharmacy management login system.py b/pharmacy management login system.py new file mode 100644 index 0000000..36739be --- /dev/null +++ b/pharmacy management login system.py @@ -0,0 +1,676 @@ +from tkinter import * +import tkinter.messagebox +from tkinter import ttk +import random +import time; +import datetime + +def main(): + root = Tk() + app = Window1(root) + +class Window1: + def __init__(self, master): + self.master = master + self.master.title("Urchaug Pharmacy Management System") + self.master.geometry('1350x750+0+0') + self.frame = Frame(self.master) + self.frame.pack() + + self.Username = StringVar() + self.Password = StringVar() + + + + + self.LabelTitle = Label(self.frame,text ='Urchaug Pharmacy Management System',font=('romans',30,'bold'),bd=20, + bg='yellow green') + self.LabelTitle.grid(row=0, column=0, columnspan=2,pady=20) + #======================================Frames========================================================= + + self.Loginframe1 = Frame(self.frame, width=1010,height=300,bd=20,relief='ridge',bg='yellow green') + self.Loginframe1.grid(row=1, column=0) + + self.Loginframe2 = LabelFrame(self.frame, width=1000,height=100,bd=20 ,relief='ridge',bg='yellow green') + self.Loginframe2.grid(row=2, column=0) + + + self.Loginframe3 = LabelFrame(self.frame, width=1000,height=200,bd=20,relief='ridge',bg='yellow green') + self.Loginframe3.grid(row=3, column=0,pady=2) + #=============================================================================================== + + + self.lblUsername = Label(self.Loginframe1,text ='Username ',font=('romans',30,'bold'),bd=22) + self.lblUsername.grid(row=0, column=0) + self.txtUsername= Entry(self.Loginframe1,font=('romans',30,'bold'),bd=20, + textvariable=self.Username) + self.txtUsername.grid(row=0, column=1) + + self.lblPassword = Label(self.Loginframe1,text ='Password ',font=('romans',30,'bold'),bd=22) + self.lblPassword.grid(row=1, column=0) + self.txtPassword = Entry(self.Loginframe1,font=('romans',30,'bold'),bd=22,show="*", + textvariable=self.Password) + self.txtPassword.grid(row=1, column=1,padx=85) + + #======================================Buttons========================================================= + self.btnLogin = Button(self.Loginframe2,text = "Login",width=17,font=('romans',20,'bold'), + command = self.Login_System) + self.btnLogin.grid(row = 0, column = 0) + + + self.btnReset = Button(self.Loginframe2,text = "Reset",width=17,font=('romans',20,'bold'), + command = self.Reset) + self.btnReset.grid(row = 0, column = 1) + + + self.btnExit = Button(self.Loginframe2,text = "Exit",width=17,font=('romans',20,'bold'), + command = self.iExit) + self.btnExit.grid(row = 0, column = 2) + #======================================Buttons========================================================= + + self.btnRegistration = Button(self.Loginframe3,text = "Patients Registration System",width=25,font=('romans',20,'bold'), + state = DISABLED,command = self.Registration_window) + self.btnRegistration.grid(row = 0, column = 0) + + + self.btnHospital = Button(self.Loginframe3,text = "Hospital Management System",width=25,font=('romans',20,'bold'), + state = DISABLED,command = self.Hospital_window) + self.btnHospital.grid(row = 0, column = 1,pady=8,padx=20) + #====================================================================================================== + + def Login_System(self): + user = (self.Username.get()) + pasword = (self.Password.get()) + + if (user == str('urchaug')) and (pasword == str(2345)): + self.btnRegistration.config(state = NORMAL) + self.btnHospital.config(state = NORMAL) + + else: + tkinter.messagebox.askyesno("Pharmacy Login System", "You have entered an invalid login details") + self.btnRegistration.config(state = DISABLED) + self.btnHospital.config(state = DISABLED) + self.Username.set("") + self.Password.set("") + self.txtUsername.focus() + + def Reset(self): + self.btnRegistration.config(state = DISABLED) + self.btnHospital.config(state = DISABLED) + self.Username.set("") + self.Password.set("") + self.txtUsername.focus() + + def iExit(self): + self.iExit = tkinter.messagebox.askyesno("Pharmacy Login System", "Confirm if you want to exit") + if self.iExit > 0: + self.master.destroy() + return + + + + + + + + + + + #====================================================================================================== + def Registration_window(self): + self.newwindow = Toplevel(self.master) + self.app = Window2(self.newwindow) + + def Hospital_window(self): + self.newwindow = Toplevel(self.master) + self.app = Window3(self.newwindow) + + +class Window2: + def __init__(self, master): + self.master = master + self.master.title("Patients Registration System") + self.master.geometry('1350x750+0+0') + self.frame = Frame(self.master) + #self.frame.configure(background='tomato4') + self.frame.pack() + #====================================================================================================== + + + DateofOrder = StringVar() + DateofOrder.set(time.strftime("%d/%m/%Y")) + + + + var1=StringVar() + var2=StringVar() + var3=StringVar() + var4=IntVar() + + + + Firstname = StringVar() + Surname = StringVar() + Address= StringVar() + PostCode=StringVar() + Telephone=StringVar() + Ref=StringVar() + + + + Membership=StringVar() + Membership.set("0") + #===================================Functions DEclaration========================================================== + def iExit(): + iExit = tkinter.messagebox.askyesno("Patients Registration", "Confirm if you want to exit") + if iExit > 0: + self.master.destroy() + return + + def Reset(): + + Firstname.set("") + Surname.set("") + Address.set("") + PostCode.set("") + Telephone.set("") + Ref.set("") + Membership.set("0") + + + var1.set("") + var2.set("") + var3.set("") + var4.set(0) + + self.cboProve_of_ID.current(0) + self.cboType_of_Member.current(0) + self.cboMethod_of_payment.current(0) + + def iResetRecord(): + iResetRecord = tkinter.messagebox.askokcancel("Club Member Registration", "Confirm if you want to add a new\ +record") + if iResetRecord > 0: + Reset() + elif iResetRecord <= 0: + Reset() + self.txtReceipt.delete("1.0",END) + + return + def Ref_No(): + Member_Ref=StringVar() + x = random.randint(10903, 600873) + randomRef = str(x) + Member_Ref.set(randomRef) + Ref.set(randomRef) + def Receipt(): + Ref_No() + self.txtReceipt.insert(END, "\t" + Ref.get()+ "\t\t" + Firstname.get() + "\t\t" + Surname.get() + + "\t\t" +Address.get() + "\t\t" +DateofOrder.get() + "\t\t" + Telephone.get() + + "\t\t" + Membership.get() + "\n") + + def Membership_fees(): + + + + if (var4.get() == 1): + self.txtMembership.configure(state = NORMAL) + Item1 = float(2500) + Membership.set("#" + str(Item1)) + + elif (var4.get() == 0): + self.txtMembership.configure(state = DISABLED) + Membership.set("0") + + + + + + #===================================Frame====================================================================== + Mainframe = Frame(self.frame) + Mainframe.grid() + + TitleFrame = Frame(Mainframe, width=1350,padx=26,relief=RIDGE) + TitleFrame.pack(side=TOP) + + self.lblTitle=Label(TitleFrame,font=('arial',50,'bold'),text=" Patients Registration System ", padx=2) + self.lblTitle.grid() + #===================================LowerFrames======================================================= + + MemberDetailsFrame = LabelFrame(Mainframe,width=1350,height=500,bd=20, + pady=5,relief=RIDGE) + MemberDetailsFrame.pack(side=BOTTOM) + + FrameDetails = LabelFrame(MemberDetailsFrame, bd=10,width=1350,height=400,relief=RIDGE) + #FrameDetails.pack(side=LEFT) + + MemberName_F = LabelFrame(MemberDetailsFrame,bd=10,width=350,height=400, + font=('arial',12,'bold'),text='Customer Name',relief=RIDGE) + MemberName_F.grid(row=0,column=0) + + Receipt_ButtonFrame = LabelFrame(MemberDetailsFrame,bd=10,width=1000,height=400, + relief=RIDGE) + Receipt_ButtonFrame.grid(row=0,column=1) + #===================================================================================================== + + self.lblReferenceNo=Label(MemberName_F,font=('arial',14,'bold'),text=" Reference No ", bd=7) + self.lblReferenceNo.grid(row=0,column=0,sticky=W) + self.txtReferenceNo=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,textvariable=Ref, + state = DISABLED,insertwidth=2) + self.txtReferenceNo.grid(row=0,column=1) + + + self.lblFirstname=Label(MemberName_F,font=('arial',14,'bold'),text=" First name ", bd=7) + self.lblFirstname.grid(row=1,column=0,sticky=W) + self.txtFirstname=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=Firstname) + self.txtFirstname.grid(row=1,column=1) + + + self.lblSurname=Label(MemberName_F,font=('arial',14,'bold'),text=" Surname ", bd=7) + self.lblSurname.grid(row=2,column=0,sticky=W) + self.txtSurname=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=Surname) + self.txtSurname.grid(row=2,column=1) + + + self.lblAddress=Label(MemberName_F,font=('arial',14,'bold'),text=" Address ", bd=7) + self.lblAddress.grid(row=3,column=0,sticky=W) + self.txtAddress=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=Address) + self.txtAddress.grid(row=3,column=1) + + + self.lblPostCode=Label(MemberName_F,font=('arial',14,'bold'),text=" Post Code ", bd=7) + self.lblPostCode.grid(row=4,column=0,sticky=W) + self.txtPostCode=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=PostCode) + self.txtPostCode.grid(row=4,column=1) + + + self.lblTelephone=Label(MemberName_F,font=('arial',14,'bold'),text=" Telephone", bd=7) + self.lblTelephone.grid(row=5,column=0,sticky=W) + self.txtTelephone=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=Telephone) + self.txtTelephone.grid(row=5,column=1) + + + self.lblDate=Label(MemberName_F,font=('arial',14,'bold'),text=" Date", bd=7) + self.lblDate.grid(row=6,column=0,sticky=W) + self.txtDate=Entry(MemberName_F,font=('arial',14,'bold'), bd=7,insertwidth=2,textvariable=DateofOrder) + self.txtDate.grid(row=6,column=1) + #========================================combo button======================================================== + + + self.lblProve_of_ID = Label(MemberName_F,font=('arial',14,'bold'),text="Prove_of_ID:",bd=7) + self.lblProve_of_ID.grid(row=7,column=0, sticky=W) + self.cboProve_of_ID = ttk.Combobox(MemberName_F,textvariable= var1, state='readonly',font=('arial', 14, 'bold'), + width=19) + self.cboProve_of_ID['value']=('','Pilot License','Driving License','Passport','Student ID',) + self.cboProve_of_ID.current(0) + self.cboProve_of_ID.grid(row=7,column=1) + + + self.lblType_of_Member = Label(MemberName_F,font=('arial',14,'bold'),text="Type of Member:",bd=7) + self.lblType_of_Member.grid(row=8,column=0, sticky=W) + self.cboType_of_Member = ttk.Combobox(MemberName_F,textvariable= var2, state='readonly',font=('arial', 14, 'bold'), + width=19) + self.cboType_of_Member['value']=('','Full Member','Annual Membership','Pay As You Go','Honorary Member') + self.cboType_of_Member.current(0) + self.cboType_of_Member.grid(row=8,column=1) + + + + self.lblMethod_of_payment = Label(MemberName_F,font=('arial',14,'bold'),text="Method of payment:",bd=7) + self.lblMethod_of_payment.grid(row=9,column=0, sticky=W) + self.cboMethod_of_payment = ttk.Combobox(MemberName_F,textvariable= var3, state='readonly',font=('arial', 14, 'bold'), + width=19) + self.cboMethod_of_payment['value']=('','Visa Card','Master Card','Debit Card','Cash') + self.cboMethod_of_payment.current(0) + self.cboMethod_of_payment.grid(row=9,column=1) + + #==================================================check button=========================================================== + self.chkMembership = Checkbutton(MemberName_F,text="Membership Fees",variable=var4, onvalue=1, + offvalue = 0,font=('arial',16,'bold'),command = Membership_fees).grid(row=10,column=0,sticky=W) + + self.txtMembership = Entry(MemberName_F,font=('arial',14,'bold'),textvariable=Membership,bd=7, + insertwidth=2,state=DISABLED, justify=RIGHT) + + self.txtMembership.grid(row=10,column=1) + + + #===================================================Receipt========================================================== + + self.lblLabel = Label(Receipt_ButtonFrame,font=('arial',10,'bold'),bd=7,pady=10, + text="Patient Ref\t Firstname\t Surname\t Address\t\t Date Reg.\t Telephone\t Patient Paid") + self.lblLabel.grid(row=0,column=0, columnspan=4) + + + self.txtReceipt = Text(Receipt_ButtonFrame,font=('arial',10,'bold'),width = 112,height=22) + self.txtReceipt.grid(row=1,column=0, columnspan=4) + + #=================================================buttons============================================================ + self.btnReceipt = Button(Receipt_ButtonFrame,padx=18,bd=7,font=('arial', 16,'bold'),width=13, + text='Receipt',command=Receipt).grid(row=2,column=0) + + self.btnReset = Button(Receipt_ButtonFrame,padx=18,bd=7,font=('arial', 16,'bold'),width=13, + text='Reset',command=iResetRecord).grid(row=2,column=1) + + self.btnExit = Button(Receipt_ButtonFrame,padx=18,bd=7,font=('arial', 16,'bold'),width=13, + text='Exit',command = iExit).grid(row=2,column=2) + + #============================================================================================================= + #====================================================================================================== + + +class Window3: + def __init__(self, master): + self.master = master + self.master.title("Hospital Management System") + self.master.geometry('1350x750+0+0') + self.frame = Frame(self.master) + self.frame.pack() + + #===================================================================================================== + + + cboNameTablets = StringVar() + Ref = StringVar() + Dose = StringVar() + NumberTablets = StringVar() + Lot = StringVar() + IssuedDate = StringVar() + ExpDate = StringVar() + DailyDose = StringVar() + PossibleSideEffects = StringVar() + FurtherInfo = StringVar() + StorageAdvice = StringVar() + DrivingUsingMachines = StringVar() + HowToUseMedication = StringVar() + PatientID = StringVar() + PatientNHSNo = StringVar() + PatientName = StringVar() + DateOfBirth = StringVar() + PatientAddress = StringVar() + Prescription = StringVar() + #===============================================functions declaration============================================================ + + def iExit(): + iExit = tkinter.messagebox.askyesno("Hospital Management System", "Confirm if you want to exit") + if iExit > 0: + self.master.destroy() + return + + def iReset(): + + cboNameTablets.set("") + self.cboNameTablet.current(0) + Ref.set("") + Dose.set("") + NumberTablets.set("") + Lot.set("") + IssuedDate.set("") + ExpDate.set("") + DailyDose.set("") + PossibleSideEffects.set("") + FurtherInfo.set("") + StorageAdvice.set("") + DrivingUsingMachines.set("") + HowToUseMedication.set("") + PatientID.set("") + PatientNHSNo.set("") + PatientName.set("") + DateOfBirth.set("") + PatientAddress.set("") + self.txtPrescription.delete("1.0",END) + + return + def iDelete(): + + cboNameTablets.set("") + self.cboNameTablet.current(0) + Ref.set("") + Dose.set("") + NumberTablets.set("") + Lot.set("") + IssuedDate.set("") + ExpDate.set("") + DailyDose.set("") + PossibleSideEffects.set("") + FurtherInfo.set("") + StorageAdvice.set("") + DrivingUsingMachines.set("") + HowToUseMedication.set("") + PatientID.set("") + PatientNHSNo.set("") + PatientName.set("") + DateOfBirth.set("") + PatientAddress.set("") + self.txtPrescription.delete("1.0",END) + self.txtFrameDetail.delete("1.0",END) + return + def iPrescription(): + + self.txtPrescription.insert(END,'Name of Tablets: \t\t\t\t' + cboNameTablets.get() + "\n") + self.txtPrescription.insert(END,'Reference No: \t\t\t\t' + Ref.get() + "\n") + self.txtPrescription.insert(END,'Dose: \t\t\t\t' + Dose.get() + "\n") + self.txtPrescription.insert(END,'Number of Tablets: \t\t\t\t' + NumberTablets.get() + "\n") + self.txtPrescription.insert(END,'Lot: \t\t\t\t' + Lot.get() + "\n") + self.txtPrescription.insert(END,'Issued Date: \t\t\t\t' + IssuedDate.get() + "\n") + self.txtPrescription.insert(END,'Expiry Date: \t\t\t\t' + ExpDate.get() + "\n") + self.txtPrescription.insert(END,'Possible Side Effects: \t\t\t\t' + PossibleSideEffects.get() + "\n") + self.txtPrescription.insert(END,'Further Information: \t\t\t\t' + FurtherInfo.get() + "\n") + self.txtPrescription.insert(END,'Storage Advice: \t\t\t\t' + StorageAdvice.get() + "\n") + self.txtPrescription.insert(END,'Driving or UsingMachines: \t\t\t\t' + DrivingUsingMachines.get() + "\n") + self.txtPrescription.insert(END,'How To Use Medication: \t\t\t\t' + HowToUseMedication.get() + "\n") + self.txtPrescription.insert(END,'Patient ID: \t\t\t\t' + PatientID.get() + "\n") + self.txtPrescription.insert(END,'Patient NHS no: \t\t\t\t' + PatientNHSNo.get() + "\n") + self.txtPrescription.insert(END,'Patient Name: \t\t\t\t' + PatientName.get() + "\n") + self.txtPrescription.insert(END,'Date Of Birth: \t\t\t\t' + DateOfBirth.get() + "\n") + self.txtPrescription.insert(END,'Patient Address: \t\t\t\t' + PatientAddress.get() + "\n") + + + + return + + def iPrescriptionData(): + + self.txtFrameDetail.insert(END,"\t"+ cboNameTablets.get()+"\t\t"+Ref.get()+"\t"+Dose.get()+"\t"+ + NumberTablets.get() + "\t"+ Lot.get()+ "\t\t"+IssuedDate.get() +"\t\t"+ExpDate.get() +"\t" + + DailyDose.get() + "\t"+ StorageAdvice.get()+ "\t\t"+PatientNHSNo.get() +"\t\t"+ PatientName.get() +"\t" + + DateOfBirth.get()+"\t"+ PatientAddress.get() + "\n") + + + return + + + + #===============================================frames============================================================ + + MainFrame = Frame(self.frame) + MainFrame.grid() + + + TitleFrame = Frame(MainFrame, width=1350, padx=20,bd=20, relief=RIDGE) + TitleFrame.pack(side=TOP) + + + self.lblTitle = Label(TitleFrame,width=39,font=('arial',35,'bold'),text="\tUrchaug Hospital Management Systems\t",padx=2) + self.lblTitle.grid() + + + FrameDetail = Frame(MainFrame, width=1350,height=100, padx=20,bd=20, relief=RIDGE) + FrameDetail.pack(side=BOTTOM) + + + ButtonFrame = Frame(MainFrame, width=1350,height=50, padx=20,bd=20, relief=RIDGE) + ButtonFrame.pack(side=BOTTOM) + + + DataFrame = Frame(MainFrame, width=1350,height=400, padx=20,bd=20, relief=RIDGE) + DataFrame.pack(side=BOTTOM) + + + DataFrameLEFT = LabelFrame(DataFrame, width=800,height=300, padx=20,bd=10, relief=RIDGE, + font=('arial',12,'bold'), text="Patient Information:",) + DataFrameLEFT.pack(side=LEFT) + + + DataFrameRIGHT = LabelFrame(DataFrame, width=450,height=300, padx=20,bd=10, relief=RIDGE, + font=('arial',12,'bold'), text=" Prescription:",) + DataFrameRIGHT.pack(side=RIGHT) + + + #=====================================DataFrameLEFT widgets===================================================================== + self.lblNameTablet = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Name Of Tablet:", padx=2,pady=2) + self.lblNameTablet.grid(row=0, column=0, sticky=W) + + self.cboNameTablet = ttk.Combobox(DataFrameLEFT, font=('arial',12,'bold'), state='readonly',textvariable=cboNameTablets, + width = 23) + self.cboNameTablet['value']=('','Ibuprofen','Co-codamol','Paracetamol','Amlodipine') + self.cboNameTablet.current(0) + self.cboNameTablet.grid(row=0, column=1) + + self.lblFurtherInfo = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Further Information:", padx=2,pady=2) + self.lblFurtherInfo.grid(row=0, column=2, sticky=W) + self.txtFurtherInfo = Entry(DataFrameLEFT, font=('arial',12,'bold') ,textvariable=FurtherInfo,width = 25) + self.txtFurtherInfo.grid(row=0, column=3) + + + self.lblRef = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Reference No:", padx=2,pady=2) + self.lblRef.grid(row=1, column=0, sticky=W) + self.txtRef = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Ref, width = 25) + self.txtRef.grid(row=1, column=1) + + + self.lblStorageAdvice = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Storage Advice:", padx=2,pady=2) + self.lblStorageAdvice.grid(row=1, column=2, sticky=W) + self.txtStorageAdvice = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=StorageAdvice,width = 25) + self.txtStorageAdvice.grid(row=1, column=3) + + self.lblDose = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Dose:", padx=2,pady=2) + self.lblDose.grid(row=2, column=0, sticky=W) + self.txtDose = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Dose, width = 25) + self.txtDose.grid(row=2, column=1) + + + self.lblDrivingUsingMachines = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Driving Machines:", padx=2,pady=2) + self.lblDrivingUsingMachines.grid(row=2, column=2, sticky=W) + self.txtDrivingUsingMachines = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=DrivingUsingMachines,width = 25) + self.txtDrivingUsingMachines.grid(row=2, column=3) + + + self.lblNumberTablets = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Number Of Tablets:", padx=2,pady=2) + self.lblNumberTablets.grid(row=3, column=0, sticky=W) + self.txtNumberTablets = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=NumberTablets,width = 25) + self.txtNumberTablets.grid(row=3, column=1) + + + self.lblHowToUseMedication = Label(DataFrameLEFT, font=('arial',12,'bold'), text="How To Use Medication:", padx=2,pady=2) + self.lblHowToUseMedication.grid(row=3, column=2, sticky=W) + self.txtHowToUseMedication = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=HowToUseMedication,width = 25) + self.txtHowToUseMedication.grid(row=3, column=3) + + + self.lblLot = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Lot :", padx=2,pady=2) + self.lblLot.grid(row=4, column=0, sticky=W) + self.txtLot = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= Lot ,width = 25) + self.txtLot.grid(row=4, column=1) + + + self.lblPatientID = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Patient ID :", padx=2,pady=2) + self.lblPatientID.grid(row=4, column=2, sticky=W) + self.txtPatientID = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= PatientID ,width = 25) + self.txtPatientID.grid(row=4, column=3) + + + self.lblIssuedDate = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Issued Date :", padx=2,pady=2) + self.lblIssuedDate.grid(row=5, column=0, sticky=W) + self.txtIssuedDate = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= IssuedDate ,width = 25) + self.txtIssuedDate.grid(row=5, column=1) + + + self.lblPatientNHSNo = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" NHS Number :", padx=2,pady=2) + self.lblPatientNHSNo.grid(row=5, column=2, sticky=W) + self.txtPatientNHSNo = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= PatientNHSNo ,width = 25) + self.txtPatientNHSNo.grid(row=5, column=3) + + + self.lblExpDate = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Expiry Date :", padx=2,pady=2) + self.lblExpDate.grid(row=6, column=0, sticky=W) + self.txtExpDate = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= ExpDate ,width = 25) + self.txtExpDate.grid(row=6, column=1) + + + self.lblPatientName = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Patient Name :", padx=2,pady=2) + self.lblPatientName.grid(row=6, column=2, sticky=W) + self.txtPatientName = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= PatientName ,width = 25) + self.txtPatientName.grid(row=6, column=3) + + + + self.lblDailyDose = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Daily Dose:", padx=2,pady=2) + self.lblDailyDose.grid(row=7, column=0, sticky=W) + self.txtDailyDose = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= DailyDose ,width = 25) + self.txtDailyDose.grid(row=7, column=1) + + + self.lblDateOfBirth = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Date Of Birth:", padx=2,pady=2) + self.lblDateOfBirth.grid(row=7, column=2, sticky=W) + self.txtDateOfBirth = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= DateOfBirth ,width = 25) + self.txtDateOfBirth.grid(row=7, column=3) + + + + self.lblPossibleSideEffects = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Side Effects:", padx=2,pady=2) + self.lblPossibleSideEffects.grid(row=8, column=0, sticky=W) + self.txtPossibleSideEffects = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= PossibleSideEffects,width = 25) + self.txtPossibleSideEffects.grid(row=8, column=1) + + + self.lblPatientAddress = Label(DataFrameLEFT, font=('arial',12,'bold'), text=" Patient Address:", padx=2,pady=2) + self.lblPatientAddress.grid(row=8, column=2, sticky=W) + self.txtPatientAddress = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable= PatientAddress,width = 25) + self.txtPatientAddress.grid(row=8, column=3) + + + #=====================================DataFrameRIGHT widgets========================================================== + self.txtPrescription = Text(DataFrameRIGHT, font=('arial',12,'bold'),width=43,height=14, padx=2,pady=6) + self.txtPrescription.grid(row=0, column=0) + #=====================================BUTTONFRAME widgets========================================================== + self.btnPrescription=Button(ButtonFrame, text= 'Prescription',font=('arial', 12,'bold'), + width=24, bd=4,command=iPrescription) + self.btnPrescription.grid(row=0, column=0) + + self.btnPrescriptionData=Button(ButtonFrame, text= 'Prescription Data',font=('arial', 12,'bold') + , width=24, bd=5,command=iPrescriptionData) + self.btnPrescriptionData.grid(row=0, column=1) + + + self.btnDelete=Button(ButtonFrame, text= 'Delete',font=('arial', 12,'bold'), width=24, bd=4,command=iDelete) + self.btnDelete.grid(row=0, column=2) + + self.btnReset=Button(ButtonFrame, text= 'Reset',font=('arial', 12,'bold'), width=24, bd=4,command=iReset) + self.btnReset.grid(row=0, column=3) + + self.btnExit=Button(ButtonFrame, text= 'Exit',font=('arial', 12,'bold'), width=24, bd=4,command=iExit) + self.btnExit.grid(row=0, column=4) + + + + #=====================================Framedetail widgets========================================================== + + self.lblLabel = Label(FrameDetail,font=('arial',10,'bold'),pady=8, + text="Name of Tablets\t Reference No.\t Dossage\t No. of Tablets\t Lot\t Issued Date\t Expiry Date\ + \tDaily Dose\tStorage Adv.\tNHS Number\t Patient Name\t DOB\t Address",) + self.lblLabel.grid(row=0, column=0) + + + self.txtFrameDetail = Text(FrameDetail, font=('arial',12,'bold'),width=140,height=4, padx=2,pady=8) + self.txtFrameDetail.grid(row=1, column=0) + #====================================================================================================== + + + + + + + +if __name__ == '__main__': + main() + From 94d407efd4d5bba728a5ebe58002f4e7c77d46f1 Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Wed, 26 Dec 2018 12:47:44 +0100 Subject: [PATCH 2/6] Add files via upload --- library mangement system.py | 563 ++++++++++++++++++++++++++++++++++++ 1 file changed, 563 insertions(+) create mode 100644 library mangement system.py diff --git a/library mangement system.py b/library mangement system.py new file mode 100644 index 0000000..67a7a7a --- /dev/null +++ b/library mangement system.py @@ -0,0 +1,563 @@ +from tkinter import * +from tkinter import ttk +import random +from datetime import datetime +import tkinter.messagebox + + +class Library: + def __init__(self, root): + self.root = root + self.root.title("Library Management System") + self.root.geometry("1350x750+0+0") + self.root.configure(background="grey") + + + MType=StringVar() + Ref=StringVar() + Title=StringVar() + Firstname=StringVar() + Surname=StringVar() + Address1=StringVar() + Address2=StringVar() + PostCode=StringVar() + MobileNo=StringVar() + BookID=StringVar() + BookTitle=StringVar() + BookType=StringVar() + Author=StringVar() + DateBorrowed=StringVar() + DateDue=StringVar() + SellingPrice=StringVar() + LateReturnFine=StringVar() + DateOverDue=StringVar() + DaysOnLoan=StringVar() + Prescription=StringVar() + + def idelete(): + iReset() + self.txtDisplayR.delete("1.0",END) + + + + def iReset(): + MType.set("") + Ref.set("") + Title.set("") + Firstname.set("") + Surname.set("") + Address1.set("") + Address2.set("") + PostCode.set("") + MobileNo.set("") + BookID.set("") + BookTitle.set("") + BookType.set("") + Author.set("") + DateBorrowed.set("") + DateDue.set("") + SellingPrice.set("") + LateReturnFine.set("") + DateOverDue.set("") + DaysOnLoan.set("") + self.txtDisplayR.delete("1.0",END) + + + + + + def iExit(): + iExit = tkinter.messagebox.askyesno("Library Management System", "Confirm if you want to exit") + if iExit > 0: + root.destroy() + return + def iDisplayData(): + + self.txtFrameDetail.insert(END,"\t"+ MType.get()+"\t\t"+Ref.get()+"\t"+Title.get()+"\t"+ + Firstname.get() + "\t"+ Surname.get()+ "\t\t"+Address1.get() +"\t\t"+Address2.get() +"\t" + + PostCode.get() + "\t"+ BookTitle.get()+ "\t\t"+DateBorrowed.get() +"\t\t"+ DaysOnLoan.get() +"\n" ) + + def iReceipt(): + self.txtDisplayR.insert(END,'Member Type: \t\t' + MType.get() + "\n") + self.txtDisplayR.insert(END,'Ref No: \t\t' + Ref.get() + "\n") + self.txtDisplayR.insert(END,'Title: \t\t' + Title.get() + "\n") + self.txtDisplayR.insert(END,'Firstname: \t\t' + Firstname.get() + "\n") + self.txtDisplayR.insert(END,'Surname: \t\t' + Surname.get() + "\n") + self.txtDisplayR.insert(END,'Address 1: \t\t' + Address1.get() + "\n") + self.txtDisplayR.insert(END,'Address 2: \t\t' + Address2.get() + "\n") + self.txtDisplayR.insert(END,'Post Code: \t\t' + PostCode.get() + "\n") + self.txtDisplayR.insert(END,'Mobile No: \t\t' + MobileNo.get() + "\n") + self.txtDisplayR.insert(END,'Book ID: \t\t' + BookID.get() + "\n") + self.txtDisplayR.insert(END,'Book Title: \t\t' + BookTitle.get() + "\n") + self.txtDisplayR.insert(END,'Author: \t\t' + Author.get() + "\n") + self.txtDisplayR.insert(END,'Date Borrowed: \t\t' + DateBorrowed.get() + "\n") + + + + + + + + + + #=====================================frame===================================================================== + + MainFrame = Frame(self.root) + MainFrame.grid() + + + TitleFrame = Frame(MainFrame, width=1350, padx=20,bd=20, relief=RIDGE) + TitleFrame.pack(side=TOP) + + self.lblTitle = Label(TitleFrame,width=39,font=('arial',40,'bold'),text="\tLibrary Management Systems\t",padx=12) + self.lblTitle.grid() + + + ButtonFrame = Frame(MainFrame, width=1300,height=100, padx=20,bd=20, relief=RIDGE) + ButtonFrame.pack(side=BOTTOM) + + FrameDetail = Frame(MainFrame, width=1300,height=100, padx=20,bd=20, relief=RIDGE) + FrameDetail.pack(side=BOTTOM) + + DataFrame = Frame(MainFrame, width=1300,height=400, padx=20,bd=20, relief=RIDGE) + DataFrame.pack(side=BOTTOM) + + DataFrameLEFT = LabelFrame(DataFrame, width=800,height=300, padx=20,bd=10, relief=RIDGE + ,font=('arial',12,'bold'),text="Library Membership Info:",) + DataFrameLEFT.pack(side=LEFT) + + + DataFrameRIGHT = LabelFrame(DataFrame, width=450,height=300, padx=20,bd=10, relief=RIDGE + ,font=('arial',12,'bold'),text="Book Details:",) + DataFrameRIGHT.pack(side=RIGHT) + + #=====================================widgets===================================================================== + self.lblMemberType = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Member Type:", padx=2,pady=2) + self.lblMemberType.grid(row=0, column=0, sticky=W) + + self.cboMemberType = ttk.Combobox(DataFrameLEFT, font=('arial',12,'bold'), state='readonly',textvariable=MType, + width = 23) + self.cboMemberType['value']=('','Student','Lecturer','Admin Staff') + self.cboMemberType.current(0) + self.cboMemberType.grid(row=0, column=1) + + self.lblBookID = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Book ID:", padx=2,pady=2) + self.lblBookID.grid(row=0, column=2, sticky=W) + self.txtBookID = Entry(DataFrameLEFT, font=('arial',12,'bold') ,textvariable=BookID,width = 25) + self.txtBookID.grid(row=0, column=3) + + + self.lblRef = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Reference No:", padx=2,pady=2) + self.lblRef.grid(row=1, column=0, sticky=W) + self.txtRef = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Ref, width = 25) + self.txtRef.grid(row=1, column=1) + + + self.lblBookTitle = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Book Title:", padx=2,pady=2) + self.lblBookTitle.grid(row=1, column=2, sticky=W) + self.txtBookTitle = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=BookTitle,width = 25) + self.txtBookTitle.grid(row=1, column=3) + + self.lblTitle = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Title:", padx=2,pady=2) + self.lblTitle.grid(row=2, column=0, sticky=W) + + self.cboTitle = ttk.Combobox(DataFrameLEFT, font=('arial',12,'bold'), state='readonly',textvariable=Title, + width = 23) + self.cboTitle['value']=('','Mr','Miss','Mrs','Dr','Capt','Ms.','Engr') + self.cboTitle.current(0) + self.cboTitle.grid(row=2, column=1) + + + + self.lblAuthor = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Author:", padx=2,pady=2) + self.lblAuthor.grid(row=2, column=2, sticky=W) + self.txtAuthor = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Author, width = 25) + self.txtAuthor.grid(row=2, column=3) + + + self.lblFirstname = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Firstname:", padx=2,pady=2) + self.lblFirstname.grid(row=3, column=0, sticky=W) + self.txtFirstname = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=Firstname,width = 25) + self.txtFirstname.grid(row=3, column=1) + + + self.lblDateBorrowed = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Date Borrowed:", padx=2,pady=2) + self.lblDateBorrowed.grid(row=3, column=2, sticky=W) + self.txtDateBorrowed = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=DateBorrowed,width = 25) + self.txtDateBorrowed.grid(row=3, column=3) + + + self.lblSurname = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Surname:", padx=2,pady=2) + self.lblSurname.grid(row=4, column=0, sticky=W) + self.txtSurname = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=Surname,width = 25) + self.txtSurname.grid(row=4, column=1) + + #=====================================widgets===================================================================== + self.txtDisplayR = Text(DataFrameRIGHT, font=('arial',12,'bold'), width = 32, height=13,padx=8,pady=20) + self.txtDisplayR.grid(row=0, column=2) + #=====================================listbox===================================================================== + + scrollbar = Scrollbar(DataFrameRIGHT) + scrollbar.grid(row=0,column=1,sticky='ns') + + ListOfBooks = ['Cinderella','Game Design','Ancient Rome', 'Made In Africa','Sleeping Beauty','London','Nigeria', + 'Snow White', 'Shrek 3', 'London Street','I Love Lagos','Love Kenya','Hello India'] + + def SelectedBook(evt): + values=str(booklist.get(booklist.curselection())) + print (values) + w=values + + if (w == "Cinderella"): + BookID.set("ISBN 876567898") + BookTitle.set("God is King") + Author.set("Paul Parker") + + LateReturnFine.set("#1000") + SellingPrice.set("#4500") + DaysOnLoan.set(14) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=14) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + + elif (w == "Game Design"): + + BookID.set("ISBN 125875898") + BookTitle.set("God is King") + Author.set("Engr.A.U.Onwuka") + + LateReturnFine.set("#1000") + SellingPrice.set("#11800") + DaysOnLoan.set(10) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=10) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + + elif (w == "Ancient Rome"): + + BookID.set("ISBN 876567898") + BookTitle.set("God is King") + Author.set("Paul Parker") + + LateReturnFine.set("#1000") + SellingPrice.set("#8500") + DaysOnLoan.set(7) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=7) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Made in Africa"): + + BookID.set("ISBN 98765654567") + BookTitle.set("The Great Kingdom") + Author.set("Sunny Anthony") + + LateReturnFine.set("#1000") + SellingPrice.set("#9500") + DaysOnLoan.set(10) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=10) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Sleeping Beauty"): + + BookID.set("ISBN 6355222225") + BookTitle.set("The Greatest") + Author.set("Ayo Oamen") + + LateReturnFine.set("#1000") + SellingPrice.set("#9000") + DaysOnLoan.set(14) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=14) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "London"): + + BookID.set("ISBN 1562154856") + BookTitle.set("God is King") + Author.set("Daniel Oamen") + + LateReturnFine.set("#1000") + SellingPrice.set("#8500") + DaysOnLoan.set(7) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=7) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Nigeria"): + + BookID.set("ISBN 8736565544") + BookTitle.set("The Great Kingdom") + Author.set("Timothy Onwuka") + + LateReturnFine.set("#1000") + SellingPrice.set("#9500") + DaysOnLoan.set(10) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=10) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Snow White"): + + BookID.set("ISBN 545454524424") + BookTitle.set("Lion King") + Author.set("Dj Oamen") + + LateReturnFine.set("#1000") + SellingPrice.set("#14500") + DaysOnLoan.set(14) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=14) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Shreik 3"): + + BookID.set("ISBN 1259856565") + BookTitle.set("God is King") + Author.set("Dj Oamen") + + LateReturnFine.set("#1000") + SellingPrice.set("#8500") + DaysOnLoan.set(21) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=21) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "London Street"): + + BookID.set("ISBN 5215555228") + BookTitle.set("The Great Kingdom") + Author.set("Paul Parker") + + LateReturnFine.set("#1000") + SellingPrice.set("#9500") + DaysOnLoan.set(10) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=10) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "I LOve Lagos"): + + BookID.set("ISBN 1328546995") + BookTitle.set("The Great Kingdom") + Author.set("Paul Parker") + + LateReturnFine.set("#1000") + SellingPrice.set("#9500") + DaysOnLoan.set(21) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=21) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Love Kenya"): + + BookID.set("ISBN 88453551138") + BookTitle.set("The Beautiful Kingdom") + Author.set("Paul Parker") + + LateReturnFine.set("#1000") + SellingPrice.set("#10500") + DaysOnLoan.set(14) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=14) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + elif (w == "Hello India"): + + BookID.set("ISBN 734567659825") + BookTitle.set("God is King") + Author.set("Tom Pa") + + LateReturnFine.set("#1000") + SellingPrice.set("#8500") + DaysOnLoan.set(10) + iReceipt() + import datetime + + d1=datetime.date.today() + d2=datetime.timedelta(days=10) + d3 = (d1 + d2) + DateBorrowed.set(d1) + DateDue.set(d3) + DateOverDue.set("No") + + booklist = Listbox(DataFrameRIGHT, width=20, height=12,font=('times',12,'bold'),yscrollcommand=scrollbar.set) + booklist.bind('<>',SelectedBook) + booklist.grid(row=0,column=0,padx=8) + + scrollbar.config(command=booklist.yview) + + + for items in ListOfBooks: + booklist.insert(END,items) + + #=============================================================================================================== + + self.lblLabel = Label(FrameDetail,font=('arial',10,'bold'),pady=8, + text="Member Type\tReference No.\t Title\t Firstname\tSurname\t Address 1\t Address 2\ + \tPost Code\tBook Title\tDate Borrowed\tDays on Loan",) + self.lblLabel.grid(row=0, column=0) + + self.txtFrameDetail = Text(FrameDetail, font=('arial',12,'bold'), width = 141, height=4,padx=2,pady=4) + self.txtFrameDetail.grid(row=1, column=0) + + + + + + + + #=======================================buttons============================================================= + self.btnDisplayData=Button(ButtonFrame, text= 'Display Data',font=('arial', 12,'bold'), + width=30, bd=4,command=iDisplayData) + self.btnDisplayData.grid(row=0, column=1) + + self.btnDelete=Button(ButtonFrame, text= 'Delete',font=('arial', 12,'bold'), width=30, bd=5,command=idelete) + self.btnDelete.grid(row=0, column=2) + + self.btnReset=Button(ButtonFrame, text= 'Reset',font=('arial', 12,'bold'), width=30, bd=4,command=iReset) + self.btnReset.grid(row=0, column=3) + + self.btnExit=Button(ButtonFrame, text= 'Exit',font=('arial', 12,'bold'), width=30, bd=4,command=iExit) + self.btnExit.grid(row=0, column=4) + + #============================================================================================================ + + + self.lblDateDue = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Date Due:", padx=2,pady=2) + self.lblDateDue.grid(row=4, column=2, sticky=W) + self.txtDateDue = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=DateDue, width = 25) + self.txtDateDue.grid(row=4, column=3) + + + self.lblAddress1 = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Address1:", padx=2,pady=2) + self.lblAddress1.grid(row=5, column=0, sticky=W) + self.txtAddress1 = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Address1, width = 25) + self.txtAddress1.grid(row=5, column=1) + + + self.lblDaysOnLoan = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Days on Loan:", padx=2,pady=2) + self.lblDaysOnLoan.grid(row=5, column=2, sticky=W) + self.txtDaysOnLoan = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=DaysOnLoan,width = 25) + self.txtDaysOnLoan.grid(row=5, column=3) + + + self.lblAddress2 = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Address2:", padx=2,pady=2) + self.lblAddress2.grid(row=6, column=0, sticky=W) + self.txtAddress2 = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=Address2, width = 25) + self.txtAddress2.grid(row=6, column=1) + + + self.lblLateReturnFine = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Late Return Fine:", padx=2,pady=2) + self.lblLateReturnFine.grid(row=6, column=2, sticky=W) + self.txtLateReturnFine = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=LateReturnFine, width = 25) + self.txtLateReturnFine.grid(row=6, column=3) + + + self.lblPostCode = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Post Code:", padx=2,pady=2) + self.lblPostCode.grid(row=7, column=0, sticky=W) + self.txtPostCode = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=PostCode, width = 25) + self.txtPostCode.grid(row=7, column=1) + + + self.lblDateOverDue = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Date Over Due:", padx=2,pady=2) + self.lblDateOverDue.grid(row=7, column=2, sticky=W) + self.txtDateOverDue = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=DateOverDue, width = 25) + self.txtDateOverDue.grid(row=7, column=3) + + + self.lblMobileNo = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Mobile No:", padx=2,pady=2) + self.lblMobileNo.grid(row=8, column=0, sticky=W) + self.txtMobileNo = Entry(DataFrameLEFT, font=('arial',12,'bold'),textvariable=MobileNo, width = 25) + self.txtMobileNo.grid(row=8, column=1) + + + + self.lblSellingPrice = Label(DataFrameLEFT, font=('arial',12,'bold'), text="Selling Price:", padx=2,pady=2) + self.lblSellingPrice.grid(row=8, column=2, sticky=W) + self.txtSellingPrice = Entry(DataFrameLEFT, font=('arial',12,'bold'), textvariable=SellingPrice,width = 25) + self.txtSellingPrice.grid(row=8, column=3) + + + + + + + + + + + + + + + + +if __name__ =='__main__': + root = Tk() + application = Library(root) + root.mainloop() + From 0dc546658fe2aa8883f738870d9738b4d578cd66 Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Mon, 21 Jan 2019 15:08:58 +0100 Subject: [PATCH 3/6] Add files via upload --- temp converter.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 temp converter.py diff --git a/temp converter.py b/temp converter.py new file mode 100644 index 0000000..33eee03 --- /dev/null +++ b/temp converter.py @@ -0,0 +1,39 @@ +from tkinter import * +def Temperature_conversion(): + temp = int((var.get() - 32) * 5/9) + convert = str(temp) + " Celcius" + label2.config(text = convert) + +root =Tk() +root.title("Temperature Converter") +root.resizable(0,0) + +var = DoubleVar() + +label1 = Label(root, text = "Temperature Converter\nFahrenheit to Celcius",padx=16,pady=16,bd=16, + fg="#000000",font=('arial',30,'bold'),bg="bisque1", relief= 'raise', + width=20, height=3) +label1.pack() + +slider = Scale(root, variable=var, from_=-40, to =300, length=500, tickinterval=20, orient=HORIZONTAL) +slider.pack(anchor = CENTER) + + + +label2 = Label(root,padx=16,pady=16,bd=16,fg="#000000",font=('arial',30,'bold'), + bg="bisque1", relief= 'sunk', + width=20, height=3) +label2.pack() + + +label3 = Label(root, text = " ") +label3.pack() + +button = Button(root, text="convert to celsius",padx=16,pady=16,bd=16, width = 20, + font=('arial',20, 'bold'),command=Temperature_conversion) + + + +button.pack(anchor = CENTER) + +root.mainloop() From c347ae0560a8977cd3ae2b38dae30aa8a12a6a19 Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Sun, 15 Nov 2020 12:48:09 -0800 Subject: [PATCH 4/6] Add files via upload --- crudjango/crud/admin.py | 6 ++++++ crudjango/crud/apps.py | 5 +++++ crudjango/crud/migrations/0001_initial.py | 24 +++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 crudjango/crud/admin.py create mode 100644 crudjango/crud/apps.py create mode 100644 crudjango/crud/migrations/0001_initial.py diff --git a/crudjango/crud/admin.py b/crudjango/crud/admin.py new file mode 100644 index 0000000..771cedd --- /dev/null +++ b/crudjango/crud/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin +from .models import Member + +# Register your models here. + +admin.site.register(Member) \ No newline at end of file diff --git a/crudjango/crud/apps.py b/crudjango/crud/apps.py new file mode 100644 index 0000000..74e2fb7 --- /dev/null +++ b/crudjango/crud/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class CrudConfig(AppConfig): + name = 'crud' diff --git a/crudjango/crud/migrations/0001_initial.py b/crudjango/crud/migrations/0001_initial.py new file mode 100644 index 0000000..24682ea --- /dev/null +++ b/crudjango/crud/migrations/0001_initial.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.1 on 2017-08-24 01:43 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Member', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('firstname', models.CharField(max_length=40)), + ('lastname', models.CharField(max_length=40)), + ], + ), + ] From 5158445ff961f29787037fb44fb806d3209cceab Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Mon, 16 Nov 2020 11:04:19 -0800 Subject: [PATCH 5/6] Add files via upload --- db.sqlite3 | Bin 0 -> 143360 bytes manage.py | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 db.sqlite3 create mode 100644 manage.py diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..137eeee4654100f05a87575a8cc8c599b8b53783 GIT binary patch literal 143360 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 W009sH0T2KI5C8!X009ti68JwKdMXnD literal 0 HcmV?d00001 diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..21026fb --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings") + try: + from django.core.management import execute_from_command_line + except ImportError: + # The above import may fail for some other reason. Ensure that the + # issue is really that Django is missing to avoid masking other + # exceptions on Python 2. + try: + import django + except ImportError: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) + raise + execute_from_command_line(sys.argv) From 6e54ed8e43a4fb43ca44050eae78cf39e7f6a56b Mon Sep 17 00:00:00 2001 From: urchaug <35527045+urchaug@users.noreply.github.com> Date: Mon, 16 Nov 2020 11:08:13 -0800 Subject: [PATCH 6/6] Add files via upload --- settings.py | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++ urls.py | 25 +++++++++++ views.py | 4 ++ wsgi.py | 16 +++++++ 4 files changed, 166 insertions(+) create mode 100644 settings.py create mode 100644 urls.py create mode 100644 views.py create mode 100644 wsgi.py diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..d80d157 --- /dev/null +++ b/settings.py @@ -0,0 +1,121 @@ +""" +Django settings for web project. + +Generated by 'django-admin startproject' using Django 1.11.1. + +For more information on this file, see +https://docs.djangoproject.com/en/1.11/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.11/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '*qe*#hh4vvxky14)xx%m3#q%^w8e_7@y)0nmwo+r!7ne*_b4em' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'crud', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'web.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'web.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.11/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/1.11/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.11/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/urls.py b/urls.py new file mode 100644 index 0000000..b699132 --- /dev/null +++ b/urls.py @@ -0,0 +1,25 @@ +"""web URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/1.11/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.conf.urls import url, include + 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) +""" +from django.conf.urls import include,url +from django.contrib import admin +from . import views + + +urlpatterns = [ + url(r'^$', views.index_redirect, name='index_redirect'), + url(r'^crud/', include('crud.urls')), + url(r'^admin/', admin.site.urls), +] diff --git a/views.py b/views.py new file mode 100644 index 0000000..121dd36 --- /dev/null +++ b/views.py @@ -0,0 +1,4 @@ +from django.shortcuts import redirect + +def index_redirect(request): + return redirect('/crud/') \ No newline at end of file diff --git a/wsgi.py b/wsgi.py new file mode 100644 index 0000000..7f6cfee --- /dev/null +++ b/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for web project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings") + +application = get_wsgi_application()