user, group, & permissions fix

This commit is contained in:
ryanmerolle 2021-04-20 17:47:49 -04:00
parent f2731d3fe6
commit 5d4ecb7f9e
7 changed files with 100 additions and 90 deletions

View file

@ -1,23 +1,27 @@
import sys
from django.contrib.auth.models import Group, User
from startup_script_utils import load_yaml, set_permissions
from users.models import AdminGroup, AdminUser
from startup_script_utils import load_yaml
groups = load_yaml("/opt/netbox/initializers/groups.yml")
if groups is None:
sys.exit()
for groupname, group_details in groups.items():
group, created = Group.objects.get_or_create(name=groupname)
for params in groups:
groupname=params['name']
group, created = AdminGroup.objects.get_or_create(
name=groupname
)
if created:
print("👥 Created group", groupname)
for username in group_details.get("users", []):
user = User.objects.get(username=username)
for username in params.get("users", []):
user = AdminUser.objects.get(username=username)
if user:
user.groups.add(group)
group.user_set.add(user)
print(" 👤 Assigned user %s to group %s" % (username, AdminGroup.name))
yaml_permissions = group_details.get("permissions", [])
set_permissions(group.permissions, yaml_permissions)
group.save()