def close(request, id):#close question """view to initiate and process question close """ question = get_object_or_404(models.Question, id=id) try: if request.method == 'POST': form = forms.CloseForm(request.POST) if form.is_valid(): reason = form.cleaned_data['reason'] request.user.close_question( question = question, reason = reason ) return HttpResponseRedirect(question.get_absolute_url()) else: request.user.assert_can_close_question(question) form = forms.CloseForm() data = { 'question': question, 'form': form, } return render_into_skin('close.html', data, request) except exceptions.PermissionDenied, e: request.user.message_set.create(message = unicode(e)) return HttpResponseRedirect(question.get_absolute_url())
def close(request, id): # close question """view to initiate and process question close """ question = get_object_or_404(models.Post, post_type='question', id=id) try: if request.method == 'POST': form = forms.CloseForm(request.POST) if form.is_valid(): reason = form.cleaned_data['reason'] request.user.close_question(question=question, reason=reason) return redirect(question) else: request.user.assert_can_close_question(question) form = forms.CloseForm() data = {'question': question, 'form': form} return render(request, 'close.jinja', data) except exceptions.PermissionDenied as e: traceback.print_exc() # request.user.message_set.create(message=force_text(e)) django_messages.info(request, force_text(e)) return redirect(question)