class ClientWindow(Client, BaseWidget):
    def __init__(self, isCreating):
        Client.__init__(self, '', '')
        BaseWidget.__init__(self, 'Client')
        self.__isCreating = isCreating
        self._idField = ControlText("Id")
        if not isCreating:
            self._idField.enabled = False
        self._nameField = ControlText("Name")
        self._buttonField = ControlButton('Add a new client')
        self._buttonField.value = self._updateAction
        self._label = ControlLabel("")

    def getData(self, id, name):
        self._idField.value = id
        self._nameField.value = name

    def _updateAction(self):
        self.id = self._idField.value
        self.name = self._nameField.value
        self._label.hide()
        try:
            if self.parent is not None:
                if self.__isCreating:
                    self.parent.addClient(str(self.id), self.name)

                else:
                    self.parent.updateClient(str(self.id), self.name)
        except Exception as e:
            self._label.show()
            self._label.value = str(e)
class RentalWindow(Rental, BaseWidget):
    def __init__(self, isCreating):
        Rental.__init__(self, '', '', '', '', '', '')
        BaseWidget.__init__(self, 'Rental')
        self.__isCreating = isCreating
        self._idField = ControlText("Id")
        self._clientIdField = ControlText("Client Id")
        self._movieIdField = ControlText("Movie Id")
        self._dueDateField = ControlText("Due Date")
        self._rentedDateField = ControlText("Rented Date")
        self._returnedDateField = ControlText("Returned Date")
        self._buttonField = ControlButton('Rent a new Movie')
        self._buttonField.value = self._updateAction
        self._rentedDateField.enabled = False
        self._returnedDateField.enabled = False
        self._label = ControlLabel("")
        if not isCreating:
            self._idField.enabled = False
            self._clientIdField.enabled = False
            self._movieIdField.enabled = False
            self._dueDateField.enabled = False
            self._returnedDateField.enabled = False
            self._rentedDateField.enabled = False
            self._buttonField.value = self.returnMovie
            self._buttonField.name = "Return movie"

    def returnMovie(self):
        self.parent.returnAMovie(self._idField.value)

    def getData(self, id, movieId, clientId, rentedDate, dueDate, returnedDate):
        self._idField.value = id
        self._movieIdField.value = movieId
        self._clientIdField.value = clientId
        self._rentedDateField.value = rentedDate
        self._dueDateField.value = dueDate
        self._returnedDateField.value = returnedDate
        if str(self._returnedDateField) != '-1':
            self._buttonField.enabled = False

    def _updateAction(self):
        self.id = self._idField.value
        self.movieId = self._movieIdField.value
        self.clientId = self._clientIdField.value
        self.returnedDate = self._returnedDateField.value
        self.rentedDate = self._rentedDateField.value
        self.dueDate = self._dueDateField.value
        self._label.hide()
        try:
            if self.parent is not None:
                if self.__isCreating:
                    self.parent.addRental(str(self.id), self.movieId, self.clientId,
                                          datetime.datetime.today().strftime('%Y-%m-%d'), self.dueDate,
                                          '-1')

                else:
                    self.parent.returnAMovie(self.id)
        except Exception as e:
            self._label.show()
            self._label.value = str(e)
示例#3
0
class MovieWindow(Movie, BaseWidget):
    def __init__(self, isCreating):
        Movie.__init__(self, '', '', '', '')
        BaseWidget.__init__(self, 'Movie')
        self.__isCreating = isCreating
        self._idField = ControlText("Id")
        self._titleField = ControlText("Title")
        self._descriptionField = ControlTextArea("Description")
        self._genre = ControlCombo("Genre")
        for i in MOVIE_GENRE:
            self._genre += i
        self._buttonField = ControlButton('Add a new movie')
        self._buttonField.value = self._updateAction
        if not isCreating:
            self._idField.enabled = False
            self._buttonField.name = "Update movie"
        self._label = ControlLabel("")

    def getData(self, id, title, description, genre):
        self._idField.value = id
        self._titleField.value = title
        self._descriptionField.value = description
        self._genre.value = genre

    def _updateAction(self):
        self.id = self._idField.value
        self.description = self._descriptionField.value
        self.genre = self._genre.value
        self.title = self._titleField.value
        self._label.hide()
        try:
            if self.parent is not None:
                if self.__isCreating:
                    self.parent.addMovie(str(self.id), self.title,
                                         self.description, self.genre)

                else:
                    self.parent.updateMovie(str(self.id), self.title,
                                            self.description, self.genre)
        except Exception as e:
            self._label.show()
            self._label.value = str(e)