Ejemplo n.º 1
0
 def accept(self, reason=None, force=False):
     if not force:
         collisions = get_prebooking_collisions(self.booking)
         if collisions:
             collision_data = reservation_occurrences_schema.dump(collisions)
             raise ExpectedError('prebooking_collision', data=collision_data)
     self.booking.accept(session.user, reason)
Ejemplo n.º 2
0
 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))
Ejemplo n.º 3
0
 def _process(self):
     q = (ReservationOccurrence.query.filter(
         ReservationOccurrence.start_dt > utc_to_server(now_utc()),
         ReservationOccurrence.is_valid,
         db.or_(Reservation.booked_for_user == session.user,
                Reservation.created_by_user == session.user),
         ~Room.is_deleted).join(Reservation).join(Room).order_by(
             ReservationOccurrence.start_dt.asc()).limit(5))
     return jsonify(reservation_occurrences_schema.dump(q))
Ejemplo n.º 4
0
 def _process(self):
     q = (ReservationOccurrence.query
          .filter(ReservationOccurrence.start_dt > utc_to_server(now_utc()),
                  ReservationOccurrence.is_valid,
                  db.or_(Reservation.booked_for_user == session.user,
                         Reservation.created_by_user == session.user),
                  ~Room.is_deleted)
          .join(Reservation)
          .join(Room)
          .order_by(ReservationOccurrence.start_dt.asc())
          .limit(5))
     return jsonify(reservation_occurrences_schema.dump(q))
Ejemplo n.º 5
0
def serialize_occurrences(data):
    from indico.modules.rb.schemas import reservation_occurrences_schema
    return {
        dt.isoformat(): reservation_occurrences_schema.dump(data)
        for dt, data in data.items()
    }
Ejemplo n.º 6
0
def serialize_occurrences(data):
    from indico.modules.rb.schemas import (reservation_occurrences_schema)
    return {dt.isoformat(): reservation_occurrences_schema.dump(data) for dt, data in data.iteritems()}
Ejemplo n.º 7
0
 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))