From 9639cf04f1b54865884850d608f08b5df4afe169 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 8 Jan 2019 17:37:33 +0000 Subject: Improve views subfoldering --- app/querybuilder.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'app/querybuilder.py') diff --git a/app/querybuilder.py b/app/querybuilder.py index 9406406..a7f1323 100644 --- a/app/querybuilder.py +++ b/app/querybuilder.py @@ -28,13 +28,16 @@ class QueryBuilder: self.order_by = args.get("sort") or "score" self.order_dir = args.get("order") or "desc" + if self.search is not None and self.search.strip() == "": + self.search = None + def buildPackageQuery(self): query = Package.query.filter_by(soft_deleted=False, approved=True) if len(self.types) > 0: query = query.filter(Package.type.in_(self.types)) - if self.search is not None and self.search.strip() != "": + if self.search: query = query.filter(Package.title.ilike('%' + self.search + '%')) if self.random: @@ -69,17 +72,14 @@ class QueryBuilder: def buildTopicQuery(self): topics = ForumTopic.query \ .filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \ - .order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ - .filter(ForumTopic.title.ilike('%' + self.search + '%')) + .order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) + + if self.search: + topics = topics.filter(ForumTopic.title.ilike('%' + self.search + '%')) if len(self.types) > 0: topics = topics.filter(ForumTopic.type.in_(self.types)) - if self.hide_nonfree: - topics = topics \ - .filter(Package.license.has(License.is_foss == True)) \ - .filter(Package.media_license.has(License.is_foss == True)) - if self.limit: topics = topics.limit(self.limit) -- cgit v1.2.3