aboutsummaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-03-21 19:53:53 +0000
committerrubenwardy <rw@rubenwardy.com>2018-03-21 19:53:53 +0000
commit8a8b0e505bab6ea4d631e7c63dad9260ff7e8936 (patch)
treef1d8c3f1378b7bffa87fcf09717f750efdf496ed /app/views
parent71691708ae121493cf52b19acbb6893caf8fe7ed (diff)
downloadcheatdb-8a8b0e505bab6ea4d631e7c63dad9260ff7e8936.tar.xz
Improve permission checking in work queue
Diffstat (limited to 'app/views')
-rw-r--r--app/views/packages.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/app/views/packages.py b/app/views/packages.py
index 6f2d304..a294ee8 100644
--- a/app/views/packages.py
+++ b/app/views/packages.py
@@ -31,15 +31,28 @@ def txp_page():
return render_template('packages.html', title="Texture Packs", packages=packages)
def canSeeWorkQueue():
- return Permission.APPROVE_NEW.check(current_user)
+ return Permission.APPROVE_NEW.check(current_user) or \
+ Permission.APPROVE_RELEASE.check(current_user) or \
+ Permission.APPROVE_CHANGES.check(current_user)
@menu.register_menu(app, '.todo', "Work Queue", order=20, visible_when=lambda: canSeeWorkQueue)
@app.route("/todo/")
@login_required
def todo_page():
- packages = Package.query.filter_by(approved=False).all()
- releases = PackageRelease.query.filter_by(approved=False).all()
- return render_template('todo.html', title="Reports and Work Queue", approve_new=packages, releases=releases)
+ canApproveNew = Permission.APPROVE_NEW.check(current_user)
+ canApproveRel = Permission.APPROVE_RELEASE.check(current_user)
+
+ packages = None
+ if canApproveNew:
+ packages = Package.query.filter_by(approved=False).all()
+
+ releases = None
+ if canApproveRel:
+ releases = PackageRelease.query.filter_by(approved=False).all()
+
+ return render_template('todo.html', title="Reports and Work Queue",
+ approve_new=packages, releases=releases,
+ canApproveNew=canApproveNew, canApproveRel=canApproveRel)
def getPageByInfo(type, author, name):