]> git.lizzy.rs Git - cheatdb.git/commitdiff
Split hard and soft dependers on meta package page
authorrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 16:13:37 +0000 (17:13 +0100)
committerrubenwardy <rw@rubenwardy.com>
Tue, 18 Aug 2020 16:13:37 +0000 (17:13 +0100)
app/blueprints/metapackages/__init__.py
app/templates/metapackages/view.html

index 7cfafed047ef2a74866e086e584ac0231054ee34..896a260cad600f13d49eeab8bc4404d72832a1b0 100644 (file)
@@ -41,7 +41,15 @@ def view(name):
                .filter(MetaPackage.name==name) \
                .join(MetaPackage.dependencies) \
                .join(Dependency.depender) \
-               .filter(Package.approved==True, Package.soft_deleted==False) \
+               .filter(Dependency.optional==False, Package.approved==True, Package.soft_deleted==False) \
+               .all()
+
+       optional_dependers = db.session.query(Package) \
+               .select_from(MetaPackage) \
+               .filter(MetaPackage.name==name) \
+               .join(MetaPackage.dependencies) \
+               .join(Dependency.depender) \
+               .filter(Dependency.optional==True, Package.approved==True, Package.soft_deleted==False) \
                .all()
 
        similar_topics = None
@@ -51,5 +59,6 @@ def view(name):
                                .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
                                .all()
 
-       return render_template("metapackages/view.html", \
-               mpackage=mpackage, dependers=dependers, similar_topics=similar_topics)
+       return render_template("metapackages/view.html", mpackage=mpackage, \
+               dependers=dependers, optional_dependers=optional_dependers, \
+               similar_topics=similar_topics)
index 8bc98959aa71a181cf993f3dc231a837fd7e51b4..08a46740a936a4b3d2f841f698fe362597a63359 100644 (file)
@@ -7,7 +7,7 @@
 {% block content %}
        <h1>Meta Package "{{ mpackage.name }}"</h1>
 
-       <h2>Provided by</h2>
+       <h2>Provided By</h2>
 
        {% from "macros/packagegridtile.html" import render_pkggrid %}
        {{ render_pkggrid(mpackage.packages.filter_by(approved=True, soft_deleted=False).all()) }}
@@ -27,6 +27,9 @@
                </ul>
        {% endif %}
 
-       <h2>Required / Used by</h2>
+       <h2>Required By</h2>
        {{ render_pkggrid(dependers) }}
+
+       <h2>Optionally Used By</h2>
+       {{ render_pkggrid(optional_dependers) }}
 {% endblock %}