diff --git a/mayan/apps/dynamic_search/api_views.py b/mayan/apps/dynamic_search/api_views.py index 045db66fa7..faf5c323db 100644 --- a/mayan/apps/dynamic_search/api_views.py +++ b/mayan/apps/dynamic_search/api_views.py @@ -47,7 +47,10 @@ class APISearchView(SearchModelMixin, generics.ListAPIView): return queryset def get_serializer(self, *args, **kwargs): - return None + if self.get_search_model_name(): + return super(APISearchView, self).get_serializer(*args, **kwargs) + else: + return None class APIAdvancedSearchView(SearchModelMixin, generics.ListAPIView): @@ -93,7 +96,10 @@ class APIAdvancedSearchView(SearchModelMixin, generics.ListAPIView): return queryset def get_serializer(self, *args, **kwargs): - return None + if self.get_search_model_name(): + return super(APISearchView, self).get_serializer(*args, **kwargs) + else: + return None class APISearchModelList(generics.ListAPIView): diff --git a/mayan/apps/dynamic_search/mixins.py b/mayan/apps/dynamic_search/mixins.py index 631fa219ac..225adf104c 100644 --- a/mayan/apps/dynamic_search/mixins.py +++ b/mayan/apps/dynamic_search/mixins.py @@ -7,8 +7,11 @@ from .classes import SearchModel class SearchModelMixin(object): + def get_search_model_name(self): + return self.kwargs.get('search_model') + def get_search_model(self): try: - return SearchModel.get(self.kwargs['search_model']) + return SearchModel.get(self.get_search_model_name()) except KeyError as exception: raise Http404(force_text(exception))