Exemplo n.º 1
0
def manage_reservation(request, reservation_id):
    context = __base_context(request)
    instance = Reservation.objects.prefetch_related('stuff').get(pk=reservation_id)
    if instance.is_completed():
        return HttpResponseRedirect(reverse(return_form, args=[instance.id]))
    item_obj = instance.stuff
    if 'edit' in request.POST:
        edit_form = ReservationEditionForm(request.POST, instance=instance)
        if edit_form.save_instance(item=item_obj, user=request.user):
            return HttpResponseRedirect('%s?%s' % (reverse(item, args=[item_obj.id]),
                                                   urlencode({'msg': u'Zapisano zmiany',
                                                              'msg_class': 'alert-success'})))
    else:
        edit_form = ReservationForm(instance=instance)
    calendar = Calendar(request.REQUEST.get('year', instance.start.year),
                        request.REQUEST.get('month', instance.start.month),
                        request.user)
    reservations = item_obj.reservations_in_month(calendar.date.year, calendar.date.month)
    calendar.apply_reservations(reservations)
    context.update(dict(
        item=item_obj,
        month=calendar,
        reservations=reservations,
        reservation=instance,
        current='stuff',
        edit_form=edit_form
    ))
    template = loader.get_template('manage_reservation.html')

    return HttpResponse(template.render(context))
Exemplo n.º 2
0
def item(request, item_id):
    context = __base_context(request)
    item_obj = Stuff.objects.get(id=item_id)
    if 'create' in request.POST:
        create_form = ReservationForm(request.POST)
        if create_form.save_instance(item=item_obj, user=request.user):
            return HttpResponseRedirect(reverse(item, args=[item_obj.id]))
        else:
            create_form.display = True
    else:
        instance = Reservation(start=_today(0, 0), end=_today(23,59))
        create_form = ReservationForm(instance=instance)
    calendar = Calendar(request.REQUEST.get('year', None),
                        request.REQUEST.get('month', None),
                        request.user)
    reservations = item_obj.reservations_in_month(calendar.date.year, calendar.date.month)
    calendar.apply_reservations(reservations)
    context.update(dict(
        item=item_obj,
        month=calendar,
        reservations=reservations,
        current='stuff',
        create_form=create_form
    ))
    template = loader.get_template('item.html')

    return HttpResponse(template.render(context))
Exemplo n.º 3
0
 def reservations_in_month(self, year, month):
     start = datetime.datetime(year, month, 1)
     end = Calendar.add_month(year, month, 1)
     return self.reservation_set.exclude(end__lt=start).exclude(start__gt=end)