diff --git a/app/users/models.py b/app/users/models.py index bd9fa9c..94d44fa 100644 --- a/app/users/models.py +++ b/app/users/models.py @@ -1,7 +1,7 @@ from app import db from flask import current_app from flask_login import UserMixin, current_user -from sqlalchemy import TEXT, Column, Boolean, ForeignKey, TEXT, INTEGER, VARCHAR +from sqlalchemy import TEXT, Column, Boolean, ForeignKey, TEXT, INTEGER, VARCHAR, select import jwt from datetime import datetime, timezone, timedelta @@ -15,7 +15,9 @@ class User(db.Model, UserMixin): password = Column('password', TEXT(), nullable=False) user_type = Column('user_type', TEXT(), nullable=False) - + def get_donations(self): + from app.main.models import Donation + return db.session.execute(select(Donation.currency_type,Donation.amount).where(Donation.user_id == self.id)).all() def __repr__(self) -> str: return f"{self.first_name} {self.last_name}" diff --git a/app/users/routes.py b/app/users/routes.py index 60c7b21..4f85501 100644 --- a/app/users/routes.py +++ b/app/users/routes.py @@ -19,8 +19,10 @@ def user_page(user_id): if not int(current_user.id) == int(user_id): return redirect(url_for('main.homepage')) user = User.query.filter_by(id=user_id).first() + donations = user.get_donations() return render_template('user_page.html', - user=user) + user=user, + donations=donations) @users.route('/') diff --git a/app/users/templates/user_page.html b/app/users/templates/user_page.html index 51bc66f..74637f1 100644 --- a/app/users/templates/user_page.html +++ b/app/users/templates/user_page.html @@ -1,19 +1,40 @@ {% extends 'base.html' %} {% block title %}User Page{% endblock title %} {% block content %} -
+

Welcome, {{ user.first_name }} {{ user.last_name }}


+
+
+
+
+
+

Donations

+
+ + + + + + + + + {% for donation in donations %} + + + + + {% endfor %} + +
CurrencyAmount
{{donation[0]}}{{donation[1]}}
-
-
- +
+
- {% endblock %} \ No newline at end of file