def close(request, id):#close question """view to initiate and process question close """ question = get_object_or_404(Question, id=id) if not auth.can_close_question(request.user, question): return HttpResponse('Permission denied.') if request.method == 'POST': form = CloseForm(request.POST) if form.is_valid(): reason = form.cleaned_data['reason'] question.closed = True question.closed_by = request.user question.closed_at = datetime.datetime.now() question.close_reason = reason question.save() return HttpResponseRedirect(question.get_absolute_url()) else: form = CloseForm() return render_to_response('close.html', { 'form' : form, 'question' : question, }, context_instance=RequestContext(request))
def can_close_question(user, question): return auth.can_close_question(user, question)