From b320099c4499200c021675f471de5dd90b54be24 Mon Sep 17 00:00:00 2001 From: Kumi Date: Sat, 25 May 2024 17:10:19 +0200 Subject: [PATCH] feat: enhance project search for teachers Extended the `projects_search` function and adjusted `category_page` logic to specifically cater to searches initiated by teachers. This update introduces a `teachers` flag that, when set to true, modifies the search criteria to include projects tagged for teachers, thereby streamlining the retrieval of educational content. This change aims to improve the user experience for educators by making relevant projects more accessible. By distinguishing teacher-initiated searches with a dedicated filter, the platform can now offer more tailored content, thus enhancing its value as an educational resource. --- src/structables/utils/helpers.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/structables/utils/helpers.py b/src/structables/utils/helpers.py index 1ea04be..a6399de 100644 --- a/src/structables/utils/helpers.py +++ b/src/structables/utils/helpers.py @@ -306,9 +306,14 @@ def category_page(app, name, teachers=False): ): channels.append(channel["channel"]) - category_ibles, total = projects_search( - app, category=name, page=page, filter_by="featureFlag:=true" - ) + if teachers: + category_ibles, total = projects_search( + app, teachers=True, page=page, filter_by="featureFlag:=true" + ) + else: + category_ibles, total = projects_search( + app, category=name, page=page, filter_by="featureFlag:=true" + ) for ible in category_ibles: link = f"/{ible['document']['urlString']}" @@ -352,6 +357,7 @@ def projects_search( app, query="*", category="", + teachers=False, channel="", filter_by="", page=1, @@ -371,6 +377,11 @@ def projects_search( filter_by += " && " filter_by += f"channel:={channel}" + if teachers: + if filter_by: + filter_by += " && " + filter_by += "teachers:=Teachers" + query = quote(query) filter_by = quote(filter_by)