add product
This commit is contained in:
1 parent
423d4cf40e
commit
c8d45dd07c
58 files changed
+8309
-674
No files matched your search
@@ -13,6 +13,17 @@ from apps.workspace.models import City as CityModel
|
||||
from utils.tools import inline_model_serializer, inline_serializer
|
||||
from utils.pagination import CustomPagination
|
||||
from django_filters import rest_framework as filters
|
||||
from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from utils.validations.mobile import normalize_mobile
|
||||
|
||||
|
||||
class MobileField(serializers.CharField):
|
||||
def to_internal_value(self, data):
|
||||
value = super().to_internal_value(data)
|
||||
try:
|
||||
return normalize_mobile(value)
|
||||
except DjangoValidationError:
|
||||
raise serializers.ValidationError('شماره موبایل معتبر وارد کنید.')
|
||||
|
||||
|
||||
|
||||
@@ -87,6 +98,7 @@ class CustomerCreateApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
|
||||
|
||||
class InputSerializer(serializers.ModelSerializer):
|
||||
mobile = MobileField(required=False, allow_null=True)
|
||||
class Meta:
|
||||
model = CustomerModel
|
||||
fields = '__all__'
|
||||
@@ -114,6 +126,7 @@ class CustomerUpdateApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
|
||||
|
||||
class InputSerializer(serializers.ModelSerializer):
|
||||
mobile = MobileField(required=False, allow_null=True)
|
||||
class Meta:
|
||||
model = CustomerModel
|
||||
fields = '__all__'
|
||||
@@ -125,7 +138,7 @@ class CustomerUpdateApi(APIView):
|
||||
exclude = ('sys_ws', )
|
||||
|
||||
def patch(self, request, customer_id: int):
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer = self.InputSerializer(data=request.data, partial=True)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
user_workspace_uuid = get_user_workspace_uuid(request=request)
|
||||
@@ -215,7 +228,7 @@ class CustomerCreateApiV2(APIView):
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
name_family = serializers.CharField(max_length=25, required=True)
|
||||
mobile = serializers.IntegerField(required=True)
|
||||
mobile = MobileField(required=True)
|
||||
phone = serializers.IntegerField(required=True)
|
||||
address = serializers.CharField(max_length=300, required=True)
|
||||
city = serializers.IntegerField(required=True)
|
||||
|
||||
Reference in new issue
Block a user