From 581ec6671bbe4c239d137acfb3272c10d40fa31d Mon Sep 17 00:00:00 2001 From: NikolajDanger Date: Tue, 24 May 2022 15:10:29 +0200 Subject: [PATCH 1/2] Login ACTUALLY works --- aula/Login/routes.py | 28 ++++++++++++++++------------ aula/forms.py | 2 +- aula/models.py | 29 ++++++++++++++++++----------- aula/templates/layout.html | 13 ------------- 4 files changed, 35 insertions(+), 37 deletions(-) diff --git a/aula/Login/routes.py b/aula/Login/routes.py index 7b8ea8a..45cd9a0 100644 --- a/aula/Login/routes.py +++ b/aula/Login/routes.py @@ -1,18 +1,22 @@ from flask import render_template, Blueprint, redirect, url_for, flash, request -from flask_login import current_user, login_user +from flask_login import current_user, login_user, logout_user, login_required from aula import bcrypt from aula.forms import UserLoginForm -from aula.models import select_users_by_email +from aula.models import select_users_by_email, get_posts_for_user Login = Blueprint('Login', __name__) -posts = [{}] - @Login.route("/") @Login.route("/home") def home(): + print(current_user.is_authenticated) + if current_user.is_authenticated: + posts = get_posts_for_user(current_user.get_id()) + else: + posts = [] + print(posts) return render_template('home.html', posts=posts) @@ -41,13 +45,13 @@ def login(): return render_template('login.html', title='Login', form=form) -# @Login.route("/logout") -# def logout(): -# logout_user() -# return redirect(url_for('Login.home')) +@Login.route("/logout") +def logout(): + logout_user() + return redirect(url_for('Login.home')) -# @Login.route("/account") -# @login_required -# def account(): -# return render_template('account.html', title='Account') +@Login.route("/account") +@login_required +def account(): + return render_template('account.html', title='Account') diff --git a/aula/forms.py b/aula/forms.py index 7b6697c..38a9a28 100644 --- a/aula/forms.py +++ b/aula/forms.py @@ -1,5 +1,5 @@ from flask_wtf import FlaskForm -from wtforms import StringField, PasswordField, SubmitField, BooleanField, IntegerField +from wtforms import StringField, PasswordField, SubmitField, BooleanField from wtforms.validators import DataRequired, Length class AddUserForm(FlaskForm): diff --git a/aula/models.py b/aula/models.py index e2eb9ed..4990ec1 100644 --- a/aula/models.py +++ b/aula/models.py @@ -7,19 +7,15 @@ from psycopg2 import sql def load_user(user_id): cur = conn.cursor() - schema = 'users' - _id = 'user_id' - - user_sql = sql.SQL(""" - SELECT * FROM {} - WHERE {} = %s - """).format(sql.Identifier(schema), sql.Identifier(_id)) + user_sql = """ + SELECT * FROM users + WHERE user_id = %s + """ cur.execute(user_sql, (user_id,)) - if cur.rowcount > 0: - User(cur.fetchone()) - else: - return None + user = User(cur.fetchone()) if cur.rowcount > 0 else None + cur.close() + return user # # Models @@ -100,3 +96,14 @@ def select_users_by_email(email): user = User(cur.fetchone()) if cur.rowcount > 0 else None cur.close() return user + +def get_posts_for_user(user_id): + cur = conn.cursor() + sql_call = """ + SELECT * FROM posts + """ + cur.execute(sql_call, ()) + posts = [Post(i) for i in cur.fetchmany(10)] + print(posts) + cur.close() + return posts diff --git a/aula/templates/layout.html b/aula/templates/layout.html index 6f391b7..52f87c9 100644 --- a/aula/templates/layout.html +++ b/aula/templates/layout.html @@ -70,19 +70,6 @@
-

Account

-
    - {% if current_user.is_authenticated %} -
  • Transfer
  • -
  • Checking Accounts
  • -
  • Investment Accounts
  • -
  • View investment accounts
  • -
  • etc
  • - {% else %} -
  • etc
  • - {% endif %} -
-

From 44c5063a11505828679f1ebd8455debca1f8cf84 Mon Sep 17 00:00:00 2001 From: NikolajDanger Date: Tue, 24 May 2022 15:14:49 +0200 Subject: [PATCH 2/2] lil change --- aula/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aula/models.py b/aula/models.py index 4990ec1..ba0fc28 100644 --- a/aula/models.py +++ b/aula/models.py @@ -1,7 +1,7 @@ # write all your SQL queries in this file. -from aula import conn, login_manager from flask_login import UserMixin -from psycopg2 import sql + +from aula import conn, login_manager @login_manager.user_loader def load_user(user_id): @@ -62,7 +62,7 @@ class User(tuple, UserMixin): self.role = user_data[6] def get_id(self): - return (self.user_id) + return self.user_id def insert_users(user_id, first_name, last_name, password, email, adresse, role): cur = conn.cursor()