From 0a1c4714e3f06d61d76496c7362cd08ea50845ed Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Pasquier <contact@jbpasquier.eu>
Date: Wed, 14 Aug 2019 23:41:37 +0200
Subject: [PATCH] fix: filter to instance

---
 djangoldp/permissions.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/djangoldp/permissions.py b/djangoldp/permissions.py
index 29858650..e22e39b7 100644
--- a/djangoldp/permissions.py
+++ b/djangoldp/permissions.py
@@ -1,5 +1,6 @@
 from rest_framework.permissions import BasePermission
 from django.core.exceptions import PermissionDenied
+from django.db.models.base import ModelBase
 
 
 class LDPPermissions(BasePermission):
@@ -42,9 +43,15 @@ class LDPPermissions(BasePermission):
             else:
                 return authenticated_perms
 
-    def filter_user_perms(self, user, model, permissions):
+    def filter_user_perms(self, user, obj_or_model, permissions):
         # Only used on Model.get_permissions to translate permissions to LDP
-        return [perm for perm in permissions if perm in self.user_permissions(user, model)]
+        if isinstance(obj_or_model, ModelBase):
+            model = obj_or_model
+            obj = None
+        else:
+            obj = obj_or_model
+            model = obj_or_model.__class__  
+        return [perm for perm in permissions if perm in self.user_permissions(user, model, obj)]
 
 
     perms_map = {
-- 
GitLab