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)
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)
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)
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
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)
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')