1
- from rest_framework . permissions import BasePermission
1
+ from rest_framework import permissions
2
2
3
3
4
- class IsCurrentUser (BasePermission ):
4
+ class DjangoModelPermissions (permissions .DjangoModelPermissions ):
5
+ def __init__ (self ):
6
+ self .perms_map ['GET' ] = ['%(app_label)s.view_%(model_name)s' ]
7
+ self .perms_map ['OPTIONS' ] = ['%(app_label)s.view_%(model_name)s' ]
8
+ self .perms_map ['HEAD' ] = ['%(app_label)s.view_%(model_name)s' ]
9
+
10
+
11
+ class IsCurrentUser (permissions .BasePermission ):
5
12
def has_object_permission (self , request , view , obj ):
6
13
return obj == request .user
7
14
8
15
9
- class IsSuperuser (BasePermission ):
16
+ class IsSuperuser (permissions . BasePermission ):
10
17
def has_permission (self , request , view ):
11
18
return bool (request .user and request .user .is_superuser )
12
19
13
20
14
- class HasPermission (BasePermission ):
21
+ class HasPermission (permissions . BasePermission ):
15
22
permission_codename = ''
16
23
17
24
def __init__ (self , permission_codename ):
@@ -25,7 +32,7 @@ def has_permission(self, request, view):
25
32
return request .user .has_perm (self .permission_codename )
26
33
27
34
28
- class ExportPermission (BasePermission ):
35
+ class ExportPermission (permissions . BasePermission ):
29
36
def has_permission (self , request , view ):
30
37
if view .action == 'export' :
31
38
model = view .get_queryset ().model
0 commit comments