feat: set preferred role on login via get parameter

This commit is contained in:
Björn Fromme
2024-02-14 15:56:38 +01:00
parent 2cb4fa1933
commit f32cfcd9f2
5 changed files with 27 additions and 15 deletions
+4 -4
View File
@@ -19,16 +19,16 @@ class UserDataHandler
) {
}
public function collectRoles(CrmAttributesResponse $crmAttributes): array
public function collectRoles(CrmAttributesResponse $crmAttributes, ?string $preferredRole): array
{
// Collect user's roles from CRM attributes
$roles = [];
if ($crmAttributes->isAdmin()) {
if ($crmAttributes->isAdmin() && (null === $preferredRole || 'admin' === $preferredRole)) {
$roles[] = 'ROLE_ADMIN';
} elseif ($crmAttributes->isManager()) {
} elseif ($crmAttributes->isManager() && (null === $preferredRole || 'manager' === $preferredRole)) {
$roles[] = 'ROLE_MANAGER';
} elseif ($crmAttributes->isHouseManager()) {
} elseif ($crmAttributes->isHouseManager() && (null === $preferredRole || 'house_manager' === $preferredRole)) {
$roles[] = 'ROLE_HOUSE_MANAGER';
}