roundabout,
created on Sunday, 28 July 2024, 11:46:30 (1722167190),
received on Wednesday, 31 July 2024, 06:54:51 (1722408891)
Author identity: vlad <vlad.muntoiu@gmail.com>
306f10bdfcc7fe81ea49543e6145a605555b034f
app.py
@@ -344,7 +344,7 @@ def notifications():
return flask.render_template("notifications.html",
notifications=results,
db=db, Commit=Commit, Post=Post, PullRequest=PullRequest,
db=db, Commit=Commit, Post=Post, PullRequest=PullRequest, User=User,
page_number=page_number,
page_length=page_length,
next_page=next_page,
@@ -573,14 +573,17 @@ def user_profile(username):
flask.session.get("username"),
username
)
print(f"Following {username}")
db.session.add(relationship)
db.session.commit()
user = db.session.get(User, username)
author = db.session.get(User, flask.session.get("username"))
notification = Notification({"type": "update", "version": "0.0.0"})
notification = Notification({"type": "follow", "author": author.username, "user": user.username})
db.session.add(notification)
db.session.commit()
user_notification = UserNotification(user, notification, 1)
db.session.add(user_notification)
db.session.commit()
db.session.commit()
return flask.redirect("?", code=303)
templates/notifications.html
@@ -16,30 +16,38 @@
{% for notification in notifications %}
<article class="card card-horizontal">
<section class="card-main flexible-space">
{{ notification.notification.timestamp | strftime("%A, %e %B %Y, %H:%M:%S") }}
{% if notification.notification.data["type"] == "welcome" %}
<h2>{% trans %}Welcome{% endtrans %}</h2>
{% elif notification.notification.data["type"] == "commit" %}
{% set commit = db.session.get(Commit, notification.notification.data["repo"] + "/" + notification.notification.data["commit"]) %}
<h2><a href="{{ notification.notification.data['repo'] + '/commit/' + notification.notification.data['commit'] }}">{{ commit.message | split("\n\n", 1) | first }}</a></h2>
<p>
{% trans %}Commited by{% endtrans %} <a href="/{{ commit.owner.username }}">{{ commit.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ commit.repo.route }}">{{ commit.repo.owner.username }}/{{ commit.repo.name }}</a>
</p>
{% elif notification.notification.data["type"] == "post" %}
{% set post = db.session.get(Post, notification.notification.data["post"]) %}
<h2><a href="{{ notification.notification.data['repo'] + '/forum/' + post.number|string }}">{{ post.subject }}</a></h2>
<p>
{% trans %}Posted by{% endtrans %} <a href="/{{ post.owner.username }}">{{ post.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ post.repo.route }}">{{ post.repo.owner.username }}/{{ post.repo.name }}</a>
</p>
{% elif notification.notification.data["type"] == "pr" %}
{% set pr = db.session.get(PullRequest, notification.notification.data["pr"]|int) %}
<h2><a href="{{ notification.notification.data['base'] + '/prs/' }}">{{ pr.head_route }}:{{ pr.head_branch }} → {{ pr.base_route }}:{{ pr.base_branch }}</a></h2>
<p>
{% trans %}Requested by{% endtrans %} <a href="/{{ pr.owner.username }}">{{ pr.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ pr.base_route }}">{{ pr.base.username }}/{{ pr.base.name }}</a>
</p>
{% if notification.notification %}
{{ notification.notification.timestamp | strftime("%A, %e %B %Y, %H:%M:%S") }}
{% if notification.notification.data["type"] == "welcome" %}
<h2>{% trans %}Welcome{% endtrans %}</h2>
{% elif notification.notification.data["type"] == "commit" %}
{% set commit = db.session.get(Commit, notification.notification.data["repo"] + "/" + notification.notification.data["commit"]) %}
<h2><a href="{{ notification.notification.data['repo'] + '/commit/' + notification.notification.data['commit'] }}">{{ commit.message | split("\n\n", 1) | first }}</a></h2>
<p>
{% trans %}Commited by{% endtrans %} <a href="/{{ commit.owner.username }}">{{ commit.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ commit.repo.route }}">{{ commit.repo.owner.username }}/{{ commit.repo.name }}</a>
</p>
{% elif notification.notification.data["type"] == "post" %}
{% set post = db.session.get(Post, notification.notification.data["post"]) %}
<h2><a href="{{ notification.notification.data['repo'] + '/forum/' + post.number|string }}">{{ post.subject }}</a></h2>
<p>
{% trans %}Posted by{% endtrans %} <a href="/{{ post.owner.username }}">{{ post.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ post.repo.route }}">{{ post.repo.owner.username }}/{{ post.repo.name }}</a>
</p>
{% elif notification.notification.data["type"] == "pr" %}
{% set pr = db.session.get(PullRequest, notification.notification.data["pr"]|int) %}
<h2><a href="{{ notification.notification.data['base'] + '/prs/' }}">{{ pr.head_route }}:{{ pr.head_branch }} → {{ pr.base_route }}:{{ pr.base_branch }}</a></h2>
<p>
{% trans %}Requested by{% endtrans %} <a href="/{{ pr.owner.username }}">{{ pr.owner.username }}</a>
{% trans %}in{% endtrans %} <a href="{{ pr.base_route }}">{{ pr.base.username }}/{{ pr.base.name }}</a>
</p>
{% elif notification.notification.data["type"] == "follow" %}
{% set author = db.session.get(User, notification.notification.data["author"]) %}
<h2><a href="/{{ author.username }}">{{ author.username }}</a></h2>
<p>
{% trans %}is now following you{% endtrans %}
</p>
{% endif %}
{% endif %}
</section>
<section>