diff --git a/app/templates/todo/list.html b/app/templates/todo/list.html index 5e50c2e..5707ddd 100644 --- a/app/templates/todo/list.html +++ b/app/templates/todo/list.html @@ -5,53 +5,79 @@ {% endblock %} {% block content %} -

Awaiting Approval

+

Approval Queue

- {% if canApproveNew and packages %} -

Packages

- - {% endfor %} - - {% endif %} +
+ {% if canApproveNew and packages %} +
+
+

Packages

+
+ {% for p in packages %} + + {{ p.title }} by {{ p.author.display_name }} + + {% else %} +
  • No packages need reviewing.
  • + {% endfor %} +
    +
    +
    + {% endif %} + + {% if canApproveRel and releases %} +
    +
    +

    Releases

    + +
    +
    + {% endif %} +
    {% if canApproveScn and screenshots %} -

    Screenshots

    - - {% endfor %} - - {% endif %} - - {% if canApproveRel and releases %} -

    Releases

    - - {% endfor %} - +
    +

    Screenshots +
    + + + +
    +

    + +
    {% endif %} {% if not (packages or screenshots or releases) %} @@ -63,8 +89,16 @@

    Unadded Topic List

    - There are - {{ topics_to_add }} packages - to be added to cdb, based on cdb's forum parser. + {{ total_topics - topics_to_add }} / {{ total_topics }} packages have been been added to cdb, + based on cdb's forum parser. {{ topics_to_add }} remaining.

    + +
    + {% set perc = 32 %} +
    +
    + + View Unadded Topic List + {% endblock %} 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()