From fe4fe633da2b3fde465ba638193ce7a2ff1b8e3c Mon Sep 17 00:00:00 2001
From: Jean-Baptiste <bleme@pm.me>
Date: Tue, 17 Sep 2019 14:39:53 +0200
Subject: [PATCH] update: fix user permission using the new urlid field

---
 djangoldp/models.py      | 2 +-
 djangoldp/permissions.py | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/djangoldp/models.py b/djangoldp/models.py
index f951763a..22410de0 100644
--- a/djangoldp/models.py
+++ b/djangoldp/models.py
@@ -167,7 +167,7 @@ class LDPSource(Model):
 
 @receiver([post_save])
 def auto_urlid(sender, instance, **kwargs):
-    if isinstance(instance, Model) and (instance.urlid is None or instance.urlid == ''):
+    if isinstance(instance, Model) and (instance.urlid is None or instance.urlid == '' or 'None' in instance.urlid):
         instance.urlid = instance.get_absolute_url()
         instance.save()
 
diff --git a/djangoldp/permissions.py b/djangoldp/permissions.py
index 250a9692..b3c61c8f 100644
--- a/djangoldp/permissions.py
+++ b/djangoldp/permissions.py
@@ -46,8 +46,9 @@ class LDPPermissions(BasePermission):
 
         else:
             if obj and hasattr(model._meta, 'owner_field') and (
-                    getattr(obj, getattr(model._meta, 'owner_field')) == user or getattr(obj, getattr(model._meta,
-                                                                                                      'owner_field')) == user.id):
+                    getattr(obj, getattr(model._meta, 'owner_field')) == user
+                    or getattr(obj, getattr(model._meta, 'owner_field')) == user.urlid
+                    or getattr(obj, getattr(model._meta, 'owner_field')) == user.id):
                 return owner_perms
 
             else:
-- 
GitLab