From 62e307f6a277a6dca988f4a12c590240aa077592 Mon Sep 17 00:00:00 2001 From: ydb5755 Date: Thu, 26 Sep 2024 15:28:52 +0300 Subject: [PATCH] show user donations on his own page --- app/users/models.py | 6 ++++-- app/users/routes.py | 4 +++- app/users/templates/user_page.html | 31 +++++++++++++++++++++++++----- 3 files changed, 33 insertions(+), 8 deletions(-) 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