コード例 #1
0
def question_page(request, id):
    try:
        question = Question.objects.get(id=id)
    except Question.DoesNotExist:
        raise Http404

    try:
        answers = question.answer_set.all()
    except Answer.DoesNotExist:
        answers = None

    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save(request.user)
            url = '/question/' + str(id) + '/'
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm({'question': id})

    return render(request, 'question_page.html', {
        'question': question,
        'answers': answers,
        'form': form,
    })
コード例 #2
0
def QuestAnswerAdd(request, name):

    context = RequestContext(request)
    n = name
    add = 0
    answer_form = AnswerForm()
    er = []

    quest = get_object_or_404(Question, id=n)

    if request.method == 'POST':
        answer_form = AnswerForm(data=request.POST)
        if answer_form.is_valid():
            answer = answer_form.save(commit=False)
            answer._setAdd(request.user)
            #quest._setActiveFalse()
            answer._setLink(quest.link)
            answer._setActiveTrue()
            answer._setQuest(quest)
            answer.save()
            add = 1
        else:
            er.append(answer_form.errors)

    dict = {
        'template': template(),
        'footer_dc': footer_dc(),
        'answer_form': answer_form,
        'er': er,
        'add': add,
        'quest': quest
    }

    return render_to_response((template() + '/questsions/addAnswer.html'),
                              dict, context)
コード例 #3
0
ファイル: views.py プロジェクト: dmitriy-solovyov/web-server
def answer_add(request):
	 if request.method == "POST":
		 form = AnswerForm(request.POST)
		 if form.is_valid():
			 answer = form.save(request)	 
			 url = reverse('question-with-answers', args=(answer.question.id,))
			 return HttpResponseRedirect(url)
	 else:
		form = AnswerForm()
	 return HttpResponseRedirect('/')
コード例 #4
0
def answer(request):
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            answer.author = request.user
            answer.save()
            url = answer.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'answer.html', {'form': form})
コード例 #5
0
def answer_form(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            url = answer.get_url()
            return HttpResponsePermanentRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'ask/answer_form.html', {
        'form': form,
    })
コード例 #6
0
ファイル: views.py プロジェクト: Bushische/stepic16
def answer_add(request):
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answ = form.save()
            print 'try get url from answer %s' % (answ)
            url = answ.question.get_url()
            print 'redirect to %s' % (url)
            return HttpResponseRedirect(url)
        print 'answer_add if but not valid'
    else:
        form = AnswerForm()
        print 'answer add else'
    return Http404
コード例 #7
0
ファイル: views.py プロジェクト: NUTS-COON/web
def question(request, num):
    question = get_object_or_404(Question, id=num)
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form = form.save()
            url = form.get_url()

            return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': question.id})

    return render(request, 'question.html', {
        'question': question,
        'answers': form,
    })
コード例 #8
0
def answer(request) :
	if request.method == "POST" :
		form = AnswerForm(request.POST)
		if form.is_valid():
			answer = form.save()
			url = '/question/' + form.question
        return HttpResponseRedirect(url)
コード例 #9
0
ファイル: views.py プロジェクト: AlexStek/stepic-web
def newanswer(request):
	url = '/question/'
	if request.method == "POST":
		newanswer = AnswerForm(request.POST)
		if newanswer.is_valid():
			url = url + str(newanswer.save()) + '/'
	return HttpResponseRedirect(url) 
コード例 #10
0
ファイル: views.py プロジェクト: AlexStek/stepic-web
def questpage(request, slug):
	question = get_object_or_404(Question, pk=slug)
	return render(request, 'quest.html',{
		'question': question,
		'answers': Answer.objects.filter(question=slug).order_by('-added_ad')[:],
		'newanswer': AnswerForm({'question': int(slug), 'author': request.user}),
	},)
コード例 #11
0
def answer(request):
    form = AnswerForm(request.POST)
    form._user = request.user
    if form.is_valid():
        answer = form.save()
        url = answer.get_question_url()
        return HttpResponseRedirect(url)
