]> git.lizzy.rs Git - cheatdb.git/commitdiff
Add list of dependers to meta package page
authorrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 15:29:51 +0000 (16:29 +0100)
committerrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 15:29:51 +0000 (16:29 +0100)
Fixes #229

app/blueprints/metapackages/__init__.py
app/templates/macros/packagegridtile.html
app/templates/meta/list.html [deleted file]
app/templates/meta/view.html [deleted file]
app/templates/metapackages/list.html [new file with mode: 0644]
app/templates/metapackages/view.html [new file with mode: 0644]

index 6d32e6521b469a8cdde8ffcba827bb2d018c54f3..c5abc3e564b5da692cdac9673de0999a85ebb959 100644 (file)
@@ -28,7 +28,7 @@ def list_all():
                        .select_from(MetaPackage).outerjoin(MetaPackage.packages) \
                        .order_by(db.asc(MetaPackage.name)) \
                        .group_by(MetaPackage.id).all()
-       return render_template("meta/list.html", mpackages=mpackages)
+       return render_template("metapackages/list.html", mpackages=mpackages)
 
 @bp.route("/metapackages/<name>/")
 def view(name):
@@ -36,4 +36,11 @@ def view(name):
        if mpackage is None:
                abort(404)
 
-       return render_template("meta/view.html", mpackage=mpackage)
+       dependers = db.session.query(Package) \
+               .select_from(MetaPackage) \
+               .filter(MetaPackage.name==name) \
+               .join(MetaPackage.dependencies) \
+               .join(Dependency.depender) \
+               .all()
+
+       return render_template("metapackages/view.html", mpackage=mpackage, dependers=dependers)
index 306619478bf4629e025d95b7dfef9ab34ad172e9..3f9d3643a73686ffa67f6e661c5d737adf52571b 100644 (file)
@@ -37,7 +37,7 @@
                {% for p in packages %}
                        {{ render_pkgtile(p, show_author) }}
                {% else %}
-                       <li><i>No packages available</i></ul>
+                       <li class="packagetile flex-fill"><i>No packages available</i></li>
                {% endfor %}
                {% if packages %}
                        {% for i in range(4) %}
diff --git a/app/templates/meta/list.html b/app/templates/meta/list.html
deleted file mode 100644 (file)
index a2a468c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}
-Meta Packages
-{% endblock %}
-
-{% block content %}
-       <div class="list-group">
-               <div class="list-group-item">
-                       <div class="row text-muted">
-                               <div class="col-sm">
-                                       {{ _("Name") }}
-                               </div>
-
-                               <div class="col-sm-1 text-center">
-                                       {{ _("Packages") }}
-                               </div>
-                       </div>
-               </div>
-
-               {% for pair in mpackages %}
-                       {% set meta = pair[0] %}
-                       {% set count = pair[1] %}
-                       <a class="list-group-item list-group-item-action"
-                                       href="{{ url_for('metapackages.view', name=meta.name) }}">
-                               <div class="row">
-                                       <div class="col-sm">
-                                               {{ meta.name }}
-                                       </div>
-
-                                       <div class="col-sm-1 text-center">
-                                               {{ count }}
-                                       </div>
-                               </div>
-                       </a>
-               {% else %}
-                       <li><i>No meta packages found.</i></li>
-               {% endfor %}
-       </div>
-{% endblock %}
diff --git a/app/templates/meta/view.html b/app/templates/meta/view.html
deleted file mode 100644 (file)
index 46c5324..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}
-Packages providing '{{ mpackage.name }}''
-{% endblock %}
-
-{% block content %}
-       <h1>Packages providing '{{ mpackage.name }}'</h1>
-
-       {% from "macros/packagegridtile.html" import render_pkggrid %}
-       {{ render_pkggrid(mpackage.packages.filter_by(approved=True, soft_deleted=False).all()) }}
-{% endblock %}
diff --git a/app/templates/metapackages/list.html b/app/templates/metapackages/list.html
new file mode 100644 (file)
index 0000000..a2a468c
--- /dev/null
@@ -0,0 +1,40 @@
+{% extends "base.html" %}
+
+{% block title %}
+Meta Packages
+{% endblock %}
+
+{% block content %}
+       <div class="list-group">
+               <div class="list-group-item">
+                       <div class="row text-muted">
+                               <div class="col-sm">
+                                       {{ _("Name") }}
+                               </div>
+
+                               <div class="col-sm-1 text-center">
+                                       {{ _("Packages") }}
+                               </div>
+                       </div>
+               </div>
+
+               {% for pair in mpackages %}
+                       {% set meta = pair[0] %}
+                       {% set count = pair[1] %}
+                       <a class="list-group-item list-group-item-action"
+                                       href="{{ url_for('metapackages.view', name=meta.name) }}">
+                               <div class="row">
+                                       <div class="col-sm">
+                                               {{ meta.name }}
+                                       </div>
+
+                                       <div class="col-sm-1 text-center">
+                                               {{ count }}
+                                       </div>
+                               </div>
+                       </a>
+               {% else %}
+                       <li><i>No meta packages found.</i></li>
+               {% endfor %}
+       </div>
+{% endblock %}
diff --git a/app/templates/metapackages/view.html b/app/templates/metapackages/view.html
new file mode 100644 (file)
index 0000000..d768b9b
--- /dev/null
@@ -0,0 +1,17 @@
+{% extends "base.html" %}
+
+{% block title %}
+{{ mpackage.name }} - Meta Packages
+{% endblock %}
+
+{% block content %}
+       <h1>Meta Package "{{ mpackage.name }}"</h1>
+
+       <h2>Provided by</h2>
+
+       {% from "macros/packagegridtile.html" import render_pkggrid %}
+       {{ render_pkggrid(mpackage.packages.filter_by(approved=True, soft_deleted=False).all()) }}
+
+       <h2>Required / Used by</h2>
+       {{ render_pkggrid(dependers) }}
+{% endblock %}