fix agencie share on pos device - fix validation bug of free product pos
This commit is contained in:
@@ -128,13 +128,26 @@ class QuotaViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearchMixin):
|
||||
)
|
||||
livestock_age_limits.append(age_limit_creation_object)
|
||||
|
||||
# create quota price calculation items for final price types
|
||||
price_calculation_items = []
|
||||
if 'price_calculation_items' in request.data.keys():
|
||||
for price_item in request.data['price_calculation_items']:
|
||||
price_item.update({'quota': quota.id})
|
||||
price_item_creation_object = CustomOperations().custom_create(
|
||||
request=request,
|
||||
view=QuotaPriceCalculationItemsViewSet(),
|
||||
data=price_item
|
||||
)
|
||||
price_calculation_items.append(price_item_creation_object)
|
||||
|
||||
data = {
|
||||
'quota': serializer.data,
|
||||
'incentive_plan': plans_list, # noqa
|
||||
'attribute_values': attributes_value_list,
|
||||
'broker_values': broker_data_list,
|
||||
'live_stock_allocations': allocations_list,
|
||||
'livestock_age_limitations': livestock_age_limits
|
||||
'livestock_age_limitations': livestock_age_limits,
|
||||
'price_calculation_items': price_calculation_items
|
||||
}
|
||||
|
||||
# call save method to generate id & calculate quota final price
|
||||
@@ -241,13 +254,30 @@ class QuotaViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearchMixin):
|
||||
)
|
||||
livestock_age_limits.append(age_limit_creation_object)
|
||||
|
||||
# create quota price calculation items for final price types
|
||||
price_calculation_items = []
|
||||
if 'price_calculation_items' in request.data.keys():
|
||||
|
||||
# remove live stock age limit relations
|
||||
quota.pricing_items.all().delete()
|
||||
|
||||
for price_item in request.data['price_calculation_items']:
|
||||
price_item.update({'quota': quota.id})
|
||||
price_item_creation_object = CustomOperations().custom_create(
|
||||
request=request,
|
||||
view=QuotaPriceCalculationItemsViewSet(),
|
||||
data=price_item
|
||||
)
|
||||
price_calculation_items.append(price_item_creation_object)
|
||||
|
||||
data = {
|
||||
'quota': serializer.data,
|
||||
'incentive_plan': plans_list, # noqa
|
||||
'attribute_values': attributes_value_list,
|
||||
'broker_values': broker_data_list,
|
||||
'live_stock_allocations': allocations_list,
|
||||
'livestock_age_limitations': livestock_age_limits
|
||||
'livestock_age_limitations': livestock_age_limits,
|
||||
'price_calculation_items': price_calculation_items
|
||||
}
|
||||
|
||||
# call save method to generate id & calculate quota final price
|
||||
@@ -602,3 +632,13 @@ class QuotaLiveStockAgeLimitation(SoftDeleteMixin, viewsets.ModelViewSet):
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
except APIException as e:
|
||||
return Response(e, status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
class QuotaPriceCalculationItemsViewSet(viewsets.ModelViewSet):
|
||||
queryset = product_models.QuotaPriceCalculationItems.objects.all().select_related('quota', 'pricing_type')
|
||||
serializer_class = quota_serializers.QuotaPriceCalculationPriceItemsSerializer
|
||||
|
||||
|
||||
class QuotaFinalPriceTypeViewSet(viewsets.ModelViewSet):
|
||||
queryset = product_models.QuotaFinalPriceTypes.objects.all()
|
||||
serializer_class = quota_serializers.QuotaFinalPriceTypeSerializer
|
||||
|
||||
Reference in New Issue
Block a user