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

Support permission attribute assignment via REMOTE_AUTH_DEFAULT_PERMISSIONS

This commit is contained in:
Jeremy Stretch
2020-06-01 16:23:45 -04:00
parent e9831442cd
commit 76f74f479b
4 changed files with 18 additions and 7 deletions

View File

@ -112,18 +112,18 @@ class RemoteUserBackend(_RemoteUserBackend):
# Assign default object permissions to the user
permissions_list = []
for permission_name in settings.REMOTE_AUTH_DEFAULT_PERMISSIONS:
for permission_name, attrs in settings.REMOTE_AUTH_DEFAULT_PERMISSIONS.items():
try:
content_type, action = resolve_permission(permission_name)
# TODO: Merge multiple actions into a single ObjectPermission per content type
obj_perm = ObjectPermission(actions=[action])
obj_perm = ObjectPermission(actions=[action], attrs=attrs)
obj_perm.save()
obj_perm.users.add(user)
obj_perm.content_types.add(content_type)
permissions_list.append(permission_name)
except ValueError:
logging.error(
"Invalid permission name: '{permission_name}'. Permissions must be in the form "
f"Invalid permission name: '{permission_name}'. Permissions must be in the form "
"<app>.<action>_<model>. (Example: dcim.add_site)"
)
if permissions_list: