Skip to content
Snippets Groups Projects
Commit 6805cae1 authored by Jean-Baptiste's avatar Jean-Baptiste
Browse files

syntax: code format

parent 21fa9793
No related branches found
No related tags found
1 merge request!36Resolve "auto_author gives permission to everybody???"
Pipeline #837 passed with stage
in 1 minute and 26 seconds
from rest_framework import permissions
from rest_framework import filters
from guardian.shortcuts import get_objects_for_user
from rest_framework import filters
from rest_framework import permissions
"""
Liste des actions passées dans views selon le protocole REST :
......@@ -16,6 +16,7 @@ Pour chacune de ces actions, on va définir si on accepte la requête (True) ou
checks have already passed
"""
class WACPermissions(permissions.DjangoObjectPermissions):
perms_map = {
'GET': ['%(app_label)s.view_%(model_name)s'],
......@@ -50,6 +51,7 @@ class ObjectFilter(filters.BaseFilterBackend):
objects = get_objects_for_user(request.user, perm, klass=queryset)
return objects
class ObjectPermission(WACPermissions):
filter_class = ObjectFilter
......@@ -60,7 +62,7 @@ class InboxPermissions(WACPermissions):
Author can edit
"""
anonymous_perms = ['view', 'create']
authenticated_perms = ['view','create']
authenticated_perms = ['view', 'create']
author_perms = ['view']
def has_permission(self, request, view):
......@@ -84,6 +86,7 @@ class InboxPermissions(WACPermissions):
else:
return self.authenticated_perms
class AnonymousReadOnly(WACPermissions):
"""
Anonymous users: can read all posts
......@@ -92,7 +95,7 @@ class AnonymousReadOnly(WACPermissions):
"""
anonymous_perms = ['view']
authenticated_perms = ['view','add']
authenticated_perms = ['view', 'add']
author_perms = ['view', 'add', 'change', 'control', 'delete']
def has_permission(self, request, view):
......@@ -123,4 +126,4 @@ class AnonymousReadOnly(WACPermissions):
if hasattr(obj._meta, 'auto_author') and getattr(obj, obj._meta.auto_author) == request.user:
return self.author_perms
else:
return self.authenticated_perms
\ No newline at end of file
return self.authenticated_perms
......@@ -7,6 +7,7 @@ from djangoldp.views import LDPViewSet
import json
class TestUserPermissions(APITestCase):
def setUp(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment