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,14 +197,18 @@ 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']:
# create new relations for stat in quota.org_quota_stats.all():
attr.update({'quota': quota.id}) # create new relations
attributes = CustomOperations().custom_create( attr.update({
request=request, 'quota': quota.id,
view=product_api.AttributeValueViewSet(), 'org_quota_stat': stat.id if stat.stat_type != 'quota' else None
data=attr })
) attributes = CustomOperations().custom_create(
attributes_value_list.append(attributes) request=request,
view=product_api.AttributeValueViewSet(),
data=attr
)
attributes_value_list.append(attributes)
# create product broker values for quota # create product broker values for quota
broker_data_list = [] # noqa broker_data_list = [] # noqa
@@ -214,14 +218,18 @@ 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']:
# create new relations for stat in quota.org_quota_stats.all():
broker.update({'quota': quota.id}) # create new relations
broker_value = CustomOperations().custom_create( broker.update({
request=request, 'quota': quota.id,
view=QuotaBrokerValueViewSet(), 'org_quota_stat': stat.id if stat.stat_type != 'quota' else None
data=broker })
) broker_value = CustomOperations().custom_create(
broker_data_list.append(broker_value) request=request,
view=QuotaBrokerValueViewSet(),
data=broker
)
broker_data_list.append(broker_value)
# create livestock allocations to quota # create livestock allocations to quota
allocations_list = [] allocations_list = []