Beispiel #1
0
 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")
Beispiel #2
0
 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
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 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
Beispiel #6
0
 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
Beispiel #7
0
 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
Beispiel #8
0
 def find_customer(self):
     headline("Cari Pelanggan")
     username = input("Masukkan username: "******"User ditemukan", column, rows)
     else:
         print("User tidak ditemukan")
     self.back_to_menu
Beispiel #9
0
 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()
Beispiel #10
0
 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")
Beispiel #11
0
 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
Beispiel #12
0
 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")
Beispiel #13
0
    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
Beispiel #14
0
    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)