]> git.lizzy.rs Git - cheatdb.git/commitdiff
Add unfulfilled dependencies todo page
authorrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 16:28:42 +0000 (17:28 +0100)
committerrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 16:28:42 +0000 (17:28 +0100)
app/blueprints/todo/__init__.py
app/templates/todo/list.html
app/templates/todo/metapackages.html [new file with mode: 0644]

index ba370a6ff02a31c34821ae5a68f8ed90cb894564..20520ce40a5d86a1bd76165f59c427fb47879a59 100644 (file)
@@ -67,11 +67,17 @@ def view():
        total_packages = Package.query.filter_by(approved=True, soft_deleted=False).count()
        total_to_tag = Package.query.filter_by(approved=True, soft_deleted=False, tags=None).count()
 
+       unfulfilled_meta_packages = MetaPackage.query \
+                       .filter(~ MetaPackage.packages.any(approved=True, soft_deleted=False)) \
+                       .filter(MetaPackage.dependencies.any(optional=False)) \
+                       .order_by(db.asc(MetaPackage.name)).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, total_topics=total_topics, \
-               total_packages=total_packages, total_to_tag=total_to_tag)
+               total_packages=total_packages, total_to_tag=total_to_tag, \
+               unfulfilled_meta_packages=unfulfilled_meta_packages)
 
 
 @bp.route("/todo/topics/")
@@ -116,3 +122,13 @@ def tags():
        tags = Tag.query.order_by(db.asc(Tag.title)).all()
 
        return render_template("todo/tags.html", packages=query.all(), tags=tags)
+
+
+@bp.route("/todo/metapackages/")
+def metapackages():
+       mpackages = MetaPackage.query \
+                       .filter(~ MetaPackage.packages.any(approved=True, soft_deleted=False)) \
+                       .filter(MetaPackage.dependencies.any(optional=False)) \
+                       .order_by(db.asc(MetaPackage.name)).all()
+
+       return render_template("todo/metapackages.html", mpackages=mpackages)
index 4d0b75ccbc9972201ef0b7ce761eb2e13d8559cc..24d5289b0a2520bee80905976a3902b5aee0526e 100644 (file)
        <a class="btn btn-primary" href="{{ url_for('todo.tags') }}">View Tags</a>
 
 
+       {% if unfulfilled_meta_packages %}
+               <h2 class="mt-5">
+                       <span class="fas fa-exclamation-triangle pr-2" style="color: orange;"></span>
+                       {{ unfulfilled_meta_packages }} Unfulfilled Dependencies
+               </h2>
+
+               <p>
+                       Meta packages that have hard dependers, but are not fulfilled.
+               </p>
+
+               <a class="btn btn-primary" href="{{ url_for('todo.metapackages') }}">View</a>
+       {% endif %}
+
+
        <h2 class="mt-5">Unadded Topic List</h2>
 
        {% if total_topics > 0 %}
diff --git a/app/templates/todo/metapackages.html b/app/templates/todo/metapackages.html
new file mode 100644 (file)
index 0000000..9135fe1
--- /dev/null
@@ -0,0 +1,24 @@
+{% extends "base.html" %}
+
+{% block title %}
+Unfulfilled Meta Packages
+{% endblock %}
+
+{% block content %}
+       <h1>Unfulfilled Meta Packages</h1>
+
+       <p>
+               Meta packages that have hard dependers, but are not fulfilled.
+       </p>
+
+       <div class="list-group">
+               {% for meta in mpackages %}
+                       <a class="list-group-item list-group-item-action"
+                                       href="{{ url_for('metapackages.view', name=meta.name) }}">
+                               {{ meta.name }}
+                       </a>
+               {% else %}
+                       <li><i>No meta packages found.</i></li>
+               {% endfor %}
+       </div>
+{% endblock %}