roundabout,
created on Wednesday, 27 December 2023, 17:12:39 (1703697159),
received on Wednesday, 31 July 2024, 06:54:40 (1722408880)
Author identity: vlad <vlad.muntoiu@gmail.com>
f9b12edececcdcab82675e3cf3cbe94e29d6249a
app.py
@@ -186,7 +186,7 @@ def notifications():
if not flask.session.get("username"): flask.abort(401) if flask.request.method == "GET": return flask.render_template("notifications.html")return flask.render_template("notifications.html", notifications=UserNotification.query.filter_by(userUsername=flask.session.get("username")))@app.route("/accounts/", methods=["GET", "POST"])
models.py
@@ -115,7 +115,6 @@ with app.app_context():
commits = db.relationship("Commit", back_populates="repo") posts = db.relationship("Post", back_populates="repo") generatedNotifications = db.relationship("Notification", back_populates="repo")repoAccess = db.relationship("RepoAccess", back_populates="repo") favourites = db.relationship("RepoFavourite", back_populates="repo")
@@ -199,7 +198,7 @@ with app.app_context():
class UserNotification(db.Model): id = db.Column(db.Integer, primary_key=True) userUsername = db.Column(db.String(32), db.ForeignKey("user.username"), nullable=False) notificationID = db.Column(db.BigInteger, db.ForeignKey("notification.id"), nullable=False)notificationID = db.Column(db.BigInteger, db.ForeignKey("notification.id"))attentionLevel = db.Column(db.SmallInteger, nullable=False) # 0 is read readTime = db.Column(db.DateTime, nullable=True)
@@ -219,23 +218,26 @@ with app.app_context():
class Notification(db.Model): id = db.Column(db.BigInteger, primary_key=True)id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)message = db.Column(db.UnicodeText) repoName = db.Column(db.String(98), db.ForeignKey("repo.route"), nullable=False)authorName = db.Column(db.String(32), db.ForeignKey("user.username"), nullable=False)repoName = db.Column(db.String(98), nullable=True) authorName = db.Column(db.String(32), db.ForeignKey("user.username"), nullable=True)timestamp = db.Column(db.DateTime, nullable=False, default=datetime.now) link = db.Column(db.String(256), nullable=False)link = db.Column(db.String(256), nullable=True)author = db.relationship("User", back_populates="generatedNotifications") repo = db.relationship("Repo", back_populates="generatedNotifications")notifications = db.relationship("UserNotification", back_populates="notification") def __init__(self, users, message, level, author, repo, link):def __init__(self, message, author, repoLink, link):self.message = message self.authorName = author.usernameself.repoName = repo.routeself.link = link if author is not None: self.authorName = author.username self.repoLink = repoLink def sendTo(self, users, level): for user in users: db.session.add(UserNotification(user, self, level))
templates/notifications.html
@@ -10,7 +10,11 @@
<x-frame style="--width: 896px;" class="flexible-space"> <x-vbox> {% for notification in notifications %} <article class="card"> <section class="caed-main"> {{ notification.notification.author.username }} </section> </article>{% endfor %} </x-vbox> </x-frame>