diff --git a/app/blueprints/metapackages/__init__.py b/app/blueprints/metapackages/__init__.py index ae67500..3b624ab 100644 --- a/app/blueprints/metapackages/__init__.py +++ b/app/blueprints/metapackages/__init__.py @@ -53,12 +53,11 @@ def view(name): .filter(Dependency.optional==True, Package.state==PackageState.APPROVED) \ .all() - similar_topics = None - if mpackage.packages.filter_by(state=PackageState.APPROVED).count() == 0: - similar_topics = ForumTopic.query \ - .filter_by(name=name) \ - .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ - .all() + similar_topics = ForumTopic.query \ + .filter_by(name=name) \ + .filter(~ db.exists().where(Package.forums == ForumTopic.topic_id)) \ + .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ + .all() return render_template("metapackages/view.html", mpackage=mpackage, dependers=dependers, optional_dependers=optional_dependers, diff --git a/app/templates/metapackages/view.html b/app/templates/metapackages/view.html index b441b8b..4fec38a 100644 --- a/app/templates/metapackages/view.html +++ b/app/templates/metapackages/view.html @@ -4,18 +4,21 @@ {{ mpackage.name }} - {{ _("Meta Packages") }} {% endblock %} +{% from "macros/packagegridtile.html" import render_pkggrid %} + {% block content %}

{{ _("Meta Package \"%(name)s\"", name=mpackage.name) }}

{{ _("Provided By") }}

- {% from "macros/packagegridtile.html" import render_pkggrid %} - {{ render_pkggrid(mpackage.packages.filter_by(state="APPROVED").all()) }} +

{{ _("Games") }}

+ {{ render_pkggrid(mpackage.packages.filter_by(type="GAME", state="APPROVED").all()) }} + +

{{ _("Mods") }}

+ {{ render_pkggrid(mpackage.packages.filter_by(type="MOD", state="APPROVED").all()) }} {% if similar_topics %} -

- {{ _("Unfortunately, this isn't on ContentDB yet! Here's some forum topic(s):") }} -

+

{{ _("Forum Topics") }}