From 47c661095cf6e986809af3f925b0db242bf730dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sat, 8 Dec 2018 23:19:32 +0100 Subject: [PATCH] dont override superuser permissions automatically --- src/c3nav/control/models.py | 6 +++--- src/c3nav/control/views.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/c3nav/control/models.py b/src/c3nav/control/models.py index 93bb2c7b..8701c2a2 100644 --- a/src/c3nav/control/models.py +++ b/src/c3nav/control/models.py @@ -35,9 +35,9 @@ class UserPermissions(models.Model): verbose_name_plural = _('User Permissions') default_related_name = 'permissions' - def __init__(self, *args, **kwargs): + def __init__(self, *args, initial=False, **kwargs): super().__init__(*args, **kwargs) - if self.user_id and self.user.is_superuser: + if initial and self.user_id and self.user.is_superuser: for field in UserPermissions._meta.get_fields(): if isinstance(field, models.BooleanField): setattr(self, field.name, True) @@ -70,7 +70,7 @@ class UserPermissions(models.Model): with cls.lock(user.pk): result = cls.objects.filter(pk=user.pk).first() if not result: - result = cls(user=user) + result = cls(user=user, initial=True) cache.set(cache_key, result, 900) return result diff --git a/src/c3nav/control/views.py b/src/c3nav/control/views.py index 025e0c55..2cb19bb5 100644 --- a/src/c3nav/control/views.py +++ b/src/c3nav/control/views.py @@ -121,7 +121,7 @@ def user_detail(request, user): try: permissions = user.permissions except AttributeError: - permissions = UserPermissions(user=user) + permissions = UserPermissions(user=user, initial=True) ctx.update({ 'user_permissions': tuple( field.verbose_name for field in UserPermissions._meta.get_fields()