fix - quota exception in distribution limit & sale licence and visibility free by org

This commit is contained in:
2025-11-02 10:59:57 +03:30
parent cca24d6f6a
commit 3b2dc4c522
10 changed files with 160 additions and 37 deletions

View File

@@ -9,7 +9,7 @@ from apps.herd.services.services import get_rancher_statistics, rancher_quota_we
from apps.pos_device.models import POSFreeProducts
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer
from apps.pos_device.services.services import pos_organizations_sharing_information
from apps.product.exceptions import DistributionWeightException
from apps.product.exceptions import DistributionWeightException, QuotaSaleTimeException
from apps.product.models import (
QuotaDistribution,
Product
@@ -251,6 +251,10 @@ class InventoryQuotaSaleTransactionSerializer(serializers.ModelSerializer):
for item in items:
if 'quota_distribution' in item.keys():
distribution = QuotaDistribution.objects.get(id=item.get('quota_distribution'))
# if quota has not been in sale time
if not distribution.quota.is_in_sale_licence_time():
raise QuotaSaleTimeException()
total_sale_weight = distribution.sale_items.aggregate(
total=models.Sum('weight')
)['total'] or 0