diff --git a/aula/Group/routes.py b/aula/Group/routes.py index 7919b9f..5ebb345 100644 --- a/aula/Group/routes.py +++ b/aula/Group/routes.py @@ -1,12 +1,15 @@ from flask import render_template, url_for, flash, redirect, request, Blueprint from flask_login import current_user, login_required -from aula.models import select_users +from aula.models import select_users_by_id import sys, datetime Group = Blueprint('Group', __name__) @Group.route("/groups/index", methods=['GET']) def index(): - user = select_users(5000) - return user.address + user = select_users_by_id(5000) + groups = user.get_groups() + for group in groups: + print(group.name) + return "hej" 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/Threads/routes.py b/aula/Threads/routes.py new file mode 100644 index 0000000..e0c0082 --- /dev/null +++ b/aula/Threads/routes.py @@ -0,0 +1,12 @@ +from flask import render_template, url_for, flash, redirect, request, Blueprint +from bank import app, conn, bcrypt +from aula.forms import TransferForm, DepositForm, AddCustomerForm +from flask_login import current_user, login_required +import sys, datetime + +Group = Blueprint('Threads', __name__) + +@login_required() +@Group.route("threads/index", methods=['GET']) +def index(): + return render_template() 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 61aaff5..85214bd 100644 --- a/aula/models.py +++ b/aula/models.py @@ -1,25 +1,21 @@ # 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): 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 @@ -66,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 get_groups(self): cur = conn.cursor() @@ -113,6 +109,21 @@ def select_users_by_email(email): cur.execute(sql_call, (email,)) user = User(cur.fetchone()) if cur.rowcount > 0 else None cur.close() +<<<<<<< HEAD return +======= + 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 +>>>>>>> 44c5063a11505828679f1ebd8455debca1f8cf84 diff --git a/aula/schema_ins.sql b/aula/schema_ins.sql index 88d0e89..c7fdb79 100644 --- a/aula/schema_ins.sql +++ b/aula/schema_ins.sql @@ -1,18 +1,18 @@ TRUNCATE users, groups, threads, messages, posts, users_groups, users_threads; INSERT INTO public.users(user_id, first_name, last_name, password, email, address, role) VALUES - (5000, 'Gordon', 'Freeman', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'test@test.dk', 'aud Auditorium A, bygning 1, 1. sal Universitetsparken 15 (Zoo)', 'teacher'), + (5000, 'Gordon', 'Freeman', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'gordon@test.dk', 'Black Mesa', 'teacher'), (5001, 'Rachel', 'Green', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'rachel@test.dk', 'Cnetral Park', 'parent'), (5002,'Joey', 'Trib', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'joey@test.dk', 'New York', 'student'), - (5003,'Chandler', 'Bing', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'Chandler@test.dk', 'Central Park', 'student'), - (5004,'Phoebe', 'Buffay', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'Phoebe@test.dk', 'Central Perk', 'parent'), - (5005,'Ross', 'Geller', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'Ross@test.dk', 'Central Perk', 'student'); + (5003,'Chandler', 'Bing', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'chandler@test.dk', 'Central Park', 'student'), + (5004,'Phoebe', 'Buffay', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'phoebe@test.dk', 'Central Perk', 'parent'), + (5005,'Ross', 'Geller', '$2b$12$KFkp1IEMGT4QrWwjPGhE3ejOv6Z3pYhx/S4qOoFbanR2sMiZqgeJO', 'ross@test.dk', 'Central Perk', 'student'); INSERT INTO public.groups(group_id, name, leaveable, parents_can_post) VALUES (1000, 'fodbold', TRUE, TRUE), (1001,'3a', FALSE, TRUE); -INSERT INTO users_groups (user_id, group_id) VALUES (5000, 1000), (5000, 1001); +INSERT INTO users_groups (user_id, group_id) VALUES (5000, 1000), (5001, 1001); INSERT INTO threads(thread_id ,title, group_id, creator_id) VALUES (2000, 'Anbefalinger til fodboldsko?', 1000, 5000); 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 @@
Dropdown customer account tuples:
+Same list with a filter: {{ drop_cus_acc|join(', ') }}
+