1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Extend ObjectPermission constraints to OR multiple JSON objects

This commit is contained in:
Jeremy Stretch
2020-08-06 15:53:23 -04:00
parent b1ec332a56
commit 4a516103a6
5 changed files with 49 additions and 16 deletions

View File

@ -75,7 +75,10 @@ class ObjectPermissionBackend(ModelBackend):
obj_perm_constraints = self.get_all_permissions(user_obj)[perm]
constraints = Q()
for perm_constraints in obj_perm_constraints:
if perm_constraints:
if type(perm_constraints) is list:
for c in obj_perm_constraints:
constraints |= Q(**c)
elif perm_constraints:
constraints |= Q(**perm_constraints)
else:
# Found ObjectPermission with null constraints; allow model-level access