Exemple #1
0
def route_vote_answer(question_id, answer_id):
    if 'user_name' in session:
        up_or_down = request.form
        data_manager.vote_answer(answer_id, int(up_or_down['up_or_down']))
        return redirect('/question/' + question_id)
    else:
        return redirect('/')
def vote_answers(vote_method, answer_id):
    answer = data_manager.get_answer_by_answer_id(answer_id)
    question_id = answer["question_id"]

    user_name = session["user"]
    user = data_manager.get_user_id_by_name(user_name)
    user.update({"user_name": user_name, "vote_method": vote_method})

    if data_manager.check_if_user_voted_on_answer(user_name, answer_id):
        result = data_manager.check_if_user_voted_on_answer(
            user_name, answer_id)
        voted = data_manager.delete_vote_on_answer_from_votes_db(
            result, vote_method)
        if voted:
            data_manager.vote_answer(vote_method, answer_id)

            author = data_manager.get_author_by_answer_id(
                answer_id)["user_name"]
            author_repu = data_manager.get_reputation(author)
            new_repu = data_manager.annul_calc_reputation(
                "answer", vote_method, author_repu)
            data_manager.update_user_reputation(author, new_repu)
        return redirect(f'/questions/{question_id}')
    else:
        author = data_manager.get_author_by_answer_id(answer_id)["user_name"]
        author_repu = data_manager.get_reputation(author)
        new_repu = data_manager.calculate_reputation("answer", vote_method,
                                                     author_repu)
        data_manager.update_user_reputation(author, new_repu)

        data_manager.create_vote_on_answer_in_votes_db(answer_id, user)
        data_manager.vote_answer(vote_method, answer_id)
        return redirect(url_for("manage_questions", question_id=question_id))
Exemple #3
0
def vote(question_id, answer_id):
    question_id = int(question_id)
    answer_id = int(answer_id)
    if answer_id == -1:
        votes = data_manager.get_vote_number(question_id)
        try:
            votes = votes + 1
        except TypeError:
            votes = 1
        data_manager.vote(votes, question_id)
        return redirect(url_for('route_question', question_id=question_id))
    else:
        votes = data_manager.get_vote_number_answer(question_id, answer_id)
        try:
            votes = votes + 1
        except TypeError:
            votes = 1
        data_manager.vote_answer(votes, question_id, answer_id)
        return redirect(url_for('route_question', question_id=question_id))
Exemple #4
0
def route_answer_vote_down(answer_id):
    global update_views
    update_views = False
    data_manager.vote_answer(answer_id, 'vote_down')
    return redirect(request.referrer)
Exemple #5
0
def vote_answer(answer_id, vote):
    rep_num = 10 if vote == 'vote-up' else -2
    util.update_reputation('answer', answer_id, rep_num)
    data_manager.vote_answer(answer_id, vote)
    question_id = data_manager.get_question_id_by_answer_id(answer_id)
    return redirect(url_for('route_question', question_id=question_id))