Merge branch 'bugfix/kuroshini' into develop
This commit is contained in:
commit
8a8986246f
|
|
@ -7,6 +7,7 @@ from establishment.serializers import (
|
||||||
EstablishmentTypeBaseSerializer)
|
EstablishmentTypeBaseSerializer)
|
||||||
from main.models import Currency
|
from main.models import Currency
|
||||||
from utils.decorators import with_base_attributes
|
from utils.decorators import with_base_attributes
|
||||||
|
from utils.serializers import TimeZoneChoiceField
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
|
|
@ -19,8 +20,8 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
phones = ContactPhonesSerializer(read_only=True, many=True, )
|
phones = ContactPhonesSerializer(read_only=True, many=True, )
|
||||||
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
||||||
socials = SocialNetworkRelatedSerializers(read_only=True, many=True, )
|
socials = SocialNetworkRelatedSerializers(read_only=True, many=True, )
|
||||||
slug = serializers.SlugField(required=True, allow_blank=False, max_length=50)
|
|
||||||
type = EstablishmentTypeBaseSerializer(source='establishment_type', read_only=True)
|
type = EstablishmentTypeBaseSerializer(source='establishment_type', read_only=True)
|
||||||
|
tz = TimeZoneChoiceField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Establishment
|
model = models.Establishment
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,6 @@ class EstablishmentBaseSerializer(ProjectModelSerializer):
|
||||||
"""Base serializer for Establishment model."""
|
"""Base serializer for Establishment model."""
|
||||||
|
|
||||||
preview_image = serializers.URLField(source='preview_image_url')
|
preview_image = serializers.URLField(source='preview_image_url')
|
||||||
slug = serializers.SlugField(allow_blank=False, required=True, max_length=50)
|
|
||||||
address = AddressBaseSerializer()
|
address = AddressBaseSerializer()
|
||||||
in_favorites = serializers.BooleanField(allow_null=True)
|
in_favorites = serializers.BooleanField(allow_null=True)
|
||||||
tags = TagBaseSerializer(read_only=True, many=True)
|
tags = TagBaseSerializer(read_only=True, many=True)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from rest_framework import serializers
|
||||||
from advertisement.serializers.web import AdvertisementSerializer
|
from advertisement.serializers.web import AdvertisementSerializer
|
||||||
from location.serializers import CountrySerializer
|
from location.serializers import CountrySerializer
|
||||||
from main import models
|
from main import models
|
||||||
from utils.serializers import ProjectModelSerializer
|
from utils.serializers import ProjectModelSerializer, TranslatedField
|
||||||
|
|
||||||
|
|
||||||
class FeatureSerializer(serializers.ModelSerializer):
|
class FeatureSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -41,7 +41,9 @@ class SiteFeatureSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class CurrencySerializer(ProjectModelSerializer):
|
class CurrencySerializer(ProjectModelSerializer):
|
||||||
"""Currency serializer"""
|
"""Currency serializer."""
|
||||||
|
|
||||||
|
name_translated = TranslatedField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Currency
|
model = models.Currency
|
||||||
|
|
|
||||||
|
|
@ -102,28 +102,3 @@ class EstablishmentDocumentSerializer(DocumentSerializer):
|
||||||
# 'establishment_type',
|
# 'establishment_type',
|
||||||
# 'establishment_subtypes',
|
# 'establishment_subtypes',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# def to_representation(self, instance):
|
|
||||||
# ret = super().to_representation(instance)
|
|
||||||
# dict_merge = lambda a, b: a.update(b) or a
|
|
||||||
#
|
|
||||||
# ret['tags'] = map(lambda tag: dict_merge(tag, {'label_translated': get_translated_value(tag.pop('label'))}),
|
|
||||||
# ret['tags'])
|
|
||||||
# ret['establishment_subtypes'] = map(
|
|
||||||
# lambda subtype: dict_merge(subtype, {'name_translated': get_translated_value(subtype.pop('name'))}),
|
|
||||||
# ret['establishment_subtypes'])
|
|
||||||
# if ret.get('establishment_type'):
|
|
||||||
# ret['establishment_type']['name_translated'] = get_translated_value(ret['establishment_type'].pop('name'))
|
|
||||||
# if ret.get('address'):
|
|
||||||
# ret['address']['city']['country']['name_translated'] = get_translated_value(
|
|
||||||
# ret['address']['city']['country'].pop('name'))
|
|
||||||
# location = ret['address'].pop('location')
|
|
||||||
# if location:
|
|
||||||
# ret['address']['geo_lon'] = location['lon']
|
|
||||||
# ret['address']['geo_lat'] = location['lat']
|
|
||||||
#
|
|
||||||
# ret['type'] = ret.pop('establishment_type')
|
|
||||||
# ret['subtypes'] = ret.pop('establishment_subtypes')
|
|
||||||
#
|
|
||||||
# return ret
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
"""Utils app serializer."""
|
"""Utils app serializer."""
|
||||||
|
import pytz
|
||||||
from django.core import exceptions
|
from django.core import exceptions
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from utils import models
|
from utils import models
|
||||||
|
|
@ -48,6 +49,21 @@ class TJSONField(serializers.JSONField):
|
||||||
validators = [validate_tjson]
|
validators = [validate_tjson]
|
||||||
|
|
||||||
|
|
||||||
|
class TimeZoneChoiceField(serializers.ChoiceField):
|
||||||
|
"""Take the timezone object and make it JSON serializable."""
|
||||||
|
|
||||||
|
def __init__(self, choices=None, **kwargs):
|
||||||
|
if choices is None:
|
||||||
|
choices = pytz.all_timezones
|
||||||
|
super().__init__(choices=choices, **kwargs)
|
||||||
|
|
||||||
|
def to_representation(self, value):
|
||||||
|
return value.zone
|
||||||
|
|
||||||
|
def to_internal_value(self, data):
|
||||||
|
return pytz.timezone(data)
|
||||||
|
|
||||||
|
|
||||||
class ProjectModelSerializer(serializers.ModelSerializer):
|
class ProjectModelSerializer(serializers.ModelSerializer):
|
||||||
"""Overrided ModelSerializer."""
|
"""Overrided ModelSerializer."""
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user