From 8b8886b29e8683e3035266feac35586d814b7675 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org>
Date: Wed, 12 Apr 2023 12:02:16 +0200
Subject: [PATCH] multiple default staff groups

---
 Dockerfile                | 2 +-
 env.example               | 2 +-
 registry/settings/base.py | 2 +-
 users/models.py           | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index a5bcb9d..ce12158 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -28,7 +28,7 @@ RUN DATABASE_URL=postgres://x/x \
     DEFAULT_CONTRACTEE_ZIP=x \
     DEFAULT_CONTRACTEE_DISTRICT=x \
     DEFAULT_CONTRACTEE_ICO_NUMBER=x \
-    DEFAULT_STAFF_GROUP=x \
+    DEFAULT_STAFF_GROUPS=x \
     python manage.py collectstatic --noinput --settings=registry.settings.production
 
 RUN bash -c "adduser --disabled-login --quiet --gecos app app &&  \
diff --git a/env.example b/env.example
index 797ac95..a493ff1 100644
--- a/env.example
+++ b/env.example
@@ -19,4 +19,4 @@ DEFAULT_CONTRACTEE_ZIP="128 00"
 DEFAULT_CONTRACTEE_DISTRICT="Praha 2"
 DEFAULT_CONTRACTEE_ICO_NUMBER="71339698"
 
-DEFAULT_STAFF_GROUP="sso_cen:f"
+DEFAULT_STAFF_GROUP="sso_cen:f,sso_cen:neverejni,sso_cen:smlouvy_ao,sso_cen:registr_smluv"
diff --git a/registry/settings/base.py b/registry/settings/base.py
index f86b3d6..a95d564 100644
--- a/registry/settings/base.py
+++ b/registry/settings/base.py
@@ -232,4 +232,4 @@ DEFAULT_CONTRACTEE_DISTRICT = env.str("DEFAULT_CONTRACTEE_DISTRICT")
 DEFAULT_COUNTRY = env.str("DEFAULT_COUNTRY")
 DEFAULT_CONTRACTEE_ICO_NUMBER = env.str("DEFAULT_CONTRACTEE_ICO_NUMBER")
 
-DEFAULT_STAFF_GROUP = env.str("DEFAULT_STAFF_GROUP")
+DEFAULT_STAFF_GROUPS = env.list("DEFAULT_STAFF_GROUPS")
diff --git a/users/models.py b/users/models.py
index f449dde..e9332ea 100644
--- a/users/models.py
+++ b/users/models.py
@@ -109,7 +109,7 @@ class User(pirates_models.AbstractUser):
 
         self.is_staff_based_on_group = True
 
-        is_staff = self.groups.filter(name=settings.DEFAULT_STAFF_GROUP).exists()
+        is_staff = self.groups.filter(name__in=settings.DEFAULT_STAFF_GROUPS).exists()
         changes_made = False
 
         if is_staff is not self.is_staff:
-- 
GitLab