Example #1
0
class RHRoomBookingSearchBookings(RHRoomBookingBase):
    menu_item = 'search_bookings'
    show_blockings = True
    CSRF_ENABLED = False

    def _get_form_data(self):
        return request.form

    def _filter_displayed_rooms(self, rooms, occurrences):
        return rooms

    def _process_args(self):
        self._rooms = sorted(Room.find_all(is_active=True),
                             key=lambda r: natural_sort_key(r.full_name))
        self._form_data = self._get_form_data()
        self._form = BookingSearchForm(self._form_data, csrf_enabled=False)
        self._form.room_ids.choices = [(r.id, None) for r in self._rooms]

    def _is_submitted(self):
        return self._form.is_submitted()

    def _process(self):
        form = self._form
        if self._is_submitted() and form.validate():
            if form.data.get('is_only_my_rooms'):
                form.room_ids.data = [
                    room.id for room in Room.find_all()
                    if room.is_owned_by(session.user)
                ]

            occurrences = ReservationOccurrence.find_with_filters(
                form.data, session.user).all()
            rooms = self._filter_displayed_rooms(
                [r for r in self._rooms if r.id in set(form.room_ids.data)],
                occurrences)
            return WPRoomBookingSearchBookingsResults(
                self,
                rooms=rooms,
                occurrences=occurrences,
                show_blockings=self.show_blockings,
                start_dt=form.start_dt.data,
                end_dt=form.end_dt.data,
                form=form,
                form_data=self._form_data,
                menu_item=self.menu_item).display()

        my_rooms = [r.id for r in Room.get_owned_by(session.user)]
        return WPRoomBookingSearchBookings(self,
                                           errors=form.error_list,
                                           rooms=self._rooms,
                                           my_rooms=my_rooms,
                                           form=form).display()
Example #2
0
class RHRoomBookingSearchBookings(RHRoomBookingBase):
    menu_item = "bookingListSearch"
    show_blockings = True

    def _get_form_data(self):
        return request.form

    def _filter_displayed_rooms(self, rooms, occurrences):
        return rooms

    def _checkParams(self):
        self._rooms = sorted(Room.find_all(is_active=True), key=lambda r: natural_sort_key(r.full_name))
        self._form_data = self._get_form_data()
        self._form = BookingSearchForm(self._form_data, csrf_enabled=False)
        self._form.room_ids.choices = [(r.id, None) for r in self._rooms]

    def _is_submitted(self):
        return self._form.is_submitted()

    def _process(self):
        form = self._form
        if self._is_submitted() and form.validate():
            if form.data.get("is_only_my_rooms"):
                form.room_ids.data = [room.id for room in Room.find_all() if room.is_owned_by(session.user)]

            occurrences = ReservationOccurrence.find_with_filters(form.data, session.user).all()
            rooms = self._filter_displayed_rooms(
                [r for r in self._rooms if r.id in set(form.room_ids.data)], occurrences
            )
            return WPRoomBookingSearchBookingsResults(
                self,
                rooms=rooms,
                occurrences=occurrences,
                show_blockings=self.show_blockings,
                start_dt=form.start_dt.data,
                end_dt=form.end_dt.data,
                form=form,
                form_data=self._form_data,
                menu_item=self.menu_item,
            ).display()

        my_rooms = [r.id for r in Room.get_owned_by(session.user)]
        return WPRoomBookingSearchBookings(
            self, errors=form.error_list, rooms=self._rooms, my_rooms=my_rooms, form=form
        ).display()
Example #3
0
 def _checkParams(self):
     self._rooms = sorted(Room.find_all(is_active=True), key=lambda r: natural_sort_key(r.full_name))
     self._form_data = self._get_form_data()
     self._form = BookingSearchForm(self._form_data)
     self._form.room_ids.choices = [(r.id, None) for r in self._rooms]
Example #4
0
 def _checkParams(self):
     self._rooms = sorted(Room.find_all(is_active=True), key=lambda r: natural_sort_key(r.full_name))
     self._form_data = self._get_form_data()
     self._form = BookingSearchForm(self._form_data, csrf_enabled=False)
     self._form.room_ids.choices = [(r.id, None) for r in self._rooms]
Example #5
0
 def _process_args(self):
     self._rooms = sorted(Room.find_all(is_active=True), key=lambda r: natural_sort_key(r.full_name))
     self._form_data = self._get_form_data()
     self._form = BookingSearchForm(self._form_data, csrf_enabled=False)
     self._form.room_ids.choices = [(r.id, None) for r in self._rooms]