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))
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))