def _process(self, start_date, end_date, room_ids, my_bookings, show_inactive, text): booked_for_user = session.user if my_bookings else None if end_date is None: end_date = start_date calendar = get_room_calendar(start_date, end_date, room_ids, booked_for_user=booked_for_user, include_inactive=show_inactive, text=text) return jsonify(serialize_availability(calendar).values())
def _process(self, start_date, end_date, room_ids, my_bookings, show_inactive): booked_for_user = session.user if my_bookings else None if end_date is None: end_date = start_date calendar = get_room_calendar(start_date, end_date, room_ids, booked_for_user=booked_for_user, include_inactive=show_inactive) return jsonify(serialize_availability(calendar).values())
def _process(self, args): new_booking_data = { 'booking_reason': args['booking_reason'], 'booked_for_user': args.get('booked_for_user', self.booking.booked_for_user), 'start_dt': args['start_dt'], 'end_dt': args['end_dt'], 'repeat_frequency': args['repeat_frequency'], 'repeat_interval': args['repeat_interval'], } additional_booking_attrs = {} if not should_split_booking(self.booking, new_booking_data): has_slot_changed = not has_same_slots(self.booking, new_booking_data) room = self.booking.room self.booking.modify(new_booking_data, session.user) if (has_slot_changed and not room.can_book(session.user, allow_admin=False) and room.can_prebook(session.user, allow_admin=False) and self.booking.is_accepted): self.booking.reset_approval(session.user) else: new_booking = split_booking(self.booking, new_booking_data) additional_booking_attrs['new_booking_id'] = new_booking.id db.session.flush() today = date.today() calendar = get_room_calendar(args['start_dt'] or today, args['end_dt'] or today, [args['room_id']]) return jsonify(booking=dict(serialize_booking_details(self.booking), **additional_booking_attrs), room_calendar=serialize_availability(calendar).values())
def _process(self, args): new_booking_data = { 'booking_reason': args['booking_reason'], 'booked_for_user': args.get('booked_for_user', self.booking.booked_for_user), 'start_dt': args['start_dt'], 'end_dt': args['end_dt'], 'repeat_frequency': args['repeat_frequency'], 'repeat_interval': args['repeat_interval'], } additional_booking_attrs = {} if not should_split_booking(self.booking, new_booking_data): has_date_changed = not has_same_dates(self.booking, new_booking_data) room = self.booking.room self.booking.modify(new_booking_data, session.user) if (has_date_changed and not room.can_book(session.user, allow_admin=False) and room.can_prebook(session.user, allow_admin=False) and self.booking.is_accepted): self.booking.reset_approval(session.user) else: new_booking = split_booking(self.booking, new_booking_data) additional_booking_attrs['new_booking_id'] = new_booking.id db.session.flush() today = date.today() calendar = get_room_calendar(args['start_dt'] or today, args['end_dt'] or today, [args['room_id']]) return jsonify(booking=dict(serialize_booking_details(self.booking), **additional_booking_attrs), room_calendar=serialize_availability(calendar).values())