This commit is contained in:
2025-12-15 00:45:45 +07:00
16 changed files with 278 additions and 274 deletions
+22 -17
View File
@@ -2,52 +2,57 @@ import tkinter as tk
from tkinter import messagebox
from database import connect
# Pastikan import ini sesuai
from admin_menu import AdminPage
from pembeli_menu import PembeliPage
from kasir import KasirPage
from pemilik import PemilikPage
from waiter_dashboard import WaiterPage
class LoginPage(tk.Frame):
def __init__(self, parent, controller):
super().__init__(parent)
self.controller = controller
# Center Content
center_frame = tk.Frame(self)
center_frame.place(relx=0.5, rely=0.5, anchor="center")
tk.Label(self, text="LOGIN SYSTEM", font=("Arial", 20, "bold")).pack(pady=40)
tk.Label(center_frame, text="LOGIN CAFE", font=("Arial", 20, "bold")).pack(pady=20)
frame_login = tk.Frame(self)
frame_login.pack()
tk.Label(center_frame, text="Username").pack(anchor="w")
self.user = tk.Entry(center_frame, width=30)
tk.Label(frame_login, text="Username:").pack()
self.user = tk.Entry(frame_login)
self.user.pack(pady=5)
tk.Label(center_frame, text="Password").pack(anchor="w")
self.passw = tk.Entry(center_frame, show="*", width=30)
tk.Label(frame_login, text="Password:").pack()
self.passw = tk.Entry(frame_login, show="*")
self.passw.pack(pady=5)
tk.Button(center_frame, text="Login", bg="#4CAF50", fg="white", width=20, command=self.login).pack(pady=20)
tk.Button(frame_login, text="LOGIN", command=self.login, width=20, bg="#2196F3", fg="white").pack(pady=20)
def login(self):
username = self.user.get()
password = self.passw.get()
u = self.user.get()
p = self.passw.get()
db = connect()
cur = db.cursor()
cur.execute("SELECT role FROM users WHERE username=? AND password=?", (username, password))
cur.execute("SELECT role FROM users WHERE username=? AND password=?", (u, p))
res = cur.fetchone()
db.close()
if not res:
messagebox.showerror("Error", "Username/Password salah!")
messagebox.showerror("Gagal", "Username/Password salah!")
return
role = res[0]
role = res[0]
# Reset input
self.user.delete(0, tk.END)
self.passw.delete(0, tk.END)
# Arahkan sesuai Role (Nama Class harus sama dengan di main.py)
# Redirect sesuai Role
if role == "admin":
self.controller.show_frame("AdminPage")
elif role == "pembeli":
self.controller.show_frame("PembeliMenu")
self.controller.show_frame("PembeliPage")
elif role == "kasir":
self.controller.show_frame("KasirPage")
elif role == "pemilik":