From 3c760ce54d4d2b81748c7691ce179fd7393a1ef8 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Pasquier <contact@jbpasquier.eu> Date: Tue, 13 Aug 2019 16:00:04 +0200 Subject: [PATCH] fix: USER_OWNER_PERMISSIONS --- djangoldp/models.py | 1 + djangoldp/permissions.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/djangoldp/models.py b/djangoldp/models.py index 493f3e34..5443bd09 100644 --- a/djangoldp/models.py +++ b/djangoldp/models.py @@ -7,6 +7,7 @@ from django.utils.decorators import classonlymethod from djangoldp.permissions import LDPPermissions User._meta.rdf_type = "foaf:user" +User._meta.owner_field = "id" class Model(models.Model): diff --git a/djangoldp/permissions.py b/djangoldp/permissions.py index d6e8e92b..5a08ba16 100644 --- a/djangoldp/permissions.py +++ b/djangoldp/permissions.py @@ -36,7 +36,7 @@ class LDPPermissions(BasePermission): return anonymous_perms else: - if obj and hasattr(model._meta, 'owner_field') and getattr(obj, getattr(model._meta, 'owner_field')) == user: + 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): return owner_perms else: @@ -82,6 +82,7 @@ class LDPPermissions(BasePermission): """ model = view.model perms = self.get_permissions(request.method, model) + try: obj = view.model.resolve_id(request._request.path) except: -- GitLab