CAS: add user as admin BT#17620

pull/3651/head
Julio Montoya 5 years ago
parent 4604ae78b3
commit cb52fdfe67
  1. 9
      main/inc/local.inc.php

@ -312,6 +312,7 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) {
$userEntity = api_get_user_entity($_user['id']); $userEntity = api_get_user_entity($_user['id']);
$attributes = phpCAS::getAttributes(); $attributes = phpCAS::getAttributes();
if (isset($rules['fields'])) { if (isset($rules['fields'])) {
$isAdmin = false;
foreach ($rules['fields'] as $field => $attributeName) { foreach ($rules['fields'] as $field => $attributeName) {
if (!isset($attributes[$attributeName])) { if (!isset($attributes[$attributeName])) {
continue; continue;
@ -336,12 +337,20 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) {
$userEntity->setActive(!('false' === $value)); $userEntity->setActive(!('false' === $value));
break; break;
case 'status': case 'status':
if (PLATFORM_ADMIN === (int) $value) {
$value = COURSEMANAGER;
$isAdmin = true;
}
$userEntity->setStatus($value); $userEntity->setStatus($value);
break; break;
} }
Database::getManager()->persist($userEntity); Database::getManager()->persist($userEntity);
Database::getManager()->flush(); Database::getManager()->flush();
if ($isAdmin) {
UserManager::addUserAsAdmin($userEntity);
}
} }
} }
if (isset($rules['extra'])) { if (isset($rules['extra'])) {

Loading…
Cancel
Save