fix - edit price features in quota

This commit is contained in:
2025-12-03 10:51:01 +03:30
parent a5635c278f
commit d024d7fd7b
3 changed files with 29 additions and 19 deletions

View File

@@ -1,8 +1,8 @@
from rest_framework import serializers from rest_framework import serializers
from apps.product import models as product_models
from apps.authorization.api.v1 import serializers as authorize_serializers from apps.authentication.api.v1.serializers.serializer import OrganizationTypeSerializer
from apps.authentication.api.v1.serializers.serializer import OrganizationSerializer, OrganizationTypeSerializer
from apps.product import exceptions from apps.product import exceptions
from apps.product import models as product_models
class ProductCategorySerializer(serializers.ModelSerializer): # noqa class ProductCategorySerializer(serializers.ModelSerializer): # noqa
@@ -80,6 +80,7 @@ class AttributeValueSerializer(serializers.ModelSerializer):
fields = [ fields = [
"id", "id",
"quota", "quota",
"org_quota_stat",
"attribute", "attribute",
"value", "value",
] ]

View File

@@ -239,6 +239,7 @@ class QuotaBrokerValueSerializer(serializers.ModelSerializer): # noqa
fields = [ fields = [
"id", "id",
"quota", "quota",
"org_quota_stat",
"broker", "broker",
"value", "value",
] ]

View File

@@ -197,8 +197,12 @@ class QuotaViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, DynamicS
quota.attribute_values.all().delete() quota.attribute_values.all().delete()
for attr in request.data['price_attributes_data']: for attr in request.data['price_attributes_data']:
for stat in quota.org_quota_stats.all():
# create new relations # create new relations
attr.update({'quota': quota.id}) attr.update({
'quota': quota.id,
'org_quota_stat': stat.id if stat.stat_type != 'quota' else None
})
attributes = CustomOperations().custom_create( attributes = CustomOperations().custom_create(
request=request, request=request,
view=product_api.AttributeValueViewSet(), view=product_api.AttributeValueViewSet(),
@@ -214,8 +218,12 @@ class QuotaViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, DynamicS
quota.broker_values.all().delete() quota.broker_values.all().delete()
for broker in request.data['broker_data']: for broker in request.data['broker_data']:
for stat in quota.org_quota_stats.all():
# create new relations # create new relations
broker.update({'quota': quota.id}) broker.update({
'quota': quota.id,
'org_quota_stat': stat.id if stat.stat_type != 'quota' else None
})
broker_value = CustomOperations().custom_create( broker_value = CustomOperations().custom_create(
request=request, request=request,
view=QuotaBrokerValueViewSet(), view=QuotaBrokerValueViewSet(),