added endpoint to retrieve establishment tags
This commit is contained in:
parent
cf884ed906
commit
1ee21edb8e
|
|
@ -107,7 +107,7 @@ class LoginByUsernameOrEmailSerializer(SourceSerializerMixin,
|
|||
authentication = authenticate(username=user.get_username(),
|
||||
password=password)
|
||||
if not authentication:
|
||||
raise utils_exceptions.WrongAuthCredentials()
|
||||
raise utils_exceptions.UserNotFoundError()
|
||||
self.instance = user
|
||||
return attrs
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from comment.serializers import common as comment_serializers
|
|||
from establishment import models
|
||||
from favorites.models import Favorites
|
||||
from location.serializers import AddressSerializer
|
||||
from main.models import MetaDataContent
|
||||
from main.serializers import MetaDataContentSerializer, AwardSerializer, CurrencySerializer
|
||||
from review import models as review_models
|
||||
from timetable.models import Timetable
|
||||
|
|
@ -132,7 +133,7 @@ class EstablishmentBaseSerializer(serializers.ModelSerializer):
|
|||
subtypes = EstablishmentSubTypeSerializer(many=True)
|
||||
address = AddressSerializer()
|
||||
tags = MetaDataContentSerializer(many=True)
|
||||
preview_image = serializers.SerializerMethodField()
|
||||
preview_image = serializers.ImageField(source='image', use_url=False)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -151,11 +152,6 @@ class EstablishmentBaseSerializer(serializers.ModelSerializer):
|
|||
'tags',
|
||||
]
|
||||
|
||||
def get_preview_image(self, obj):
|
||||
"""Get preview image"""
|
||||
return obj.get_full_image_url(request=self.context.get('request'),
|
||||
thumbnail_key='establishment_preview')
|
||||
|
||||
|
||||
class EstablishmentListSerializer(EstablishmentBaseSerializer):
|
||||
"""Serializer for Establishment model."""
|
||||
|
|
@ -322,3 +318,16 @@ class EstablishmentFavoritesCreateSerializer(serializers.ModelSerializer):
|
|||
'content_object': validated_data.pop('establishment')
|
||||
})
|
||||
return super().create(validated_data)
|
||||
|
||||
|
||||
class EstablishmentTagListSerializer(serializers.ModelSerializer):
|
||||
"""List establishment tag serializer."""
|
||||
label_translated = serializers.CharField(
|
||||
source='metadata.label_translated', read_only=True, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
model = MetaDataContent
|
||||
fields = [
|
||||
'label_translated',
|
||||
]
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ app_name = 'establishment'
|
|||
|
||||
urlpatterns = [
|
||||
path('', views.EstablishmentListView.as_view(), name='list'),
|
||||
path('tags/', views.EstablishmentTagListView.as_view(), name='tags'),
|
||||
path('<int:pk>/', views.EstablishmentRetrieveView.as_view(), name='detail'),
|
||||
path('<int:pk>/comments/', views.EstablishmentCommentListView.as_view(), name='list-comments'),
|
||||
path('<int:pk>/comments/create/', views.EstablishmentCommentCreateView.as_view(),
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from rest_framework import generics, permissions
|
|||
from comment import models as comment_models
|
||||
from establishment import filters
|
||||
from establishment import models, serializers
|
||||
from main.models import MetaDataContent
|
||||
from utils.views import JWTGenericViewMixin
|
||||
|
||||
|
||||
|
|
@ -117,3 +118,15 @@ class EstablishmentFavoritesCreateDestroyView(generics.CreateAPIView, generics.D
|
|||
# May raise a permission denied
|
||||
self.check_object_permissions(self.request, obj)
|
||||
return obj
|
||||
|
||||
|
||||
class EstablishmentTagListView(generics.ListAPIView):
|
||||
"""List view for establishment tags."""
|
||||
serializer_class = serializers.EstablishmentTagListSerializer
|
||||
permission_classes = (permissions.AllowAny,)
|
||||
pagination_class = None
|
||||
|
||||
def get_queryset(self):
|
||||
"""Override get_queryset method"""
|
||||
return MetaDataContent.objects.by_content_type(app_label='establishment',
|
||||
model='establishment')
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user