user, group, & permissions fix
This commit is contained in:
parent
f2731d3fe6
commit
5d4ecb7f9e
7 changed files with 100 additions and 90 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue