Skip to content

Commit b37a599

Browse files
committed
Make permissions work.
1 parent 6c4b8ca commit b37a599

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

django_react/permissions.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from rest_framework.permissions import DjangoModelPermissions
2+
3+
4+
class DrDjangoModelPermissions(DjangoModelPermissions):
5+
perms_map = {
6+
'GET':['%(app_label)s.view_%(model_name)s'],
7+
'OPTIONS': [],
8+
'HEAD': [],
9+
'POST': ['%(app_label)s.add_%(model_name)s'],
10+
'PUT': ['%(app_label)s.change_%(model_name)s'],
11+
'PATCH': ['%(app_label)s.change_%(model_name)s'],
12+
'DELETE': ['%(app_label)s.delete_%(model_name)s'],
13+
}

django_react/settings.py

+3
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,8 @@
137137
REST_FRAMEWORK = {
138138
'DEFAULT_AUTHENTICATION_CLASSES': [
139139
'rest_framework.authentication.SessionAuthentication',
140+
],
141+
'DEFAULT_PERMISSION_CLASSES': [
142+
'rest_framework.permissions.DjangoModelPermissions',
140143
]
141144
}

leads/views.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
from .models import Lead
22
from .serializers import LeadSerializer
33
from rest_framework import generics
4-
from rest_framework import permissions
4+
from django_react.permissions import DrDjangoModelPermissions
55

66

77
class LeadListCreate(generics.ListCreateAPIView):
8-
permission_classes = [permissions.IsAuthenticated]
9-
108
queryset = Lead.objects.all()
119
serializer_class = LeadSerializer
10+
permission_classes = [DrDjangoModelPermissions]
1211

0 commit comments

Comments
 (0)