roundabout,
created on Monday, 24 June 2024, 16:46:34 (1719247594),
received on Wednesday, 31 July 2024, 06:54:49 (1722408889)
Author identity: vlad <vlad.muntoiu@gmail.com>
c711d80f5a922e2f336a44bbff79cb923c002935
app.py
@@ -324,7 +324,7 @@ def notifications():
notifications=UserNotification.query.filter_by( user_username=flask.session.get("username") ).order_by(UserNotification.id.desc()), db=db, Commit=Commitdb=db, Commit=Commit, Post=Post)
celery_tasks.py
@@ -14,7 +14,7 @@ from datetime import datetime
@shared_task(ignore_result=False) def send_notification(user_notification_id): from models import UserNotification, Commitfrom models import UserNotification, Commit, Postuser_notification = db.session.get(UserNotification, user_notification_id) user = user_notification.user notification = user_notification.notification
@@ -24,11 +24,12 @@ def send_notification(user_notification_id):
match notification.data.get("type"): case "welcome": message = email_send.make_multipart_message( "Welcome, {username}".format(username=user.username),f"[system] Welcome, {user.username}",config.NOTIFICATION_EMAIL, user.email, "welcome", username=user.username)username=user.username )case "commit": commit = db.session.get(Commit, notification.data.get("commit")) line_separator = "\n\n" # hack so it works in older Pythons
@@ -41,7 +42,18 @@ def send_notification(user_notification_id):
username=user.username, commit=commit, url="https://" if config.suggest_https else "http://" + config.BASE_DOMAIN + "/repo/" + notification.data.get("repo") + "/commit/" + notification.data.get("commit") )) case "post": post = db.session.get(Post, notification.data.get("post")) message = email_send.make_multipart_message( f"[post in {notification.data.get('repo')}] {post.subject}", config.NOTIFICATION_EMAIL, user.email, "forum", username=user.username, post=post, url="https://" if config.suggest_https else "http://" + config.BASE_DOMAIN + "/repo/" + notification.data.get("repo") + "/post/" + notification.data.get("post") )mail.sendmail(config.NOTIFICATION_EMAIL, user.email, message)
templates/notifications.html
@@ -26,6 +26,13 @@
{% 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>{% endif %} </section> <section>