aboutsummaryrefslogtreecommitdiff
path: root/app/views/packages.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/packages.py')
-rw-r--r--app/views/packages.py35
1 files changed, 33 insertions, 2 deletions
diff --git a/app/views/packages.py b/app/views/packages.py
index 96e50b4..bbebc67 100644
--- a/app/views/packages.py
+++ b/app/views/packages.py
@@ -96,6 +96,8 @@ def package_page(author, name):
if shouldReturnJson():
return jsonify(package.getAsDictionary(app.config["BASE_URL"]))
else:
+ clearNotifications(package.getDetailsURL())
+
releases = getReleases(package)
requests = [r for r in package.requests if r.status == 0]
return render_template("packages/view.html", package=package, releases=releases, requests=requests)
@@ -168,7 +170,9 @@ def create_edit_package_page(author=None, name=None):
if not package:
package = Package()
package.author = author
- # package.approved = package.checkPerm(current_user, Permission.APPROVE_NEW)
+ else:
+ triggerNotif(package.author, current_user,
+ "{} edited".format(package.title), package.getDetailsURL())
form.populate_obj(package) # copy to row
@@ -194,8 +198,10 @@ def approve_package_page(author=None, name=None):
else:
package.approved = True
- db.session.commit()
+ triggerNotif(package.author, current_user,
+ "{} approved".format(package.title), package.getDetailsURL())
+ db.session.commit()
return redirect(package.getDetailsURL())
@@ -222,6 +228,10 @@ def create_screenshot_page(author, name):
ss.title = form["title"].data
ss.url = uploadedPath
db.session.add(ss)
+
+ msg = "{}: Screenshot added {}" \
+ .format(package.title, ss.title)
+ triggerNotif(package.author, current_user, msg, erequest.getURL())
db.session.commit()
return redirect(package.getDetailsURL())
@@ -292,6 +302,10 @@ def create_edit_editrequest_page(pauthor, name, id=None):
wasChangeMade = True
if wasChangeMade:
+ msg = "{}: Edit request #{} {}" \
+ .format(package.title, erequest.id, "created" if id is None else "edited")
+ triggerNotif(package.author, current_user, msg, erequest.getURL())
+ triggerNotif(erequest.author, current_user, msg, erequest.getURL())
db.session.commit()
return redirect(erequest.getURL())
else:
@@ -311,6 +325,7 @@ def view_editrequest_page(pauthor, name, id):
if erequest is None:
abort(404)
+ clearNotifications(erequest.getURL())
return render_template("packages/editrequest_view.html", package=package, request=erequest)
@@ -331,6 +346,10 @@ def approve_editrequest_page(pauthor, name, id):
else:
erequest.status = 1
erequest.applyAll(package)
+
+ msg = "{}: Edit request #{} merged".format(package.title, erequest.id)
+ triggerNotif(erequest.author, current_user, msg, erequest.getURL())
+ triggerNotif(package.author, current_user, msg, erequest.getURL())
db.session.commit()
return redirect(package.getDetailsURL())
@@ -351,6 +370,10 @@ def reject_editrequest_page(pauthor, name, id):
else:
erequest.status = 2
+
+ msg = "{}: Edit request #{} rejected".format(package.title, erequest.id)
+ triggerNotif(erequest.author, current_user, msg, erequest.getURL())
+ triggerNotif(package.author, current_user, msg, erequest.getURL())
db.session.commit()
return redirect(package.getDetailsURL())
@@ -389,6 +412,9 @@ def create_release_page(author, name):
db.session.commit()
rel.task_id = makeVCSRelease.delay(rel.id, form["vcsLabel"].data).id
+
+ msg = "{}: Release {} created".format(package.title, rel.title)
+ triggerNotif(package.author, current_user, msg, rel.getEditURL())
db.session.commit()
return redirect(url_for("check_task", id=rel.task_id, r=package.getDetailsURL()))
@@ -400,6 +426,9 @@ def create_release_page(author, name):
rel.title = form["title"].data
rel.url = uploadedPath
db.session.add(rel)
+
+ msg = "{}: Release {} created".format(package.title, rel.title)
+ triggerNotif(package.author, current_user, msg, erequest.getURL())
db.session.commit()
return redirect(package.getDetailsURL())
@@ -420,6 +449,8 @@ def edit_release_page(author, name, id):
if package.name != name or package.author.username != author:
abort(404)
+ clearNotifications(release.getEditURL())
+
canEdit = package.checkPerm(current_user, Permission.MAKE_RELEASE)
canApprove = package.checkPerm(current_user, Permission.APPROVE_RELEASE)
if not (canEdit or canApprove):