Files
RasadDam_Backend/apps/pos_device/web/api/v1/serilaizers/client.py

43 lines
1.2 KiB
Python

from rest_framework.serializers import ModelSerializer
from apps.pos_device import models as pos_models
from rest_framework.exceptions import APIException
from rest_framework import status
class POSClientSerializer(ModelSerializer):
class Meta:
model = pos_models.POSClient
fields = '__all__'
def validate(self, attrs):
org = attrs['organization']
# check for duplicate organization client
if org:
if self.Meta.model.objects.filter(organization=org).exists():
raise APIException("قبلا کلاینت با این سازمان ثبت شده است", code=status.HTTP_403_FORBIDDEN) # noqa
return attrs
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['organization'] = {
'name': instance.organization.name,
'id': instance.organization.id
}
return representation
class POSClientAttributeSerializer(ModelSerializer):
class Meta:
model = pos_models.POSClientAttribute
fields = '__all__'
class POSClientAttributeValueSerializer(ModelSerializer):
class Meta:
model = pos_models.POSClientAttributeValue
fields = '__all__'