def _process(self): if self.action == 'reject': self.reject() elif self.action == 'cancel': self.occurrence.cancel(session.user) return jsonify(occurrence=reservation_occurrences_schema.dump( self.occurrence, many=False))
def _process(self): q = (ReservationOccurrence.query.filter( ReservationOccurrence.start_dt > utc_to_server(now_utc()), db.or_(Reservation.booked_for_user == session.user, Reservation.created_by_user == session.user)).join( Reservation).order_by( ReservationOccurrence.start_dt.asc()).limit(5)) return jsonify(reservation_occurrences_schema.dump(q).data)
def _process(self): q = (ReservationOccurrence.query .filter(ReservationOccurrence.start_dt > utc_to_server(now_utc()), db.or_( Reservation.booked_for_user == session.user, Reservation.created_by_user == session.user)) .join(Reservation) .order_by(ReservationOccurrence.start_dt.asc()) .limit(5)) return jsonify(reservation_occurrences_schema.dump(q).data)
def _serialize_booking_details(booking): attributes = reservation_details_schema.dump(booking).data date_range, occurrences = get_booking_occurrences(booking) date_range = [dt.isoformat() for dt in date_range] booking_details = dict(attributes) occurrences_by_type = dict(bookings={}, cancellations={}, rejections={}, other_bookings={}) booking_details['occurrences'] = occurrences_by_type booking_details['date_range'] = date_range for dt, [occ] in occurrences.iteritems(): serialized_occ = reservation_occurrences_schema.dump([occ]).data if occ.is_cancelled: occurrences_by_type['cancellations'][dt.isoformat()] = serialized_occ elif occ.is_rejected: occurrences_by_type['rejections'][dt.isoformat()] = serialized_occ occurrences_by_type['bookings'][dt.isoformat()] = serialized_occ if occ.is_valid else [] start_dt = datetime.combine(booking.start_dt, time.min) end_dt = datetime.combine(booking.end_dt, time.max) occurrences_by_type['other_bookings'] = get_room_bookings(booking.room, start_dt, end_dt, skip_booking_id=booking.id) return booking_details
def serialize_occurrences(data): return { dt.isoformat(): reservation_occurrences_schema.dump(data) for dt, data in data.iteritems() }
def serialize_occurrences(data): return {dt.isoformat(): reservation_occurrences_schema.dump(data).data for dt, data in data.iteritems()}