def set_status(request, slug): foirequest = get_object_or_404(FoiRequest, slug=slug) if not request.user.is_authenticated() or request.user != foirequest.user: return render_403(request) if not foirequest.status_settable: return render_400(request) form = get_status_form_class(foirequest)(request.POST) if form.is_valid(): foirequest.set_status(form.cleaned_data) messages.add_message(request, messages.SUCCESS, _('Status of request has been updated.')) else: messages.add_message(request, messages.ERROR, _('Invalid value for form submission!')) return render_400(request) return HttpResponseRedirect(foirequest.get_absolute_url())
def status_form_klass(self): from foirequest.forms import get_status_form_class return get_status_form_class(self)