Esempio n. 1
0
def ask(request):
    """
    Ask POST-only handler
    """
    data = {'questionform': None}

    # check if POST
    if request.method != 'POST':
        return HttpResponseForbidden()

    # вытаскиваем теги из поля
    tag_list = request.POST.get('tags', '').split(',')

    if '' in tag_list:
        tag_list.remove('')

    form = QuestionForm(request.POST)
    data['questionform'] = form
    data['form_tags'] = tag_list

    if form.is_valid():
        user = request.user
        question_user = QuestionsUser.objects.filter(user=user)

        # check if questionsUser exists
        if len(question_user) == 0:
            return HttpResponseForbidden()

        # create new question
        title = form.cleaned_data['title']
        content = form.cleaned_data['content']

        q = Question(author=question_user[0], title=title, content=content)

        q.save()

        # adding tags after save to have id
        q.add_tags(tag_list)

        return json({'status': 'ok', 'url': q.get_absolute_url()})

    return json({'status': 'error', 'html':
                render_to_string("ask.html", RequestContext(request, data))})