From bb1bf58a689d1cb151fc2c5287ee0a02a68751e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bmate711@gmail.com>
Date: Thu, 25 Jan 2018 18:24:26 +0100
Subject: [PATCH] update permissions and views

---
 src/homework/permissions.py | 13 +++++++++----
 src/homework/views.py       |  4 ++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/homework/permissions.py b/src/homework/permissions.py
index 762faed..a8d1ae6 100644
--- a/src/homework/permissions.py
+++ b/src/homework/permissions.py
@@ -30,8 +30,13 @@ class IsAuthenticatedOrReadOnly(BasePermission):
 
 class IsStaffOrReadOnlyForAuthenticated(BasePermission):
 
-    def has_object_permission(self, request, view, obj):
-        return (request.user.is_staff or
-                request.method in SAFE_METHODS and
-                request.user.is_authenticated
+    """
+    The request is authenticated as a staff, or is a read-only request for authenticated.
+    """
+
+    def has_object_permission(self, request, view):
+        return (
+            request.user.is_staff or
+            request.method in SAFE_METHODS and
+            request.user.is_authenticated
         )
diff --git a/src/homework/views.py b/src/homework/views.py
index 2d0344b..005d453 100644
--- a/src/homework/views.py
+++ b/src/homework/views.py
@@ -11,13 +11,13 @@ from rest_framework import status
 class TasksViewSet(viewsets.ModelViewSet):
     serializer_class = serializers.TaskSerializer
     queryset = models.Task.objects.all()
-    permission_classes = (permissions.IsStaffOrReadOnly, )
+    permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, )
 
 
 class SolutionViewSet(viewsets.ModelViewSet):
     serializer_class = serializers.SolutionSerializer
     queryset = models.Solution.objects.all()
-    permission_classes = (permissions.SolutionPermission, )
+    permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, )
 
     def create(self, request, *args, **kwargs):
         serializer = self.get_serializer(data=request.data)
-- 
GitLab