add email and phone api for establishments
This commit is contained in:
parent
10d9b52bec
commit
15f02b72ca
|
|
@ -1,8 +1,12 @@
|
||||||
from establishment.serializers import EstablishmentBaseSerializer, PlateSerializer
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from establishment import models
|
from establishment import models
|
||||||
|
from establishment.serializers import (
|
||||||
|
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
||||||
|
ContactPhonesSerializer, SocialNetworkRelatedSerializers)
|
||||||
from main.models import Currency
|
from main.models import Currency
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
"""Establishment create serializer"""
|
"""Establishment create serializer"""
|
||||||
|
|
||||||
|
|
@ -10,6 +14,9 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
source='establishment_type',
|
source='establishment_type',
|
||||||
queryset=models.EstablishmentType.objects.all(), write_only=True
|
queryset=models.EstablishmentType.objects.all(), write_only=True
|
||||||
)
|
)
|
||||||
|
phones = ContactPhonesSerializer(read_only=True, many=True, )
|
||||||
|
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
||||||
|
socials = SocialNetworkRelatedSerializers(read_only=True, many=True, )
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Establishment
|
model = models.Establishment
|
||||||
|
|
@ -17,12 +24,13 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
'website',
|
'website',
|
||||||
'phone',
|
'phones',
|
||||||
'email',
|
'emails',
|
||||||
'price_level',
|
'price_level',
|
||||||
'toque_number',
|
'toque_number',
|
||||||
'type_id',
|
'type_id',
|
||||||
'type'
|
'type',
|
||||||
|
'socials'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -52,4 +60,26 @@ class PlatesSerializers(PlateSerializer):
|
||||||
'name',
|
'name',
|
||||||
'currency_id',
|
'currency_id',
|
||||||
'menu'
|
'menu'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class ContactPhoneBackSerializers(PlateSerializer):
|
||||||
|
"""Social network serializers."""
|
||||||
|
class Meta:
|
||||||
|
model = models.ContactPhone
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'establishment',
|
||||||
|
'phone'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class ContactEmailBackSerializers(PlateSerializer):
|
||||||
|
"""Social network serializers."""
|
||||||
|
class Meta:
|
||||||
|
model = models.ContactEmail
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'establishment',
|
||||||
|
'email'
|
||||||
]
|
]
|
||||||
|
|
@ -31,6 +31,17 @@ class ContactEmailsSerializer(serializers.ModelSerializer):
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class SocialNetworkRelatedSerializers(serializers.ModelSerializer):
|
||||||
|
"""Social network serializers."""
|
||||||
|
class Meta:
|
||||||
|
model = models.SocialNetwork
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'title',
|
||||||
|
'url',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class PlateSerializer(serializers.ModelSerializer):
|
class PlateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
name_translated = serializers.CharField(allow_null=True, read_only=True)
|
name_translated = serializers.CharField(allow_null=True, read_only=True)
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,8 @@ urlpatterns = [
|
||||||
path('plates/<int:pk>/', views.PlateListCreateView.as_view(), name='plate-rud'),
|
path('plates/<int:pk>/', views.PlateListCreateView.as_view(), name='plate-rud'),
|
||||||
path('socials/', views.SocialListCreateView.as_view(), name='socials'),
|
path('socials/', views.SocialListCreateView.as_view(), name='socials'),
|
||||||
path('socials/<int:pk>/', views.SocialRUDView.as_view(), name='social-rud'),
|
path('socials/<int:pk>/', views.SocialRUDView.as_view(), name='social-rud'),
|
||||||
|
path('phones/', views.PhonesListCreateView.as_view(), name='phones'),
|
||||||
|
path('phones/<int:pk>/', views.PhonesRUDView.as_view(), name='phones-rud'),
|
||||||
|
path('emails/', views.EmailListCreateView.as_view(), name='emails'),
|
||||||
|
path('emails/<int:pk>/', views.EmailRUDView.as_view(), name='emails-rud'),
|
||||||
]
|
]
|
||||||
|
|
@ -47,4 +47,30 @@ class PlateListCreateView(generics.ListCreateAPIView):
|
||||||
class PlateRUDView(generics.RetrieveUpdateDestroyAPIView):
|
class PlateRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
"""Social RUD view."""
|
"""Social RUD view."""
|
||||||
serializer_class = serializers.PlatesSerializers
|
serializer_class = serializers.PlatesSerializers
|
||||||
queryset = models.Plate.objects.all()
|
queryset = models.Plate.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class PhonesListCreateView(generics.ListCreateAPIView):
|
||||||
|
"""Plate list create view."""
|
||||||
|
serializer_class = serializers.ContactPhoneBackSerializers
|
||||||
|
queryset = models.ContactPhone.objects.all()
|
||||||
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
|
class PhonesRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""Social RUD view."""
|
||||||
|
serializer_class = serializers.ContactPhoneBackSerializers
|
||||||
|
queryset = models.ContactPhone.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class EmailListCreateView(generics.ListCreateAPIView):
|
||||||
|
"""Plate list create view."""
|
||||||
|
serializer_class = serializers.ContactEmailBackSerializers
|
||||||
|
queryset = models.ContactEmail.objects.all()
|
||||||
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
|
class EmailRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""Social RUD view."""
|
||||||
|
serializer_class = serializers.ContactEmailBackSerializers
|
||||||
|
queryset = models.ContactEmail.objects.all()
|
||||||
Loading…
Reference in New Issue
Block a user