Login ACTUALLY works

This commit is contained in:
NikolajDanger
2022-05-24 15:10:29 +02:00
parent 61bbaf17b9
commit 581ec6671b
4 changed files with 35 additions and 37 deletions

View File

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

View File

@ -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):

View File

@ -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

View File

@ -70,19 +70,6 @@
</div>
<div class="col-md-4">
<div class="content-section">
<h3>Account</h3>
<ul class="list-group">
{% if current_user.is_authenticated %}
<li class="list-group-item list-group-item-light"><a class="nav-item nav-link" href="{{ url_for('Employee.transfer') }}">Transfer</a></li>
<li class="list-group-item list-group-item-light">Checking Accounts</li>
<li class="list-group-item list-group-item-light">Investment Accounts</li>
<li class="list-group-item list-group-item-light"><a class="nav-item nav-link" href="{{ url_for('Customer.invest') }}">View investment accounts</a></li>
<li class="list-group-item list-group-item-light">etc</li>
{% else %}
<li class="list-group-item list-group-item-light">etc</li>
{% endif %}
</ul>
</p>
</div>
</div>
</div>