From 400d3ac4554fe03300315b4f03540498026c130d Mon Sep 17 00:00:00 2001 From: Mojtaba-z Date: Tue, 18 Nov 2025 11:25:33 +0330 Subject: [PATCH] add - quota distributions assigned by target organization --- .../api/v1/viewsets/quota_distribution_api.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/apps/product/web/api/v1/viewsets/quota_distribution_api.py b/apps/product/web/api/v1/viewsets/quota_distribution_api.py index 2351f41..1e44d85 100644 --- a/apps/product/web/api/v1/viewsets/quota_distribution_api.py +++ b/apps/product/web/api/v1/viewsets/quota_distribution_api.py @@ -131,6 +131,37 @@ class QuotaDistributionViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewS serializer = self.get_serializer(page, many=True) # noqa return self.get_paginated_response(serializer.data) + @action( + methods=['get'], + detail=False, + url_name='quota_distributions_assigned_by_org', + url_path='quota_distributions_assigned_by_org', + name='quota_distributions_assigned_by_org' + ) + def quota_distributions_assigned_by_org(self, request): + """ + list of distributions pf a quota that target org is assigner + """ + query = self.request.query_params # noqa + + target_org = product_models.Organization.objects.filter( + id=query.get('org_id') + ).first() + + target_quota = product_models.Quota.objects.filter( + id=query.get('quota_id') + ).first() + + queryset = self.filter_query(self.get_queryset().filter( + assigner_organization=target_org, + quota=target_quota + )) + + page = self.paginate_queryset(queryset) + if page is not None: # noqa + serializer = self.get_serializer(page, many=True) # noqa + return self.get_paginated_response(serializer.data) + @action( methods=['put'], detail=True,