From 8912175cc5393be4619513b78be9cc8458813da3 Mon Sep 17 00:00:00 2001 From: Olivia Rodriguez Valdes Date: Fri, 1 Mar 2019 12:44:52 -0500 Subject: [PATCH] Set permissions as optional --- graphene_django/fields.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/graphene_django/fields.py b/graphene_django/fields.py index 25eb419..bbf1940 100644 --- a/graphene_django/fields.py +++ b/graphene_django/fields.py @@ -157,7 +157,7 @@ class DjangoConnectionField(ConnectionField): class PermissionField(Field): """Class to manage permission for fields""" - def __init__(self, type, permissions, permissions_resolver=auth_resolver, *args, **kwargs): + def __init__(self, type, permissions=(), permissions_resolver=auth_resolver, *args, **kwargs): """Get permissions to access a field""" super(PermissionField, self).__init__(type, *args, **kwargs) self.permissions = permissions @@ -165,5 +165,7 @@ class PermissionField(Field): def get_resolver(self, parent_resolver): """Intercept resolver to analyse permissions""" - return partial(get_unbound_function(self.permissions_resolver), self.resolver or parent_resolver, - self.permissions, True) + parent_resolver = super(PermissionField, self).get_resolver(parent_resolver) + if self.permissions: + return partial(get_unbound_function(self.permissions_resolver), parent_resolver, self.permissions, True) + return parent_resolver