diff --git a/apiserver/plane/api/urls.py b/apiserver/plane/api/urls.py index 04bbc2a47..4280b1e59 100644 --- a/apiserver/plane/api/urls.py +++ b/apiserver/plane/api/urls.py @@ -1240,7 +1240,7 @@ urlpatterns = [ ## End Importer # Search path( - "workspaces//projects//search/", + "workspaces//search/", GlobalSearchEndpoint.as_view(), name="global-search", ), diff --git a/apiserver/plane/api/views/search.py b/apiserver/plane/api/views/search.py index d3bcbc532..0a8c5c530 100644 --- a/apiserver/plane/api/views/search.py +++ b/apiserver/plane/api/views/search.py @@ -63,7 +63,7 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: issues = issues.filter(project_id=project_id) return issues.distinct().values( @@ -87,13 +87,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: cycles = cycles.filter(project_id=project_id) return cycles.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -109,13 +110,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: modules = modules.filter(project_id=project_id) return modules.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -131,13 +133,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: pages = pages.filter(project_id=project_id) return pages.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -153,20 +156,22 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: issue_views = issue_views.filter(project_id=project_id) return issue_views.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) - def get(self, request, slug, project_id): + def get(self, request, slug): try: query = request.query_params.get("search", False) workspace_search = request.query_params.get("workspace_search", "false") + project_id = request.query_params.get("project_id", False) if not query: return Response(