Example #1
0
def save_reservation(desk_id, period, user):
    r = Reservation()
    r.user = user
    r.desk = Desk.objects.select_for_update().get(pk = desk_id)
    period.save()
    period.final_price = period.get_final_price()
    period.save()
    r.period_id = period.id
    for resv in Reservation.objects.select_for_update().filter(desk__id=desk_id):
        if resv.period.intersects_with(period):
            raise Exception("Te biurko zostało już zarezerwowane przez kogoś innego")
    r.save()
    log.debug("rezerwacja: ")
    log.debug(r)