コード例 #12
0
def question_detail_page(qid, subject):
    """ Show detail on question and all answers / if Post, handle answer """
    form = AnswerForm()

    question = Question.query.get_or_404(qid)
    answers = db.session.query(Answer).filter_by(questionID=question.id).all()

    if form.validate_on_submit():
        # handle answer form
        answer = Answer(
            content=form.answer.data,
            authorID=g.user.id,
            questionID=question.id,
            # upvotes=1
        )
        db.session.add(answer)
        db.session.commit()

        question.answered = True
        db.session.add(question)
        db.session.commit()

        return redirect(f'/q/{subject}/{qid}')

    return render_template('board/question-detail.html',
                           question=question,
                           answers=answers,
                           form=form)
コード例 #13
0
ファイル: views.py プロジェクト: akhudavets/pylearning
def edit_question(question_id=-1):
    form = NewQuestionForm(request.form)
    #answerzip = zip(form.answers, form.validities)
    answers = []
    if request.method == 'POST' and form.validate_on_submit():
        for answer in form.answers:
            answers.append(
                Answer(text=answer.answer.data,
                       is_correct=answer.is_correct.data))

        question = Question.query.get(question_id)
        question.text = form.question.data
        Answer.query.filter(Answer.question_id == question.id).delete()
        question.answers = answers
        db.session.add(question)
        db.session.commit()

        return redirect(url_for('topic_questions', topic_id=question.topic.id))

    question = Question.query.get(question_id)
    for i in range(2):
        form.answers.pop_entry()

    form.question.data = question.text
    for answer in question.answers:
        answer_form = AnswerForm()
        answer_form.answer = answer.text
        answer_form.is_correct = answer.is_correct
        form.answers.append_entry(answer_form)

    return render_template('question.html', title='New Question', form=form)
コード例 #14
0
ファイル: views.py プロジェクト: Radicis/asktag
def create_answer(request, article_id):
    a = Article.objects.get(id=article_id)

    if request.POST:
        f = AnswerForm(request.POST)
        if f.is_valid():
            c = f.save(commit=False)
            c.pub_date = timezone.now()
            c.related_article = a
            c.posted_by = request.user
            c.save()
            a.num_answers += 1
            a.answers.add(c)
            a.save()

            return HttpResponseRedirect('/get/%s' % article_id)
    else:
        f = CommentForm()

    args = {}
    args.update(csrf(request))
    args['article'] = a
    args['form'] = f

    return render(request, 'add_comment.html', args)
コード例 #15
0
ファイル: views.py プロジェクト: dbr0vskyi/django_test
def add_answer(request):
    query = QueryDict(request.POST.urlencode(), mutable=True)
    query.__setitem__('author', str(request.user.id))
    form = AnswerForm(query)
    if form.is_valid():
        answer = form.save()
        url = answer.get_question_url()
        return HttpResponseRedirect(url)
コード例 #16
0
ファイル: views.py プロジェクト: dbr0vskyi/django_test
def full_question(request, id):
    question = get_object_or_404(Question, id=id)
    form = AnswerForm(initial={'question': id, 'author': request.user.id})
    return render(request, 'question.html', {
        'question': question,
        'answers': Answer.objects.get_answers(question.id),
        'form': form,
    })
コード例 #17
0
def add_answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            answer = form.save()
            return HttpResponseRedirect(answer.get_url())
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
コード例 #18
0
def question(request, id):
    question = get_object_or_404(Question, id=id)
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            answer.author = request.user
            answer.save()
            url = question.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': question.id})
    return render(request, 'question.html', {
        'question': question,
        'answers': question.answer_set.all(),
        'form': form
    })
コード例 #19
0
def qpool_add_answer(request, id):
    form = AnswerForm()
    question = get_object_or_404(Question, pk=id)
    if request.method == 'POST':
        answer = AnswerForm(request.POST, instance=question)
        if answer.is_valid():
            answer.save(id=question)
            return redirect('question_edit', id=question.id)
        else:
            form = answer

    return render_to_response('cpanel/add_answer.html', {
        'form': form,
        'question': question,
        'module': 'qpool'
    },
                              context_instance=RequestContext(request))
コード例 #20
0
def question_details(request, qid, *args, **kwargs):
    question = get_object_or_404(Question, id=qid)
    form = AnswerForm(initial={'question': qid})
    form._user = request.user
    return render(request, 'question_details.html', {
        'question': question,
        'form': form
        })
コード例 #21
0
def chapter(number):
    form = AnswerForm()

    if number == 0:
        return render_template('preface.html')

    chapterFileName = 'chapter-{number}.html'

    return render_template(chapterFileName.format(number=number), form=form)
