.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):
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)
{% 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) %}
+++ /dev/null
-{% 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 %}
+++ /dev/null
-{% 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 %}
--- /dev/null
+{% 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 %}
--- /dev/null
+{% 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 %}