Skip to content

Commit 2fe5487

Browse files
committed
[change] Set perms_map attribute
1 parent 3e9ad53 commit 2fe5487

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

openwisp_users/api/permissions.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import copy
2-
31
from django.utils.translation import gettext_lazy as _
42
from rest_framework.permissions import BasePermission, DjangoModelPermissions
53
from swapper import load_model
@@ -71,9 +69,15 @@ def validate_membership(self, user, org):
7169

7270

7371
class ViewDjangoModelPermissions(DjangoModelPermissions):
74-
def __init__(self):
75-
self.perms_map = copy.deepcopy(self.perms_map)
76-
self.perms_map['GET'] = ['%(app_label)s.view_%(model_name)s']
72+
perms_map = {
73+
'GET': ['%(app_label)s.view_%(model_name)s'],
74+
'OPTIONS': [],
75+
'HEAD': ['%(app_label)s.view_%(model_name)s'],
76+
'POST': ['%(app_label)s.add_%(model_name)s'],
77+
'PUT': ['%(app_label)s.change_%(model_name)s'],
78+
'PATCH': ['%(app_label)s.change_%(model_name)s'],
79+
'DELETE': ['%(app_label)s.delete_%(model_name)s'],
80+
}
7781

7882
def has_permission(self, request, view):
7983
# Workaround to ensure DjangoModelPermissions are not applied

tests/testapp/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def get_queryset(self):
171171
return shelf.book_set.all()
172172

173173

174-
class TemplateListCreateView(ListCreateAPIView):
174+
class TemplateListCreateView(FilterByOrganizationManaged, ListCreateAPIView):
175175
serializer_class = TemplateSerializer
176176
authentication_classes = (BearerAuthentication,)
177177
permission_classes = (

0 commit comments

Comments
 (0)