@@ -62,12 +62,13 @@ def fixup_perms(self, instance, payload, include_virtual=True, *args, **kwargs):
6262 payload = handler .fixup_perms (instance , payload , include_virtual = include_virtual , * args , ** kwargs )
6363 return payload
6464
65- def get_perms (self , instance , user = None , include_virtual = True , * args , ** kwargs ):
65+ def get_perms (self , instance , user = None , include_virtual = True , include_user_add_resource = False , * args , ** kwargs ):
6666 """
6767 Return the payload with the permissions from the handlers.
6868 The permissions payload can be edited by each permissions handler.
6969 For example before return the payload, we can virtually remove perms
7070 to the resource
71+ include_user_add_resource -> If true add the add_resourcebase to the user perms if the user have it
7172 """
7273 if user :
7374 payload = {"users" : {user : instance .get_user_perms (user )}, "groups" : {}}
@@ -78,7 +79,7 @@ def get_perms(self, instance, user=None, include_virtual=True, *args, **kwargs):
7879 payload = handler .get_perms (instance , payload , user , include_virtual = include_virtual , * args , ** kwargs )
7980
8081 if user :
81- if user .has_perm ("base.add_resourcebase" ):
82+ if include_user_add_resource and user .has_perm ("base.add_resourcebase" ):
8283 payload ["users" ][user ].extend (["add_resourcebase" ])
8384 return payload ["users" ][user ]
8485 return payload
0 commit comments