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:
parent
47993a7155
commit
9e237d4657
|
|
@ -91,6 +91,7 @@ class ConfirmEmailView(JWTGenericViewMixin):
|
||||||
else:
|
else:
|
||||||
raise utils_exceptions.UserNotFoundError()
|
raise utils_exceptions.UserNotFoundError()
|
||||||
|
|
||||||
|
|
||||||
class ConfirmPasswordView(JWTGenericViewMixin):
|
class ConfirmPasswordView(JWTGenericViewMixin):
|
||||||
"""View for applying newly set password"""
|
"""View for applying newly set password"""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,3 +26,17 @@ class EstablishmentFilter(filters.FilterSet):
|
||||||
if value not in EMPTY_VALUES:
|
if value not in EMPTY_VALUES:
|
||||||
return queryset.search(value, locale=self.request.locale)
|
return queryset.search(value, locale=self.request.locale)
|
||||||
return queryset
|
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',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,6 @@ urlpatterns = [
|
||||||
name='schedule-rud'),
|
name='schedule-rud'),
|
||||||
path('<int:pk>/schedule/', views.EstablishmentScheduleCreateView.as_view(),
|
path('<int:pk>/schedule/', views.EstablishmentScheduleCreateView.as_view(),
|
||||||
name='schedule-create'),
|
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('attach-tag/', views.EstablishmentTagCreateView.as_view(), name='attach-tag'),
|
||||||
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
||||||
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
"""Establishment app views."""
|
"""Establishment app views."""
|
||||||
from django.shortcuts import get_object_or_404
|
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 establishment import models, serializers
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from timetable.serialziers import ScheduleRUDSerializer, ScheduleCreateSerializer
|
from timetable.serialziers import ScheduleRUDSerializer, ScheduleCreateSerializer
|
||||||
|
from establishment.filters import EstablishmentTypeTagFilter
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentMixinViews:
|
class EstablishmentMixinViews:
|
||||||
|
|
@ -54,29 +55,6 @@ class EstablishmentScheduleCreateView(generics.CreateAPIView):
|
||||||
serializer_class = ScheduleCreateSerializer
|
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):
|
class EstablishmentTypeAttachTagCategoryView(generics.CreateAPIView):
|
||||||
"""Attach tag category to establishment type."""
|
"""Attach tag category to establishment type."""
|
||||||
serializer_class = serializers.EstablishmentTypeTagCategoryBaseSerializer
|
serializer_class = serializers.EstablishmentTypeTagCategoryBaseSerializer
|
||||||
|
|
@ -190,6 +168,8 @@ class EstablishmentTypeTagListView(generics.ListAPIView):
|
||||||
"""List of tags with categories by establishment type."""
|
"""List of tags with categories by establishment type."""
|
||||||
serializer_class = serializers.EstablishmentTagsByType
|
serializer_class = serializers.EstablishmentTagsByType
|
||||||
queryset = models.EstablishmentType.objects.all()
|
queryset = models.EstablishmentType.objects.all()
|
||||||
|
filter_class = EstablishmentTypeTagFilter
|
||||||
|
permission_classes = (permissions.AllowAny, )
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user