]> git.lizzy.rs Git - cheatdb.git/commitdiff
Add notifications for editing maintainers
authorrubenwardy <rw@rubenwardy.com>
Wed, 8 Jul 2020 22:20:29 +0000 (23:20 +0100)
committerrubenwardy <rw@rubenwardy.com>
Wed, 8 Jul 2020 22:20:29 +0000 (23:20 +0100)
app/blueprints/packages/packages.py
app/utils.py

index 12242ab77a5de15bd33b89bf94343ffdee1e49e1..aa884159aa28a054e78cfd99768b85f56b29b08b 100644 (file)
@@ -374,7 +374,7 @@ def remove(package):
                package.approved = False
 
                triggerNotif(package.author, current_user,
-                               "{} deleted".format(package.title), package.getDetailsURL())
+                               "{} unapproved".format(package.title), package.getDetailsURL())
                db.session.commit()
 
                flash("Unapproved package", "success")
@@ -405,9 +405,25 @@ def edit_maintainers(package):
        if request.method == "POST" and form.validate():
                usernames = [x.strip().lower() for x in form.maintainers_str.data.split(",")]
                users = User.query.filter(func.lower(User.username).in_(usernames)).all()
+
+               for user in users:
+                       if not user in package.maintainers:
+                               triggerNotif(user, current_user,
+                                               "Added you as a maintainer to {}".format(package.title), package.getDetailsURL())
+
+               for user in package.maintainers:
+                       if not user in users:
+                               triggerNotif(user, current_user,
+                                               "Removed you as a maintainer to {}".format(package.title), package.getDetailsURL())
+
                package.maintainers.clear()
                package.maintainers.extend(users)
                package.maintainers.append(package.author)
+
+               if package.author != current_user:
+                       triggerNotif(package.author, current_user,
+                                       "Edited {} maintainers".format(package.title), package.getDetailsURL())
+
                db.session.commit()
 
                return redirect(package.getDetailsURL())
index c302622ae8209755056b8ed0cf1426d9f4d5b4df..d6e6eaa631d718a7701f2bbed01c2e754e71c634 100644 (file)
@@ -190,7 +190,7 @@ def is_package_page(f):
 
 def triggerNotif(owner, causer, title, url):
        if owner.rank.atLeast(UserRank.NEW_MEMBER) and owner != causer:
-               Notification.query.filter_by(user=owner, url=url).delete()
+               Notification.query.filter_by(user=owner, causer=causer, title=title, url=url).delete()
                notif = Notification(owner, causer, title, url)
                db.session.add(notif)