From 4d65e3c1cf527598460c3909dd1ddbb91af12dca Mon Sep 17 00:00:00 2001 From: Tim Lorsbach Date: Wed, 15 Apr 2026 12:23:29 +0200 Subject: [PATCH] wip --- .../modals/collections/new_package_modal.html | 6 +---- envipath/settings.py | 23 +++++++++++++++++- epauth/views.py | 24 +++++++++++++++++++ 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/bayer/templates/modals/collections/new_package_modal.html b/bayer/templates/modals/collections/new_package_modal.html index e22b3f77..8d7cf5ab 100644 --- a/bayer/templates/modals/collections/new_package_modal.html +++ b/bayer/templates/modals/collections/new_package_modal.html @@ -9,11 +9,7 @@ reset() { this.isSubmitting = false; - this.selectedType = ''; - this.buildAppDomain = false; - this.requiresRulePackages = false; - this.requiresDataPackages = false; - this.additional_parameters = null; + this.packageClassification = null; }, setFormData(data) { diff --git a/envipath/settings.py b/envipath/settings.py index ba3cbf49..66b8fea3 100644 --- a/envipath/settings.py +++ b/envipath/settings.py @@ -451,5 +451,26 @@ if PES_API_MAPPING: else: PES_API_MAPPING = {} -# AD Group Mapping +# Entra Groups +ENTRA_GROUPS = os.environ.get("ENTRA_GROUPS", None) +if ENTRA_GROUPS: + import json + ENTRA_GROUPS = json.loads(ENTRA_GROUPS) +else: + ENTRA_GROUPS = {} + +ENTRA_SECRET_GROUPS = os.environ.get("ENTRA_SECRET_GROUPS", None) +if ENTRA_SECRET_GROUPS: + import json + ENTRA_SECRET_GROUPS = json.loads(ENTRA_SECRET_GROUPS) +else: + ENTRA_SECRET_GROUPS = {} + +# PES Data Pools vs Entra Mapping +DATA_POOL_MAPPING = os.environ.get("DATA_POOL_MAPPING", None) +if DATA_POOL_MAPPING: + import json + DATA_POOL_MAPPING = json.loads(DATA_POOL_MAPPING) +else: + DATA_POOL_MAPPING = {} diff --git a/epauth/views.py b/epauth/views.py index 66b922c6..1bab7da4 100644 --- a/epauth/views.py +++ b/epauth/views.py @@ -80,6 +80,30 @@ def entra_callback(request): login(request, u) + # EDIT START + # Ensure groups exists in eP + for id, name in s.ENTRA_SECRET_GROUPS.items(): + if not Group.objects.filter(uuid=id).exists(): + g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ", uuid=id) + else: + g = Group.objects.get(uuid=id) + # Ensure its secret + g.secret = True + g.save() + + for id, name in s.ENTRA_GROUPS.items(): + if not Group.objects.filter(uuid=id).exists(): + g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ", uuid=id) + else: + g = Group.objects.get(uuid=id) + + for group_uuid in claims.get("groups", []): + if Group.objects.filter(uuid=group_uuid).exists(): + g = Group.objects.get(uuid=group_uuid) + g.user_member.add(u) + + # EDIT END + return redirect(s.SERVER_URL) # Handle errors