From 96ea55a000cad877af7b62bcb3c7a6d5106616fb Mon Sep 17 00:00:00 2001 From: mehrab Date: Tue, 1 Oct 2019 22:59:17 +0330 Subject: [PATCH] added IsAdminUserOrReadOnly permission --- rest_framework/permissions.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index 0b7a6c482..9410a5c8e 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -168,6 +168,20 @@ class IsAuthenticatedOrReadOnly(BasePermission): ) +class IsAdminUserOrReadOnly(BasePermission): + """ + The request is authenticated as a admin user, or is a read-only request. + """ + + def has_permission(self, request, view): + return bool( + request.method in SAFE_METHODS or + request.user and + request.user.is_staff + ) + + + class DjangoModelPermissions(BasePermission): """ The request is authenticated using `django.contrib.auth` permissions.