From 07a74b2af74ad9c82b9beb789560998eeb635031 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Mon, 6 Oct 2025 14:20:43 +0500 Subject: [PATCH 1/3] add: add new filter --- core/apps/counterparty/views/counterparty.py | 8 ++++++-- core/apps/orders/views/party.py | 1 - core/apps/projects/views/project.py | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/apps/counterparty/views/counterparty.py b/core/apps/counterparty/views/counterparty.py index 68d9a94..2725b4e 100644 --- a/core/apps/counterparty/views/counterparty.py +++ b/core/apps/counterparty/views/counterparty.py @@ -32,9 +32,13 @@ class CounterpartyCreateApiView(generics.GenericAPIView): def post(self, request): serializer = self.serializer_class(data=request.data) if serializer.is_valid(raise_exception=True): - serializer.save() + data = serializer.save() return Response( - {'success': True, 'message': 'Conterparty Created'}, + { + 'success': True, + 'message': 'Conterparty Created' + 'data': serializers.CounterpartyListSerializer(data).data + }, status=201 ) return Response( diff --git a/core/apps/orders/views/party.py b/core/apps/orders/views/party.py index cb4214b..0e4764d 100644 --- a/core/apps/orders/views/party.py +++ b/core/apps/orders/views/party.py @@ -258,4 +258,3 @@ class ChangeConfirmationPartyApiView(views.APIView): }, status=200 ) - \ No newline at end of file diff --git a/core/apps/projects/views/project.py b/core/apps/projects/views/project.py index a1538ff..d0b6d7a 100644 --- a/core/apps/projects/views/project.py +++ b/core/apps/projects/views/project.py @@ -175,10 +175,13 @@ class ProjectAndFolderApiView(views.APIView): def get(self, request): mine = request.query_params.get('is_mine') + wherehouse_ids = request.query_params.getlist('wherehouse') folders = ProjectFolder.objects.prefetch_related('projects') projects = Project.objects.exclude(folder__isnull=False) if mine and mine.lower() == 'true': projects = projects.filter(Q(boss=request.user) | Q(foreman=request.user) | Q(other_members=request.user)) + if wherehouse_ids: + projects = projects.filter(wherehouse=wherehouse_ids) projects_serializer = serializers.ProjectsSerializer(projects, many=True) folders_serializer = serializers.ProjectFoldersSerializer(folders, many=True) return Response( From 57cd3375701aa46bf46ac244be68f47ad7f90d6c Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Mon, 6 Oct 2025 14:29:29 +0500 Subject: [PATCH 2/3] fix error --- core/apps/counterparty/views/counterparty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/apps/counterparty/views/counterparty.py b/core/apps/counterparty/views/counterparty.py index 2725b4e..9a3d63e 100644 --- a/core/apps/counterparty/views/counterparty.py +++ b/core/apps/counterparty/views/counterparty.py @@ -36,7 +36,7 @@ class CounterpartyCreateApiView(generics.GenericAPIView): return Response( { 'success': True, - 'message': 'Conterparty Created' + 'message': 'Conterparty Created', 'data': serializers.CounterpartyListSerializer(data).data }, status=201 From 96425f74845cc5b1cf9d582c5c0b2cae0734da00 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Mon, 6 Oct 2025 14:42:47 +0500 Subject: [PATCH 3/3] fix: fix filter error --- core/apps/projects/views/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/apps/projects/views/project.py b/core/apps/projects/views/project.py index d0b6d7a..1e0b268 100644 --- a/core/apps/projects/views/project.py +++ b/core/apps/projects/views/project.py @@ -181,7 +181,7 @@ class ProjectAndFolderApiView(views.APIView): if mine and mine.lower() == 'true': projects = projects.filter(Q(boss=request.user) | Q(foreman=request.user) | Q(other_members=request.user)) if wherehouse_ids: - projects = projects.filter(wherehouse=wherehouse_ids) + projects = projects.filter(wherehouse__in=wherehouse_ids) projects_serializer = serializers.ProjectsSerializer(projects, many=True) folders_serializer = serializers.ProjectFoldersSerializer(folders, many=True) return Response(