Пример #1
0
def view_question(request, id):
    tags = Tag.objects.usage_for_model(Question, counts=True)
    tags.sort(key=operator.attrgetter('count'), reverse=True)
    question = get_object_or_404(Question, id=int(id))
    user_ip = request.META['REMOTE_ADDR']

    try:
        vista = View.objects.get(question=question, ip=user_ip)
    except:
        vista = View()
        vista.question = question
        vista.ip = user_ip
        vista.save()
        question.views = question.views + 1
        question.save()

    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = Answer()
            answer.question = question
            answer.answer = form.cleaned_data['answer']
            answer.fecha = datetime.datetime.now()
            answer.user = request.user
            answer.save()
            #notify_user(question, answer)
            thread.start_new_thread(notify_user, (question, answer))
            return HttpResponseRedirect('/foro/questions/%s/?ansid=%s' % (question.id, answer.id))
    else:
        form = AnswerForm()

    ansid = request.GET.get('ansid', '')

    return render_to_response('askbotmini/view_question.html', RequestContext(request, locals()))
Пример #2
0
def edit_answer(request, id):
    tags = Tag.objects.usage_for_model(Question, counts=True)
    tags.sort(key=operator.attrgetter('count'), reverse=True)
    answer = get_object_or_404(Answer, id=id)

    if answer.user != request.user:
        return HttpResponse('<h2>Acceso Denegado</h2>')

    if request.method == 'POST':
        form = AnswerForm(request.POST, instance=answer)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/foro/questions/%s/?ansid=%s' % (answer.question.id, answer.id))
    else:
        form = AnswerForm(instance=answer)

    return render_to_response('askbotmini/edit_answer.html', RequestContext(request, locals()))