diff --git a/course_discovery/apps/api/serializers.py b/course_discovery/apps/api/serializers.py index 92b6dd0551..72928adf24 100644 --- a/course_discovery/apps/api/serializers.py +++ b/course_discovery/apps/api/serializers.py @@ -2339,6 +2339,7 @@ class Meta: 'marketing_id', 'marketing_url', 'designation', + 'partner' ) diff --git a/course_discovery/apps/api/v1/views/search.py b/course_discovery/apps/api/v1/views/search.py index b111ffa06e..0eb118f29a 100644 --- a/course_discovery/apps/api/v1/views/search.py +++ b/course_discovery/apps/api/v1/views/search.py @@ -200,7 +200,7 @@ class PersonSearchViewSet(BaseHaystackViewSet): ordering_fields = ('created', 'full_name',) permission_classes = (IsAuthenticated,) index_models = (Person,) - filter_backends = (CatalogDataFilterBackend, HaystackOrderingFilter) + filter_backends = (filters.HaystackFilter, CatalogDataFilterBackend, HaystackOrderingFilter) detail_serializer_class = serializers.PersonSearchModelSerializer facet_serializer_class = serializers.PersonFacetSerializer serializer_class = serializers.PersonSearchSerializer @@ -208,7 +208,6 @@ class PersonSearchViewSet(BaseHaystackViewSet): document_uid = 'uuid' lookup_field = 'uuid' - class PersonTypeaheadSearchView(APIView): """ Typeahead for people. """ permission_classes = (IsAuthenticated,) diff --git a/course_discovery/apps/course_metadata/search_indexes.py b/course_discovery/apps/course_metadata/search_indexes.py index fe78446917..99016151f7 100644 --- a/course_discovery/apps/course_metadata/search_indexes.py +++ b/course_discovery/apps/course_metadata/search_indexes.py @@ -402,7 +402,7 @@ class PersonIndex(BaseIndex, indexes.Indexable): uuid = indexes.CharField(model_attr='uuid') salutation = indexes.CharField(model_attr='salutation', null=True) full_name = indexes.CharField(model_attr='full_name', stored=False, indexed=False) - partner = indexes.CharField(null=True) + partner = indexes.CharField(null=True, faceted=True) bio = indexes.CharField(model_attr='bio', null=True) bio_language = indexes.CharField(model_attr='bio_language', null=True) get_profile_image_url = indexes.CharField(model_attr='get_profile_image_url', null=True) @@ -421,6 +421,9 @@ def prepare_organizations(self, obj): all_organizations = [course_run.course.authoring_organizations.all() for course_run in course_runs] formatted_organizations = [org.key for orgs in all_organizations for org in orgs] return formatted_organizations + + def prepare_partner(self, obj): + return obj.partner.short_code def prepare_position(self, obj): try: