From be224b2cd60df25a188689260f3cc661d9aa52b7 Mon Sep 17 00:00:00 2001 From: phzhik Date: Fri, 3 Nov 2023 00:55:07 +0400 Subject: [PATCH] * Check the Gifts that are being added to Checklist from unauthorized users --- store/serializers.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/store/serializers.py b/store/serializers.py index 5f195d4..2e4dd0f 100644 --- a/store/serializers.py +++ b/store/serializers.py @@ -1,6 +1,7 @@ from drf_extra_fields.fields import Base64ImageField from rest_framework import serializers +from store.exceptions import CRMException from store.models import User, Checklist, GlobalSettings, Category, PaymentMethod, Promocode, Image, Gift from store.utils import get_primary_key_related_model @@ -195,7 +196,13 @@ class AnonymousUserChecklistSerializer(ChecklistSerializer): 'buyername', 'buyerphone', 'delivery', 'recievername', 'recieverphone', 'tg', - 'cdek_barcode_pdf'}) + 'gift', 'cdek_barcode_pdf'}) + + def validate(self, attrs): + gift = attrs.get('gift') + if gift is not None and self.instance.price_yuan < gift.min_price: + raise CRMException("Can't add gift: price of order < min_price of gift") + return attrs class GlobalSettingsSerializer(serializers.ModelSerializer):