diff options
Diffstat (limited to 'lib/users/models.py')
-rwxr-xr-x | lib/users/models.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/users/models.py b/lib/users/models.py index e91f317b..b59f9fee 100755 --- a/lib/users/models.py +++ b/lib/users/models.py @@ -49,10 +49,25 @@ class SrtUser(AbstractUser): def get_groups(self): groups = [ group.name for group in self.groups.all() ] if not groups: + # Dynamically assign a group if none attached, in particular + # for (super)users created on command line if self.is_superuser: - return 'Superuser' + command_line_fixup = False + if not self.role: + self.role = "Superuser" + command_line_fixup = True + if not self.last_name: + self.last_name = self.username + command_line_fixup = True + if command_line_fixup: + self.save() + group = Group.objects.get(name = 'Admin') + group.user_set.add(self) + return group.name else: - return '' + group = Group.objects.get(name = 'Reader') + group.user_set.add(self) + return group.name return ",".join(groups) @property def get_group_perm(self): |