Added access levels

This commit is contained in:
dormantman 2020-01-22 16:14:00 +03:00
parent 6a1fea76b6
commit 40bfd479d2
2 changed files with 32 additions and 2 deletions

View File

@ -9,5 +9,9 @@ common_urlpatterns = [
path('awards/<int:pk>/', AwardRetrieveView.as_view(), name='awards_retrieve'),
path('carousel/', CarouselListView.as_view(), name='carousel-list'),
path('determine-location/', DetermineLocation.as_view(), name='determine-location'),
path('content-pages/', ContentPage.as_view(), name='content-pages')
path('content-pages/', ContentPageView.as_view(), name='content-pages-list'),
path('content-pages/create/', ContentPageAdminView.as_view(), name='content-pages-admin-list'),
path('content-pages/slug/<slug:slug>/', ContentPageRetrieveView.as_view(), name='content-pages-retrieve'),
path('content-pages/update/slug/<slug:slug>/', ContentPageRetrieveAdminView.as_view(),
name='content-pages-admin-retrieve')
]

View File

@ -97,9 +97,35 @@ class DetermineLocation(generics.GenericAPIView):
raise Http404
class ContentPage(generics.ListCreateAPIView):
class ContentPageView(generics.ListAPIView):
"""Method to get content pages"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.ContentPageSerializer
queryset = models.ContentPage.objects.all()
class ContentPageAdminView(generics.ListCreateAPIView):
"""Method to get content pages"""
permission_classes = (permissions.IsAdminUser,)
serializer_class = serializers.ContentPageSerializer
queryset = models.ContentPage.objects.all()
class ContentPageRetrieveView(generics.RetrieveAPIView):
"""Retrieve method to get content pages"""
lookup_field = 'slug'
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.ContentPageSerializer
queryset = models.ContentPage.objects.all()
class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView):
"""Retrieve method to get content pages"""
lookup_field = 'slug'
permission_classes = (permissions.IsAdminUser,)
serializer_class = serializers.ContentPageSerializer
queryset = models.ContentPage.objects.all()