diff --git a/djangoldp/views.py b/djangoldp/views.py index f4b344b78f6fbabb53f2d471f0e32630272f8f09..f6eadb7d99c63c552f4b17141ce4b6a3ad43bdc2 100644 --- a/djangoldp/views.py +++ b/djangoldp/views.py @@ -37,13 +37,17 @@ class NoCSRFAuthentication(SessionAuthentication): class WACPermissions(DjangoObjectPermissions): perms_map = { 'GET': ['%(app_label)s.view_%(model_name)s'], - 'OPTIONS': ['%(app_label)s.view_%(model_name)s'], + 'OPTIONS': [], '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'], } + def has_permission(self, request, view): + if request.method == 'OPTIONS': + return True + return super().has_permission(request, view) class AnnonReadOnly(WACPermissions): authenticated_users_only = False