diff options
author | rubenwardy <rw@rubenwardy.com> | 2019-03-29 20:32:13 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-03-29 20:32:13 +0000 |
commit | 0fd4984e5a343b796ae17d4c327cd1d89140a669 (patch) | |
tree | bc44dd8c33dfb8540f73827b172d7b88658f4fd1 /app/views/admin/todo.py | |
parent | 896a65fd99007a03f45a02c6e6ebb61a9932898c (diff) | |
download | cheatdb-0fd4984e5a343b796ae17d4c327cd1d89140a669.tar.xz |
Redesign todo page, add ability to Approve All screenshots
Diffstat (limited to 'app/views/admin/todo.py')
-rw-r--r-- | app/views/admin/todo.py | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/app/views/admin/todo.py b/app/views/admin/todo.py index 88b3cd7..4b254dd 100644 --- a/app/views/admin/todo.py +++ b/app/views/admin/todo.py @@ -22,7 +22,7 @@ from app import app from app.models import * from app.querybuilder import QueryBuilder -@app.route("/todo/") +@app.route("/todo/", methods=["GET", "POST"]) @login_required def todo_page(): canApproveNew = Permission.APPROVE_NEW.check(current_user) @@ -41,16 +41,32 @@ def todo_page(): if canApproveScn: screenshots = PackageScreenshot.query.filter_by(approved=False).all() + if not canApproveNew and not canApproveRel and not canApproveScn: + abort(403) - topics_to_add = ForumTopic.query \ + if request.method == "POST": + if request.form["action"] == "screenshots_approve_all": + if not canApproveScn: + abort(403) + + PackageScreenshot.query.update({ "approved": True }) + db.session.commit() + return redirect(url_for("todo_page")) + else: + abort(400) + + topic_query = ForumTopic.query \ + .filter_by(discarded=False) + + total_topics = topic_query.count() + topics_to_add = topic_query \ .filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \ - .filter_by(discarded=False) \ .count() return render_template("todo/list.html", title="Reports and Work Queue", packages=packages, releases=releases, screenshots=screenshots, canApproveNew=canApproveNew, canApproveRel=canApproveRel, canApproveScn=canApproveScn, - topics_to_add=topics_to_add) + topics_to_add=topics_to_add, total_topics=total_topics) @app.route("/todo/topics/") @@ -62,7 +78,7 @@ def todo_topics_page(): tmp_q = ForumTopic.query if not qb.show_discarded: - tmp_q = tmp_q.filter_by(discarded=qb.show_discarded) + tmp_q = tmp_q.filter_by(discarded=False) total = tmp_q.count() topic_count = query.count() |