diff --git a/apps/account/serializers/back.py b/apps/account/serializers/back.py index 7c730dae..bcab7e73 100644 --- a/apps/account/serializers/back.py +++ b/apps/account/serializers/back.py @@ -51,7 +51,6 @@ class BackUserSerializer(UserSerializer): ) extra_kwargs = { 'password': {'write_only': True}, - 'phone': {'write_only': True}, } read_only_fields = ( 'old_password', diff --git a/apps/account/serializers/common.py b/apps/account/serializers/common.py index b2eed176..f1ebbd50 100644 --- a/apps/account/serializers/common.py +++ b/apps/account/serializers/common.py @@ -110,7 +110,6 @@ class UserSerializer(PhoneMixinSerializer, serializers.ModelSerializer): 'image_url': {'required': False, }, 'cropped_image_url': {'required': False, }, 'newsletter': {'required': False, }, - 'phone': {'required': False, 'write_only': True, } } def create(self, validated_data): diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index 6b8bdd7b..09aab542 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -9,6 +9,7 @@ from account.serializers.common import UserShortSerializer from collection.models import Guide from establishment import models, serializers as model_serializers from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee +from establishment.serializers.common import ContactPhonesSerializer from gallery.models import Image from location.serializers import AddressDetailSerializer, TranslatedField from main.models import Currency @@ -63,13 +64,14 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria read_only=True, ) tz = TimeZoneChoiceField() - phones = serializers.ListField( - source='contact_phones', + contact_phones = serializers.ListField( allow_null=True, allow_empty=True, child=serializers.CharField(max_length=128), required=False, + write_only=True, ) + phones = ContactPhonesSerializer(read_only=True, many=True) emails = serializers.ListField( source='contact_emails', allow_null=True, @@ -78,8 +80,7 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria required=False, ) - class Meta: - model = models.Establishment + class Meta(model_serializers.EstablishmentBaseSerializer.Meta): fields = [ 'id', 'name', @@ -87,6 +88,7 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria 'index_name', 'website', 'phones', + 'contact_phones', 'emails', 'price_level', 'toque_number', @@ -137,17 +139,6 @@ class EstablishmentPositionListSerializer(model_serializers.EstablishmentBaseSer ] -class EstablishmentContactPhoneSerializer(PhoneMixinSerializer, serializers.ModelSerializer): - """Establishment contact phone serializer.""" - class Meta: - """Meta class.""" - model = models.ContactPhone - fields = [ - 'country_calling_code', - 'national_calling_number', - ] - - class EstablishmentRUDSerializer(model_serializers.EstablishmentBaseSerializer): """Establishment create serializer""" @@ -168,7 +159,7 @@ class EstablishmentRUDSerializer(model_serializers.EstablishmentBaseSerializer): subtypes = model_serializers.EstablishmentSubTypeBaseSerializer(source='establishment_subtypes', read_only=True, many=True) type = model_serializers.EstablishmentTypeBaseSerializer(source='establishment_type', read_only=True) - phones = EstablishmentContactPhoneSerializer(read_only=True, many=True) + phones = ContactPhonesSerializer(read_only=True, many=True) class Meta(model_serializers.EstablishmentBaseSerializer.Meta): fields = [ diff --git a/apps/establishment/serializers/common.py b/apps/establishment/serializers/common.py index 6f71fb6c..f3616c4f 100644 --- a/apps/establishment/serializers/common.py +++ b/apps/establishment/serializers/common.py @@ -21,19 +21,21 @@ from timetable.serialziers import ScheduleRUDSerializer from utils import exceptions as utils_exceptions from utils.serializers import ( CarouselCreateSerializer, FavoritesCreateSerializer, ImageBaseSerializer, - ProjectModelSerializer, TranslatedField, + ProjectModelSerializer, TranslatedField, PhoneMixinSerializer ) logger = logging.getLogger(__name__) -class ContactPhonesSerializer(serializers.ModelSerializer): +class ContactPhonesSerializer(PhoneMixinSerializer, serializers.ModelSerializer): """Contact phone serializer""" class Meta: model = models.ContactPhone fields = [ - 'phone' + 'phone', + 'country_calling_code', + 'national_calling_number', ] @@ -657,8 +659,6 @@ class CompanyBaseSerializer(serializers.ModelSerializer): ] extra_kwargs = { 'establishment': {'write_only': True}, - 'phones': {'write_only': True}, - 'faxes': {'write_only': True}, 'address': {'write_only': True} }