From d6df704d096fa45a5c27fc81db476178ffa52a81 Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Sat, 17 Aug 2019 12:48:53 +0200 Subject: [PATCH] Add view permission in REST API --- med/permissions.py | 16 ++++++++++++++++ med/settings.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 med/permissions.py diff --git a/med/permissions.py b/med/permissions.py new file mode 100644 index 0000000..e6d6190 --- /dev/null +++ b/med/permissions.py @@ -0,0 +1,16 @@ +from rest_framework.permissions import DjangoModelPermissions + + +class DjangoViewModelPermissions(DjangoModelPermissions): + """ + Add view permission + """ + perms_map = { + 'GET': ['%(app_label)s.view_%(model_name)s'], + 'OPTIONS': ['%(app_label)s.view_%(model_name)s'], + 'HEAD': ['%(app_label)s.view_%(model_name)s'], + 'POST': ['%(app_label)s.add_%(model_name)s'], + 'PUT': ['%(app_label)s.change_%(model_name)s'], + 'PATCH': ['%(app_label)s.change_%(model_name)s'], + 'DELETE': ['%(app_label)s.delete_%(model_name)s'], + } diff --git a/med/settings.py b/med/settings.py index eef8207..850958c 100644 --- a/med/settings.py +++ b/med/settings.py @@ -154,7 +154,7 @@ STATIC_URL = '/static/' # Django REST Framework REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ - 'rest_framework.permissions.DjangoModelPermissions', + 'med.permissions.DjangoViewModelPermissions', ] }