diff --git a/apps/product/web/api/v1/serializers/quota_distribution_serializers.py b/apps/product/web/api/v1/serializers/quota_distribution_serializers.py index 454a3ea..c4c1d03 100644 --- a/apps/product/web/api/v1/serializers/quota_distribution_serializers.py +++ b/apps/product/web/api/v1/serializers/quota_distribution_serializers.py @@ -86,8 +86,11 @@ class QuotaDistributionSerializer(serializers.ModelSerializer): if amount + total > self.instance.quota.quota_weight: raise APIException("وزن وارد شده بیشتر از وزن باقیمانده است", code=403) # noqa else: - if amount + total > self.instance.parent_distribution.weight: - raise APIException("وزن وارد شده بیشتر از وزن باقیمانده است", code=403) # noqa + children_total = self.instance.parent_distribution.children.all().aggregate( + total=models.Sum('weight') + )['total'] or 0 + if children_total + amount > self.instance.parent_distribution.weight: + raise QuotaWeightException() return data diff --git a/apps/warehouse/web/api/v1/serializers.py b/apps/warehouse/web/api/v1/serializers.py index 2c7c859..5a104cc 100644 --- a/apps/warehouse/web/api/v1/serializers.py +++ b/apps/warehouse/web/api/v1/serializers.py @@ -104,6 +104,12 @@ class InventoryQuotaSaleTransactionSerializer(serializers.ModelSerializer): many=True ).data + if instance.seller_organization: + representation['seller_organization'] = { + 'id': instance.seller_organization.id, + 'name': instance.seller_organization.name + } + return representation