removed endpoint to display a list of tags by establishment id, added instead filter to filter tags by establishment id

This commit is contained in:
Anatoly 2019-10-14 11:40:03 +03:00
parent 47993a7155
commit 9e237d4657
4 changed files with 19 additions and 26 deletions

View File

@ -91,6 +91,7 @@ class ConfirmEmailView(JWTGenericViewMixin):
else:
raise utils_exceptions.UserNotFoundError()
class ConfirmPasswordView(JWTGenericViewMixin):
"""View for applying newly set password"""

View File

@ -26,3 +26,17 @@ class EstablishmentFilter(filters.FilterSet):
if value not in EMPTY_VALUES:
return queryset.search(value, locale=self.request.locale)
return queryset
class EstablishmentTypeTagFilter(filters.FilterSet):
"""Establishment tag filter set."""
type_id = filters.NumberFilter(field_name='id')
class Meta:
"""Meta class."""
model = models.EstablishmentType
fields = (
'type_id',
)

View File

@ -14,8 +14,6 @@ urlpatterns = [
name='schedule-rud'),
path('<int:pk>/schedule/', views.EstablishmentScheduleCreateView.as_view(),
name='schedule-create'),
path('<int:pk>/type/tags/', views.EstablishmentTagCategoryListView.as_view(),
name='tag-category-list'),
path('attach-tag/', views.EstablishmentTagCreateView.as_view(), name='attach-tag'),
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),

View File

@ -1,10 +1,11 @@
"""Establishment app views."""
from django.shortcuts import get_object_or_404
from rest_framework import generics, status
from rest_framework import generics, status, permissions
from establishment import models, serializers
from rest_framework.response import Response
from timetable.serialziers import ScheduleRUDSerializer, ScheduleCreateSerializer
from establishment.filters import EstablishmentTypeTagFilter
class EstablishmentMixinViews:
@ -54,29 +55,6 @@ class EstablishmentScheduleCreateView(generics.CreateAPIView):
serializer_class = ScheduleCreateSerializer
class EstablishmentTagCategoryListView(EstablishmentMixinViews, generics.RetrieveAPIView):
"""View for establishment tag categories."""
serializer_class = serializers.EstablishmentTagsByType
pagination_class = None
def get_object(self):
"""
Returns the object the view is displaying.
"""
queryset = super(EstablishmentTagCategoryListView, self).get_queryset()
# Perform the lookup filtering.
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
filter_kwargs = {self.lookup_field: self.kwargs[lookup_url_kwarg]}
obj = get_object_or_404(queryset, **filter_kwargs)
# May raise a permission denied
self.check_object_permissions(self.request, obj)
return obj.establishment_type
class EstablishmentTypeAttachTagCategoryView(generics.CreateAPIView):
"""Attach tag category to establishment type."""
serializer_class = serializers.EstablishmentTypeTagCategoryBaseSerializer
@ -190,6 +168,8 @@ class EstablishmentTypeTagListView(generics.ListAPIView):
"""List of tags with categories by establishment type."""
serializer_class = serializers.EstablishmentTagsByType
queryset = models.EstablishmentType.objects.all()
filter_class = EstablishmentTypeTagFilter
permission_classes = (permissions.AllowAny, )
pagination_class = None