Example #1
0
def route_question(question_id):
    question = data_handler.get_data_by_id(question_id, 'question')[0]
    if request.method == "GET" and not request.args.get("answer_id"):
        question["view_number"] = int(question["view_number"]) + 1
        data_handler.edit_row('question', question)

    answer_id_for_comment = request.args.get("answer_id")
    comment_to_question = request.args.get("comment_to_question")

    answers = data_handler.get_answers_by_qid(question_id)
    comments = data_handler.get_comments_by_question(question)

    if request.args.get("answer_to_edit"):
        answer_to_edit = data_handler.get_data_by_id(
            str(request.args.get("answer_to_edit")), "answer")[0]
    else:
        answer_to_edit = {}
    comment_to_edit = dict(request.form)
    user_data = {}
    if 'username' in request.cookies:
        username = request.cookies.get('username')
        user_data = data_handler.get_data_by_username(username)[0]

    return render_template("question.html",
                           question=question,
                           answers=answers,
                           comments=comments,
                           answer_id=answer_id_for_comment,
                           comment_to_question=comment_to_question,
                           comment_to_edit=comment_to_edit,
                           answer_to_edit=answer_to_edit,
                           user_data=user_data)
Example #2
0
def route_list_user_info():
    if 'username' not in request.cookies:
        return redirect(url_for('route_list'))
    users_data = data_handler.get_all_data('public.user')
    username = request.cookies.get('username')
    cookie_for_user = data_handler.get_data_by_username(username)[0]

    return render_template('user_list_attributes.html',
                           users_data=users_data,
                           cookie_for_user=cookie_for_user)
Example #3
0
def route_registration():
    if request.method == 'POST':

        username = request.form.get('username')
        if data_handler.get_data_by_username(username):
            return render_template('signup.html',
                                   usernametaken=True,
                                   registration=True)
        password = hash_password(request.form.get('password'))
        registration_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        data_handler.add_new_user(username, password, registration_date)

        user_id = str(data_handler.get_data_by_username(username)[0]["id"])

        response = make_response(redirect(url_for('route_list')))
        response.set_cookie('user_id', user_id)
        response.set_cookie('username', username)
        return response

    return render_template('signup.html', registration=True)
Example #4
0
def cookie_insertion(username):
    redirect_to_index = redirect(url_for('route_list'))
    response = make_response(redirect_to_index)
    if 'wrongpassword' in request.cookies:
        response.set_cookie('wrongpassword', expires=0)
    if 'usernotfound' in request.cookies:
        response.set_cookie('usernotfound', expires=0)

    user_id = str(data_handler.get_data_by_username(username)[0]["id"])
    response.set_cookie('user_id', user_id)
    response.set_cookie('username', username)
    return response
Example #5
0
def route_profile():
    if 'username' not in request.cookies:
        return redirect(url_for('route_list'))
    username = request.cookies.get('username')
    user_data = data_handler.get_data_by_username(username)[0]
    questions_of_user = data_handler.get_user_activity_by_userid(
        user_data.get('id'), 'question')
    answers_of_user = data_handler.get_user_activity_by_userid(
        user_data.get('id'), 'answer')
    comments_of_user = data_handler.get_user_activity_by_userid(
        user_data.get('id'), 'comment')
    return render_template('user_page.html',
                           user_data=user_data,
                           questions=questions_of_user,
                           answers=answers_of_user,
                           comments=comments_of_user)
Example #6
0
def route_login():
    if request.method == "POST":
        username = request.form.get('username')
        password_to_verify = request.form.get('password')
        user_data = data_handler.get_data_by_username(username)
        if not user_data:
            response = make_response(redirect(url_for('route_list')))
            response.set_cookie('usernotfound', "True", expires=3)
            return response
        verified = verify_password(password_to_verify,
                                   user_data[0]["password"])
        if verified:
            return redirect(url_for('cookie_insertion', username=username))
        else:
            response = make_response(redirect(url_for('route_list')))
            response.set_cookie('wrongpassword', "True", expires=3)
            return response

    return render_template('signup.html')