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()
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()
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]
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 _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]