From 02b6ed698282aa24ee674180945f8335684e7794 Mon Sep 17 00:00:00 2001 From: Thibaud Duquennoy <thibaud@duquennoy.fr> Date: Wed, 27 Feb 2019 23:04:51 +0100 Subject: [PATCH] permissions appears in API and model developper can define the context feature : #84 API returns permissions feature : #42 Add context based on models --- djangoldp/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py index da463261..f1ef3e8b 100644 --- a/djangoldp/serializers.py +++ b/djangoldp/serializers.py @@ -194,8 +194,16 @@ class LDPSerializer(HyperlinkedModelSerializer): if hasattr(obj._meta, 'rdf_type'): data['@type'] = obj._meta.rdf_type + data['permissions'] = [{'mode': {'@type': name.split('_')[0]}} for name in get_perms(self.context['request'].user, obj)] + + if hasattr(obj._meta, 'permission_classes'): + data['permissions'] += [{'mode': {'@type':str(perm.__name__)}} for perm in obj._meta.permission_classes] + + if hasattr(obj._meta, 'rdf_context'): + data['@context'] = obj._meta.rdf_context + return data def build_standard_field(self, field_name, model_field): -- GitLab