From 2c8b751f98363573489349d7f6fa5bc11ded10d2 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 11 Jun 2024 21:35:20 +0100 Subject: [PATCH] Advanced Search: Fix values, remove use of __None --- app/blueprints/packages/advanced_search.py | 21 ++++++++++++++------- app/querybuilder.py | 4 ++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/blueprints/packages/advanced_search.py b/app/blueprints/packages/advanced_search.py index 75246857..e69ee6a0 100644 --- a/app/blueprints/packages/advanced_search.py +++ b/app/blueprints/packages/advanced_search.py @@ -51,21 +51,28 @@ def get_hide_choices(): class AdvancedSearchForm(FlaskForm): q = StringField(lazy_gettext("Query"), [Optional()]) - type = SelectMultipleField(lazy_gettext("Type"), [Optional()], choices=PackageType.choices(), - coerce=PackageType.coerce) + type = SelectMultipleField(lazy_gettext("Type"), [Optional()], + choices=PackageType.choices(), coerce=PackageType.coerce) author = StringField(lazy_gettext("Author"), [Optional()]) tag = QuerySelectMultipleField(lazy_gettext('Tags'), query_factory=lambda: Tag.query.order_by(db.asc(Tag.name)), - get_pk=lambda a: a.id, get_label=make_label) - flag = QuerySelectMultipleField(lazy_gettext('Content Warnings'), query_factory=lambda: ContentWarning.query.order_by(db.asc(ContentWarning.name)), get_pk=lambda a: a.id, get_label=make_label) - license = QuerySelectMultipleField(lazy_gettext("License"), [Optional()], allow_blank=True, query_factory=lambda: License.query.order_by(db.asc(License.name)), get_pk=lambda a: a.id, get_label=lambda a: a.name) + get_pk=lambda a: a.name, get_label=make_label) + flag = QuerySelectMultipleField(lazy_gettext('Content Warnings'), + query_factory=lambda: ContentWarning.query.order_by(db.asc(ContentWarning.name)), + get_pk=lambda a: a.name, get_label=make_label) + license = QuerySelectMultipleField(lazy_gettext("License"), [Optional()], + query_factory=lambda: License.query.order_by(db.asc(License.name)), + allow_blank=True, blank_value="", + get_pk=lambda a: a.name, get_label=lambda a: a.name) game = StringField(lazy_gettext("Supports Game"), [Optional()]) - lang = QuerySelectField(lazy_gettext("Language"), allow_blank=True, + lang = QuerySelectField(lazy_gettext("Language"), query_factory=lambda: Language.query.order_by(db.asc(Language.title)), + allow_blank=True, blank_value="", get_pk=lambda a: a.id, get_label=lambda a: a.title) hide = SelectMultipleField(lazy_gettext("Hide Tags and Content Warnings"), [Optional()]) - engine_version = QuerySelectField(lazy_gettext("Minetest Version"), allow_blank=True, + engine_version = QuerySelectField(lazy_gettext("Minetest Version"), query_factory=lambda: MinetestRelease.query.order_by(db.asc(MinetestRelease.id)), + allow_blank=True, blank_value="", get_pk=lambda a: a.value, get_label=lambda a: a.name) sort = SelectField(lazy_gettext("Sort by"), [Optional()], choices=[ ("", ""), diff --git a/app/querybuilder.py b/app/querybuilder.py index a02ce101..ae4485be 100644 --- a/app/querybuilder.py +++ b/app/querybuilder.py @@ -163,7 +163,7 @@ class QueryBuilder: protocol_version = get_int_or_abort(args.get("protocol_version")) minetest_version = args.get("engine_version") - if minetest_version == "__None": + if minetest_version == "": minetest_version = None if protocol_version or minetest_version: @@ -187,7 +187,7 @@ class QueryBuilder: self.game = None self.has_lang = args.get("lang") - if self.has_lang == "__None": + if self.has_lang == "": self.has_lang = None if cookies and request.cookies.get("hide_nonfree") == "1":