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 establishment import models
|
||||
from establishment.serializers import (
|
||||
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
||||
ContactPhonesSerializer, SocialNetworkRelatedSerializers)
|
||||
from main.models import Currency
|
||||
|
||||
|
||||
class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||
"""Establishment create serializer"""
|
||||
|
||||
|
|
@ -10,6 +14,9 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
|||
source='establishment_type',
|
||||
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:
|
||||
model = models.Establishment
|
||||
|
|
@ -17,12 +24,13 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
|||
'id',
|
||||
'name',
|
||||
'website',
|
||||
'phone',
|
||||
'email',
|
||||
'phones',
|
||||
'emails',
|
||||
'price_level',
|
||||
'toque_number',
|
||||
'type_id',
|
||||
'type'
|
||||
'type',
|
||||
'socials'
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -52,4 +60,26 @@ class PlatesSerializers(PlateSerializer):
|
|||
'name',
|
||||
'currency_id',
|
||||
'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):
|
||||
|
||||
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('socials/', views.SocialListCreateView.as_view(), name='socials'),
|
||||
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):
|
||||
"""Social RUD view."""
|
||||
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