outposts: cleanup user handling
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
41eb44137e
commit
3344af72c2
|
@ -331,20 +331,18 @@ class Outpost(ManagedModel):
|
||||||
@property
|
@property
|
||||||
def user(self) -> User:
|
def user(self) -> User:
|
||||||
"""Get/create user with access to all required objects"""
|
"""Get/create user with access to all required objects"""
|
||||||
users = User.objects.filter(username=self.user_identifier)
|
user = User.objects.filter(username=self.user_identifier).first()
|
||||||
should_create_user = not users.exists()
|
user_created = False
|
||||||
if should_create_user:
|
if not user:
|
||||||
user: User = User.objects.create(username=self.user_identifier)
|
user: User = User.objects.create(username=self.user_identifier)
|
||||||
user.set_unusable_password()
|
user.set_unusable_password()
|
||||||
user.save()
|
user_created = True
|
||||||
else:
|
|
||||||
user = users.first()
|
|
||||||
user.attributes[USER_ATTRIBUTE_SA] = True
|
user.attributes[USER_ATTRIBUTE_SA] = True
|
||||||
user.attributes[USER_ATTRIBUTE_CAN_OVERRIDE_IP] = True
|
user.attributes[USER_ATTRIBUTE_CAN_OVERRIDE_IP] = True
|
||||||
user.name = f"Outpost {self.name} Service-Account"
|
user.name = f"Outpost {self.name} Service-Account"
|
||||||
user.path = USER_PATH_OUTPOSTS
|
user.path = USER_PATH_OUTPOSTS
|
||||||
user.save()
|
user.save()
|
||||||
if should_create_user:
|
if user_created:
|
||||||
self.build_user_permissions(user)
|
self.build_user_permissions(user)
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
Reference in a new issue