Exemple #1
0
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())
Exemple #2
0
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)