Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- from tkinter import *
- import os
- fonts = 100
- class user():
- def __init__(self):
- self.username = False
- self.password = False
- self.rank = False
- self.shop = False
- def signup(self):
- global root
- global nameE
- global pwordE
- global pwordE1
- global rank
- root = Tk()
- rank = IntVar()
- root.title('Signup')
- intruction = Label(root, text='Please Enter new Credidentials\n', font=fonts)
- intruction.grid(row=0, column=0, sticky=E)
- nameL = Label(root, text='New Username: ', font=fonts)
- pwordL = Label(root, text='New Password: ', font=fonts)
- pwordL1 = Label(root, text='Confirm Password: ', font=fonts)
- nameL.grid(row=1, column=0, sticky=W)
- pwordL.grid(row=2, column=0, sticky=W)
- pwordL1.grid(row=3, column=0, sticky=W)
- nameE = Entry(root, font=fonts)
- pwordE = Entry(root, show='*', font=fonts)
- pwordE1 = Entry(root, show='*', font=fonts)
- nameE.grid(row=1, column=1)
- pwordE.grid(row=2, column=1)
- pwordE1.grid(row=3, column=1)
- if os.path.exists('login'):
- c1 = Radiobutton(root, text='Boss', value=1, variable=rank, font=fonts)
- c2 = Radiobutton(root, text='Staff', value=2, variable=rank, font=fonts)
- c1.grid(row=4, column=0)
- c2.grid(row=4, column=1)
- signupButton = Button(root, text='Signup', command=self.write_file_signup)
- signupButton.grid(columnspan=2, sticky=W)
- root.mainloop()
- def write_file_signup(self):
- if pwordE.get() == pwordE1.get():
- self.username = nameE.get()
- self.password = pwordE.get()
- if not os.path.exists('login'):
- self.rank = 'Master'
- else:
- if rank.get() == 1:
- self.rank = 'Boss'
- elif rank.get() == 2:
- self.rank = 'Staff'
- else:
- self.Invalid_sign_up()
- return
- with open('login') as file:
- data = file.readlines()[0].split('$')
- data = data[:len(data)-1]
- for each in data:
- uname, pword, _ = each.split('|')
- if nameE.get() == uname:
- self.Invalid_sign_up()
- return
- with open('login', 'a+') as file:
- file.writelines(nameE.get()+'|'+pwordE.get()+'|'+self.rank+'$')
- file.close()
- roots = Tk()
- roots.title(':D')
- roots.geometry('150x50')
- rlbl = Label(roots, text='\nSigned up')
- rlbl.pack()
- roots.destroy()
- root.destroy()
- else:
- self.Invalid_sign_up()
- def Invalid_sign_up(self):
- roots = Tk()
- roots.title('D:')
- roots.geometry('150x50')
- rlbl = Label(roots, text='\nInvalid Sign up')
- rlbl.pack()
- roots.mainloop()
- def login(self):
- global roota
- global nameEL
- global pwordEL
- roota = Tk()
- roota.title('Login')
- intruction = Label(roota, text='Please Login\n', font=fonts)
- intruction.grid(sticky=E)
- nameL = Label(roota, text='Username: ', font=fonts)
- pwordL = Label(roota, text='Password: ', font=fonts)
- nameL.grid(row=1, sticky=W)
- pwordL.grid(row=2, sticky=W)
- nameEL = Entry(roota, font=fonts)
- pwordEL = Entry(roota, show='*', font=fonts)
- nameEL.grid(row=1, column=1)
- pwordEL.grid(row=2, column=1)
- login = Button(roota, text='Login', command=self.CheckLogin, font=fonts)
- login.grid(columnspan=2, sticky=W)
- roota.mainloop()
- def CheckLogin(self):
- s_login = False
- with open('login') as file:
- data = file.readlines()[0].split('$')
- data = data[:len(data)-1]
- for each in data:
- uname, pword, rank = each.split('|')
- if nameEL.get() == uname and pwordEL.get() == pword:
- self.username = nameEL.get()
- self.password = pwordEL.get()
- self.rank = rank
- roots = Tk()
- roots.title(':D')
- roots.geometry('150x50')
- rlbl = Label(roots, text='\nLogged In')
- rlbl.pack()
- s_login = True
- roota.destroy()
- break
- if not s_login:
- roots = Tk()
- roots.title('D:')
- roots.geometry('150x50')
- rlbl = Label(roots, text='\nInvalid Login')
- rlbl.pack()
- roots.mainloop()
- class shop():
- def __init__(self, number):
- self.number_product = 1
- self.number = number
- self.product = []
- self.load_product()
- if not os.path.exists('shop'+str(self.number)):
- os.mkdir('shop'+str(self.number))
- def display_product(self):
- c = 0
- blank = ' '
- root = Tk()
- product0 = Label(root, text=blank+'หมายเลข'+blank, font=fonts)
- product0.grid(row=c, column=0)
- product1 = Label(root, text=blank+'ชื่อ'+blank, font=fonts)
- product1.grid(row=c, column=1)
- product2 = Label(root, text=blank+'ต้นทุน'+blank, font=fonts)
- product2.grid(row=c, column=2)
- product3 = Label(root, text=blank+'ราคาขาย'+blank, font=fonts)
- product3.grid(row=c, column=3)
- for i in self.product:
- c += 1
- product0 = Label(root, text=blank+str(c)+blank, font=fonts)
- product0.grid(row=c, column=0)
- product1 = Label(root, text=blank+i['name']+blank, font=fonts)
- product1.grid(row=c, column=1)
- product2 = Label(root, text=blank+i['cost']+blank, font=fonts)
- product2.grid(row=c, column=2)
- product3 = Label(root, text=blank+i['price']+blank, font=fonts)
- product3.grid(row=c, column=3)
- root.mainloop()
- def load_product(self):
- if os.path.exists('shop'+str(self.number)+'/product'):
- with open('shop'+str(self.number)+'/product', 'r+') as file:
- self.product = json.load(file)
- def add_product(self):
- global root
- global nameE
- global costE
- global priceE
- root = Tk()
- root.title('Login')
- intruction = Label(root, text='Product\n', font=fonts)
- intruction.grid(sticky=E)
- name = Label(root, text='Name: ', font=fonts)
- cost = Label(root, text='Cost: ', font=fonts)
- price = Label(root, text='Price: ', font=fonts)
- name.grid(row=1, sticky=W)
- cost.grid(row=2, sticky=W)
- price.grid(row=3, sticky=W)
- nameE = Entry(root, font=fonts)
- costE = Entry(root, font=fonts)
- priceE = Entry(root, font=fonts)
- nameE.grid(row=1, column=1)
- costE.grid(row=2, column=1)
- priceE.grid(row=3, column=1)
- submit = Button(root, text='submit', command=self.add_product_, font=fonts)
- submit.grid(columnspan=2, sticky=W)
- root.mainloop()
- def add_product_(self):
- product = {
- "name" : nameE.get(),
- "cost" : costE.get(),
- "price" : priceE.get()
- }
- self.product.append(product)
- with open('shop'+str(self.number)+'/product', 'w+') as file:
- json.dump(self.product, file)
- root.destroy()
- a = user()
- a.login()
- print(a.username)
- print(a.password)
- print(a.rank)
- print(a.shop)
- #s = shop(1)
- #s.add_product()
- #s.display_product()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement