Exemplo n.º 1
0
def remove_from_database(item, list):
    """
    Function used to remove items from database,
    as input takes item and list it's in
    returns a list
    """
    list.remove(item)
    write_to_database(list)
    return list
Exemplo n.º 2
0
def add_to_database(item, list):
    """
    Function used to add items to database,
    as input takes item and list it's in
    returns a list
    """
    list.append(item)
    write_to_database(list)
    return list
Exemplo n.º 3
0
 def _setup_car_list(self, cars, info):
     """
     setups car list depending on purpose it's used for
     """
     if info != 'search':
         cars = self.check_reservations()
     if self.cars:
         self.cars_dict = write_to_database(self.cars)
     self.default_text()
     self.action = info
     self.ui.pages.setCurrentIndex(1)
     self.ui.carList.clear()
     if self.action == "overdue":
         cars = overdue_cars(self.cars)
     if self.action == "reserved":
         cars = reserved_cars(self.cars)
     if self.action == 'availableRent':
         cars = not_reserved_cars(self.cars)
     if cars:
         for car in cars:
             item = QListWidgetItem(str(car))
             item.car = car
             item.car_index = self.cars.index(car)
             item.car_dict = self.cars_dict[item.car_index]
             self.ui.carList.addItem(item)
     self.ui.carList.itemClicked.connect(self._setup_car_info)
     if self.action == "modify":
         self.ui.volumeDatabase.setEnabled(False)
         self.ui.trailerDatabase.setEnabled(False)
         self.ui.loadDatabase.setEnabled(False)
         self.ui.carInfo_background.setCurrentIndex(2)
         self.ui.removeDatabase.setEnabled(False)
         self.ui.editDatabase.setEnabled(False)
     else:
         self.ui.carInfo_background.setCurrentIndex(1)
Exemplo n.º 4
0
 def remove_from_database(self, item):
     """
     graphical representation of removing from database,
     supported by functions from database.py and car_rental_io
     """
     if item:
         car = item.car
         self.cars = remove_from_database(car, self.cars)
     if self.cars:
         self.cars_dict = write_to_database(self.cars)
     self._setup_car_list(self.cars, "modify")
     self.clicked = None
Exemplo n.º 5
0
 def check_reservations(self):
     """
     reloads items in the list to check if some of them expired,
     removes expired reservations
     """
     cars = []
     for car in self.cars:
         if car.reservation:
             if car.reservation.check_expiration() == "EXPIRED":
                 car.reservation = None
         cars.append(car)
     self.cars_dict = write_to_database(cars)
     self.cars = read_from_database()
     return self.cars
Exemplo n.º 6
0
 def _reserve_rent(self, item, name):
     """
     used to set reservation or rent depending on input
     """
     beginning_date = self.ui.date_begin.text()
     end_date = self.ui.date_end.text()
     person_info = self.ui.name_details.text()
     if name == 'rent':
         try:
             rent = Rent(beginning_date, end_date, person_info)
         except InvalidDateRange:
             dialog = Dialog('daterange', self)
             dialog.exec_()
         except InvalidDate:
             dialog = Dialog('date', self)
             dialog.exec_()
         if beginning_date == '' and end_date == '':
             self.cars[item.car_index].rent = None
         else:
             self.cars[item.car_index].rent = rent
     if name == 'reservation':
         info = ''
         try:
             reservation = Reservation(beginning_date, end_date, person_info)
             info = self.cars[item.car_index].add_reservation(reservation)
         except InvalidDateRange:
             dialog = Dialog('daterange', self)
             dialog.exec_()
         except InvalidDate:
             dialog = Dialog('date', self)
             dialog.exec_()
         if info == "Cannot reserve today":
             self.ui.reserve_button.setText("Cannot reserve today")
             dialog = Dialog('reserve', self)
             dialog.exec_()
             self.ui.reserve_button.setEnabled(False)
             return
     self.cars_dict = write_to_database(self.cars)
     item.car_dict = self.cars_dict[item.car_index]
     item.car = self.cars[item.car_index]
     self._setup_car_info(item)
     if self.action == 'overdue':
         self._setup_car_list(self.cars, self.action)
     self.ui.date_begin.setEnabled(False)
     self.ui.date_end.setEnabled(False)
     self.ui.name_details.setEnabled(False)
     self.ui.reserve_button.setEnabled(False)
     self.ui.rent_button.setEnabled(False)
Exemplo n.º 7
0
 def _remove_reservation_rent(self, item, name):
     """
     used to remove reservation or rent depending on input
     """
     if name == 'reservation':
         self.cars[item.car_index].reservation = None
     else:
         self.cars[item.car_index].rent = None
     self.cars_dict = write_to_database(self.cars)
     item.car_dict = self.cars_dict[item.car_index]
     item.car = self.cars[item.car_index]
     self._setup_car_info(item)
     if name == 'reservation':
         self.ui.RemoveReservation.setEnabled(False)
     else:
         self.ui.RemoveRent.setEnabled(False)
     if self.action == 'overdue':
         self._setup_car_list(self.cars, self.action)
Exemplo n.º 8
0
def csv_to_database(p):
    """ Load csv with labels to database """
    write_to_database(p)
    message("Pushed CSV to database", p)