def main_menu(self): text_menu = ( ["1", "Daftar karyawan"], ["2", "Tambah karyawan"], ["3", "Cari karyawan"], ["4", "Ubah detail karyawan"], ["5", "Hapus karyawan"], ["0", "Menu utama"], ) print_table("Menu Karyawan", ["No", "Deskripsi"], text_menu) choice = int(input("> ")) if choice == 0: return elif choice == 1: self.list_employee(no_input=True) elif choice == 2: self.add_employee() elif choice == 3: self.find_employee() elif choice == 4: self.update_employee() elif choice == 5: self.delete_employee() else: print("Perintah tidak ditemukan")
def list_customers(self, no_input=None): customers = self.get_customers() column = [i.title() for i in customers[0].keys()] rows = [list(i.values()) for i in customers] print_table("Daftar Pelanggan", column, rows) if no_input: self.back_to_menu
def list_employee(self, no_input=None): admins = self.get_admins() column = [i.title() for i in admins[0].keys()] rows = [list(i.values()) for i in admins] print_table("Daftar Karyawan", column, rows) if no_input: self.back_to_menu
def owner_view(self): try: bills = self.get_bills(approved=2) column = [i.title() for i in bills[0].keys()] rows = [list(i.values()) for i in bills] print_table("Catatan Transaksi", column, rows) except Exception: print("Transaksi kosong") self.back_to_menu
def mybills(self, session): user_id = session["id"] bills = self.get_bill_user(user_id) column = [i.title() for i in bills[0].keys()] rows = [list(i.values()) for i in bills] print_table("Daftar Tagihan", column, rows) print( "Catatan:\nSilahkan menghubungi admin untuk mengkonfirmasi pembayaran." ) self.back_to_menu
def find_room(self): headline("Cari Kamar") _id = input("Masukkan id kamar: ") room = self.find(_id) column = [i.title() for i in room.keys()] rows = [[i for i in room.values()]] if len(room) > 0: print_table("Kamar ditemukan", column, rows) else: print("Kamar tidak ditemukan") self.back_to_menu
def list_rooms(self, session=None): rooms = self.get_rooms() column = [i.title() for i in rooms[0].keys()] rows = [list(i.values()) for i in rooms] print_table("Daftar Kamar", column, rows) if session and session["is_admin"] == 0: input( "Status:\n1 = Dipesan\n0 = Kosong\nTekan Enter untuk kembali ke Menu" ) return self.back_to_menu
def find_customer(self): headline("Cari Pelanggan") username = input("Masukkan username: "******"User ditemukan", column, rows) else: print("User tidak ditemukan") self.back_to_menu
def run(self): while True: if not self.__session: column = ["No", "Perintah"] rows = [["1", "Login"], ["2", "Register"], ["0", "Keluar"]] print_table("Selamat datang di MyHotel", column, rows) choice = int(input("> ")) if choice == 0: exit() elif choice == 1: self.login() elif choice == 2: self.register() else: self.main_menu()
def main_menu(self): text_menu = ( ["1", "Daftar Pelanggan"], ["2", "Cari Pelanggan"], ["3", "Hapus Pelanggan"], ["0", "Menu utama"], ) print_table("Menu Pelanggan", ["No", "Deskripsi"], text_menu) choice = int(input("> ")) if choice == 0: return elif choice == 1: self.list_customers(no_input=True) elif choice == 2: self.find_customer() elif choice == 3: self.delete_customer() else: print("Perintah tidak ditemukan")
def admin_view(self): try: bills = self.get_bills(approved=0) column = [i.title() for i in bills[0].keys()] rows = [list(i.values()) for i in bills] print_table("Catatan Transaksi", column, rows) headline("Konfirmasi pembayaran") resi_id = input("Masukkan Id Resi: ") agree = input( "Apakah anda yakin untuk mengkonfirmasi pembayaran tersebut? (Y/N)" ) if agree.lower() == "y": self.change_status(resi_id) print("Pembayaran telah dikonfirmasi, terimakasih!") else: print("Konfirmasi pembayaran dibatalkan!") except Exception: print("Transaksi kosong") self.back_to_menu
def main_menu(self): text_menu = ( ["1", "Daftar Kamar"], ["2", "Tambah Kamar"], ["3", "Cari Kamar"], ["4", "Hapus Kamar"], ["0", "Menu utama"], ) print_table("Menu Kamar", ["No", "Deskripsi"], text_menu) choice = int(input("> ")) if choice == 0: return elif choice == 1: self.list_rooms() elif choice == 2: self.add_room() elif choice == 3: self.find_room() elif choice == 4: self.delete_room() else: print("Perintah tidak ditemukan")
def checkout_room(self, session): customer_id = session["id"] try: list_resi = self.get_reservation_user(customer_id) column = [i.title() for i in list_resi[0].keys()] rows = [list(i.values()) for i in list_resi] print_table("Reservasi", column, rows) resi_id = input("Masukkan No Reservasi: ") resi = self.get_reservation(resi_id) if not resi["check_out"]: # catat tanggal check out self.check_out(resi_id, customer_id) # get new resi details new_resi = self.get_reservation(resi_id) check_in, check_out, room_id = ( new_resi["check_in"], new_resi["check_out"], new_resi["room_id"], ) day = count_days(check_in, check_out) if day == 0: price = (day + 1) * 300 else: price = day * 300 BillModel().add_bill(resi_id, price) RoomModel().change_status(room_id, 0) print("Checkout berhasil") print( "Tagihan telah ditambahkan, silahkan cek di menu transaksi." ) else: print("Anda telah check out sebelumnya terima kasih :)") except Exception as err: print("Error:", err) self.back_to_menu
def main_menu(self): colomn = ["No", "Perintah", "Deskripsi"] menu_owner = ( ["1", "Karyawan", "Manajemen karyawan"], ["2", "Pelanggan", "Manajemen pelanggan"], ["3", "Kamar", "Manajemen Kamar"], ["4", "Transaksi", "Catatan transaksi"], ["0", "Keluar", "-"], ) menu_admin = ( ["1", "Pelanggan", "Manajemen pelanggan"], ["2", "Kamar", "Manajemen Kamar"], ["3", "Transaksi", "Konfirmasi pembayaran"], ["0", "Keluar", "-"], ) menu_user = ( ["1", "Kamar", "Lihat daftar kamar yang tersedia"], ["2", "Check in", "Pesan kamar disini"], ["3", "Check out", "Check out kamar disini."], ["4", "Transaksi", "Riwayat transaksi dan tagihan"], ["0", "Keluar", "-"], ) if self.__session["is_admin"] == 0: text = menu_user elif self.__session["is_admin"] == 1: text = menu_admin else: text = menu_owner print_table("Main Menu", colomn, text) choice = int(input("> ")) # owner if self.__session["is_admin"] == 2: if choice == 0: exit() elif choice == 1: EmployeesView().main_menu() elif choice == 2: CustomersView().main_menu() elif choice == 3: RoomsView().main_menu() elif choice == 4: BillsView().owner_view() # karyawan elif self.__session["is_admin"] == 1: if choice == 0: exit() elif choice == 1: CustomersView().main_menu() elif choice == 2: RoomsView().main_menu() elif choice == 3: BillsView().admin_view() # Pelanggan else: if choice == 0: exit() elif choice == 1: RoomsView().list_rooms(session=self.__session) elif choice == 2: ReservationsView().book_room(session=self.__session) elif choice == 3: ReservationsView().checkout_room(session=self.__session) elif choice == 4: BillsView().mybills(session=self.__session)