Add city name field to establishment api representations
This commit is contained in:
parent
995d55302a
commit
521d7f19f3
|
|
@ -5,7 +5,7 @@ from rest_framework import serializers
|
|||
from comment import models as comment_models
|
||||
from comment.serializers import common as comment_serializers
|
||||
from establishment import models
|
||||
from location.serializers import AddressBaseSerializer, CitySerializer
|
||||
from location.serializers import AddressBaseSerializer, CitySerializer, AddressDetailSerializer
|
||||
from main.serializers import AwardSerializer, CurrencySerializer
|
||||
from tag.serializers import TagBaseSerializer
|
||||
from timetable.serialziers import ScheduleRUDSerializer
|
||||
|
|
@ -225,6 +225,16 @@ class EstablishmentBaseSerializer(ProjectModelSerializer):
|
|||
'currency'
|
||||
]
|
||||
|
||||
class EstablishmentAddressExtendedSerializer(EstablishmentBaseSerializer):
|
||||
"""Establishment with city serializer."""
|
||||
|
||||
address = AddressDetailSerializer()
|
||||
|
||||
class Meta(EstablishmentBaseSerializer.Meta):
|
||||
"""Meta class."""
|
||||
|
||||
fields = EstablishmentBaseSerializer.Meta.fields
|
||||
|
||||
|
||||
class EstablishmentGeoSerializer(EstablishmentBaseSerializer):
|
||||
"""Serializer for Geo view."""
|
||||
|
|
@ -260,6 +270,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
|||
review = ReviewShortSerializer(source='last_published_review', allow_null=True)
|
||||
employees = EstablishmentEmployeeSerializer(source='actual_establishment_employees',
|
||||
many=True)
|
||||
address = AddressDetailSerializer(read_only=True)
|
||||
|
||||
menu = MenuSerializers(source='menu_set', many=True, read_only=True)
|
||||
best_price_menu = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||
best_price_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ class EstablishmentListView(EstablishmentMixinView, generics.ListAPIView):
|
|||
"""Resource for getting a list of establishments."""
|
||||
|
||||
filter_class = filters.EstablishmentFilter
|
||||
serializer_class = serializers.EstablishmentBaseSerializer
|
||||
serializer_class = serializers.EstablishmentAddressExtendedSerializer
|
||||
|
||||
|
||||
class EstablishmentRetrieveView(EstablishmentMixinView, generics.RetrieveAPIView):
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ class EstablishmentDocument(Document):
|
|||
'number': fields.IntegerField(),
|
||||
'postal_code': fields.KeywordField(),
|
||||
'coordinates': fields.GeoPointField(attr='location_field_indexing'),
|
||||
# todo: remove if not used
|
||||
'city': fields.ObjectField(
|
||||
properties={
|
||||
'id': fields.IntegerField(),
|
||||
|
|
|
|||
|
|
@ -19,10 +19,19 @@ class TagsDocumentSerializer(serializers.Serializer):
|
|||
return get_translated_value(obj.label)
|
||||
|
||||
|
||||
class CityDocumentShortSerializer(serializers.Serializer):
|
||||
"""City serializer for ES Document,"""
|
||||
|
||||
id = serializers.IntegerField()
|
||||
code = serializers.CharField(allow_null=True)
|
||||
name = serializers.CharField()
|
||||
|
||||
|
||||
class AddressDocumentSerializer(serializers.Serializer):
|
||||
"""Address serializer for ES Document."""
|
||||
|
||||
id = serializers.IntegerField()
|
||||
city = CityDocumentShortSerializer()
|
||||
street_name_1 = serializers.CharField()
|
||||
street_name_2 = serializers.CharField()
|
||||
number = serializers.IntegerField()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user