diff --git a/core/apps/orders/serializers/offer.py b/core/apps/orders/serializers/offer.py index 594c7ea..9776789 100644 --- a/core/apps/orders/serializers/offer.py +++ b/core/apps/orders/serializers/offer.py @@ -90,12 +90,19 @@ class OfferUpdateSerializer(serializers.ModelSerializer): class OffersSerializer(serializers.ModelSerializer): + counterparty = serializers.SerializerMethodField(method_name='get_counterparty') + class Meta: model = Offer fields = [ - 'id', 'number', 'price', 'price_type', 'phone', 'comment', 'qqs', + 'id', 'number', 'price', 'price_type', 'phone', 'comment', 'qqs', 'counterparty' ] + def get_counterparty(self, obj): + return { + 'id': obj.counterparty.id, + 'name': obj.counterparty.name + } class OrderListForOfferSerializer(serializers.ModelSerializer): diff --git a/core/apps/orders/serializers/order.py b/core/apps/orders/serializers/order.py index f49f740..02c37af 100644 --- a/core/apps/orders/serializers/order.py +++ b/core/apps/orders/serializers/order.py @@ -127,7 +127,7 @@ class MultipleOrderAddSerializer(serializers.Serializer): quantity = serializers.IntegerField() unit_amount = serializers.IntegerField() currency = serializers.ChoiceField(choices=[('uzs', 'uzs'), ('usd', 'usd')]) - amount = serializers.UUIDField() + amount = serializers.IntegerField() def validate(self, data): product = Product.objects.filter(id=data['product_id']).first() diff --git a/core/apps/orders/serializers/party.py b/core/apps/orders/serializers/party.py index 5b911a9..11b9ef4 100644 --- a/core/apps/orders/serializers/party.py +++ b/core/apps/orders/serializers/party.py @@ -30,6 +30,7 @@ class PartyCreateSerializer(serializers.Serializer): with transaction.atomic(): resources = validated_data.pop('resources') orders = [] + total_price = 0 for resource in resources: orders.append(Order( product=resource['product'], @@ -38,5 +39,11 @@ class PartyCreateSerializer(serializers.Serializer): project=resource.get('project'), counterparty=resource.get('counterparty'), wherehouse=resource.get('wherehouse'), - - )) \ No newline at end of file + quantity=resource.get('quantity'), + unit_amount=resource.get('unit_amount'), + currency=resource.get('currency'), + amount=resource.get('amount'), + )) + total_price += resource.get('amount') + created_orders = Order.objects.bulk_create(orders) +