From 04a6bbea191d522d30c4714f1bfc776030646b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=20=D0=93=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B8=D1=85?= Date: Wed, 16 Oct 2019 10:43:06 +0300 Subject: [PATCH] Add content page manager --- apps/news/views.py | 5 +++-- apps/utils/permissions.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/news/views.py b/apps/news/views.py index b5273a5e..105b9064 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -2,7 +2,7 @@ from rest_framework import generics, permissions from news import filters, models, serializers from rating.tasks import add_rating -from utils.permissions import IsCountryAdmin +from utils.permissions import IsCountryAdmin, IsContentPageManager class NewsMixinView: """News mixin.""" @@ -58,7 +58,7 @@ class NewsBackOfficeLCView(NewsBackOfficeMixinView, serializer_class = serializers.NewsBackOfficeBaseSerializer create_serializers_class = serializers.NewsBackOfficeDetailSerializer - permission_classes = [IsCountryAdmin] + permission_classes = [IsCountryAdmin|IsContentPageManager] def get_serializer_class(self): """Override serializer class.""" @@ -76,6 +76,7 @@ class NewsBackOfficeRUDView(NewsBackOfficeMixinView, """Resource for detailed information about news for back-office users.""" serializer_class = serializers.NewsBackOfficeDetailSerializer + permission_classes = [IsCountryAdmin|IsContentPageManager] def get(self, request, pk, *args, **kwargs): add_rating(remote_addr=request.META.get('REMOTE_ADDR'), diff --git a/apps/utils/permissions.py b/apps/utils/permissions.py index e2a2b80a..f1c2f46d 100644 --- a/apps/utils/permissions.py +++ b/apps/utils/permissions.py @@ -120,7 +120,7 @@ class IsCountryAdmin(IsStandardUser): return False -class IsCommentModerator(IsCountryAdmin): +class IsCommentModerator(IsStandardUser): """ Object-level permission to only allow owners of an object to edit it. Assumes the model instance has an `owner` attribute.