コード例 #22
0
ファイル: views.py プロジェクト: YNCHacks/Qanda
def answer(questionid):
    form = AnswerForm()
    question = Question.objects.get_or_404(id=questionid)
    if form.validate_on_submit():
        question.answer = form.answer.data
        question.save()
        flash("Your answer has been saved.")
        return redirect(url_for("index"))
    return render_template("answer.html", form=form, question=question)
コード例 #23
0
ファイル: views.py プロジェクト: mISCLETI/stepic_web_project
def question_detail(request, pk):
    qs = get_object_or_404(Question, id=pk)
    answers = qs.answer_set.all()
    form = AnswerForm(initial={'question': str(pk)})
    return render(request, 'detail.html', {
        'question': qs,
        'answers': answers,
        'form': form,
    })
コード例 #24
0
def answer_question(request):
    form = AnswerForm(request.POST)
    form._user = request.user
    if form.is_valid():
        answer = form.save()
        url = answer.question.get_url()
        return HttpResponseRedirect(url)
    else:
        return HttpResponseBadRequest()
コード例 #25
0
ファイル: views.py プロジェクト: mISCLETI/stepic_web_project
def question(request, pk_question):
    try:
        gs = Question.objects.get(id=pk_question)
    except Question.DoesNotExist:
        raise Http404

    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            _ = form.save()
            redirect_url = gs.get_url()
            return HttpResponseRedirect(redirect_url)
    else:
        form = AnswerForm(initial={'question': gs.id})

    return render(
        request, 'question.html',
        {'question': gs, 'form': form})
コード例 #26
0
ファイル: app.py プロジェクト: arrinn/TestsForum
def questions():
    filter_form = FilterForm()
    creator = request.args.get('creator', None)
    text = None
    if request.method == 'POST' and filter_form.validate_on_submit():
        creator = filter_form.creator.data if filter_form.creator.data else None
        text = filter_form.text.data if filter_form.text.data else None

    return render_template('questions.html', questions=get_questions_list(creator, text, status='Active'),
                           form=AnswerForm(), current_user=current_user.username, filter_form=filter_form)
コード例 #27
0
def question_answers(request, *args, **kwargs):
    question_id = args[0]
    question = get_object_or_404(Question, pk=question_id)
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            url = question.get_url()
            return HttpResponseRedirect(url)
        else:
            return HttpResponse('OK')
    else:
        form = AnswerForm(initial={'question': question_id})
        answers = Answer.objects.filter(question=question).all()
        return render(request, 'qa/question.html', {
            'question': question,
            'answers': answers,
            'form': form
        })
コード例 #28
0
ファイル: views.py プロジェクト: aledyad/stepic
def question_details(request, q_id):
    question = get_object_or_404(Question, pk=q_id)
    answers = question.answer_set.all

    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            form.cleaned_data['author'] = request.user
            form.cleaned_data['question'] = question
            answer = form.save()
            url = answer.question.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm({'question': q_id})
    return render(request, 'question.html', {
        'question': question,
        'answers': answers,
        'form': form
    })
コード例 #29
0
ファイル: views.py プロジェクト: erion143/web_tech
def post_details(request, slug=0, *args, **kwargs):
    if request.method == 'POST':
        add_answer(request)
    question = get_object_or_404(Question, id=slug)
    answers = Answer.objects.filter(question_id=question.id)
    form = AnswerForm(initial={'question': question.id})
    return render(request, 'one_post.html',
                  {'post': question,
                   'answers': answers[:],
                   'form': form,}
                  )
コード例 #30
0
def puzzle_call_in_answer(request, puzzle_id):
    puzzle = Puzzle.objects.get(id=puzzle_id)
    if request.method == 'POST':
        form = AnswerForm(request.POST, request.FILES)
        if form.is_valid():
            handle_puzzle_answer(puzzle, form.cleaned_data['answer'],
                                 form.cleaned_data['phone'])
            return redirect(
                reverse('puzzles.views.puzzle_info', args=[puzzle_id]))
    else:
        callback_phone = Config.objects.get().callback_phone
        form = AnswerForm(initial={'phone': callback_phone})
        if callback_phone:
            form.fields['phone'].widget = forms.HiddenInput()
    return render_to_response(
        'puzzles/puzzle-call-in-answer.html',
        puzzle_context(request, {
            'form': form,
            'puzzle': puzzle
        }))