From 00711b8fbb6ce3a6b55b9485359b1724b1c5f19f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julius=20H=C3=A4rtl?=
Date: Wed, 11 Jul 2018 13:32:07 +0200
Subject: [PATCH] Fix attribute mapping config fetching
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Julius Härtl
---
lib/Controller/SettingsController.php | 9 ++++++++-
lib/Settings/Admin.php | 2 +-
templates/admin.php | 2 +-
tests/unit/Settings/AdminTest.php | 2 +-
4 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php
index ed063d6..eb22f3d 100644
--- a/lib/Controller/SettingsController.php
+++ b/lib/Controller/SettingsController.php
@@ -73,7 +73,14 @@ class SettingsController extends Controller {
if (strpos($category, 'security-') === 0) {
$category = 'security';
}
- $key = $prefix . $category . '-' . $setting;
+ // make sure we properly fetch the attribute mapping
+ // as this is the only category that has the saml- prefix on config keys
+ if (strpos($category, 'attribute-mapping') === 0) {
+ $category = 'attribute-mapping';
+ $key = $prefix . 'saml-attribute-mapping' . '-' . $setting;
+ } else {
+ $key = $prefix . $category . '-' . $setting;
+ }
$settings[$category][$setting] = $this->config->getAppValue('user_saml', $key, '');
}
}
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 60b7810..39af402 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -148,7 +148,7 @@ class Admin implements ISettings {
'security-required' => $securityRequiredFields,
'security-general' => $securityGeneral,
'general' => $generalSettings,
- 'attributeMappings' => $attributeMappingSettings,
+ 'attribute-mapping' => $attributeMappingSettings,
'type' => $type,
'providers' => $providers
];
diff --git a/templates/admin.php b/templates/admin.php
index 38268e4..da6d1dc 100644
--- a/templates/admin.php
+++ b/templates/admin.php
@@ -120,7 +120,7 @@ style('user_saml', 'admin');
- $attribute): ?>
+ $attribute): ?>
diff --git a/tests/unit/Settings/AdminTest.php b/tests/unit/Settings/AdminTest.php
index 5a5b650..f4c376e 100644
--- a/tests/unit/Settings/AdminTest.php
+++ b/tests/unit/Settings/AdminTest.php
@@ -137,7 +137,7 @@ class AdminTest extends \Test\TestCase {
'security-required' => $securityRequiredFields,
'security-general' => $securityGeneral,
'general' => $generalSettings,
- 'attributeMappings' => $attributeMappingSettings,
+ 'attribute-mapping' => $attributeMappingSettings,
'providers' => [
['id' => 1, 'name' => 'Provider 1'],
['id' => 2, 'name' => 'Provider 2']