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)), + ], + ), + ] diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000..137eeee Binary files /dev/null and b/db.sqlite3 differ 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() + 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) 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() + 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/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() 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()