Actions
Anomalie #16835
fermé[Synchro LDAP] users : perte de l'entité par défaut a la création
Début:
09/04/2021
Echéance:
Description
Bonjour,
Suite à plusieurs tests et corrections, je vous propose la modification suivante pour le fichier : /bin/ldap/synchronizationScript.php
L'entité par défaut n'est plus présente suite à une correction.
ajout d'une fonction :
function userAddEntity($userId, $user)
{
$entityId = null;
$entityExists = \Entity\models\EntityModel::getByEntityId(['entityId' => $user['entityId'], 'select' => [1]]);
$defaultEntityExists = \Entity\models\EntityModel::getByEntityId(['entityId' => $user['defaultEntity'], 'select' => [1]]);
if(count($entityExists) > 0) $entityId = $user['entityId'];
else if (count($defaultEntityExists) > 0) $entityId = $user['defaultEntity'];
if(!empty($entityId))
{
$curlResponse = \SrcCore\models\CurlModel::execSimple([
'url' => rtrim($GLOBALS['maarchUrl'], '/') . '/rest/users/' . $userId . '/entities',
'basicAuth' => ['user' => $GLOBALS['user'], 'password' => $GLOBALS['password']],
'headers' => ['content-type:application/json'],
'method' => 'POST',
'body' => json_encode(['entityId' => $entityId])
]);
if ($curlResponse['code'] != 200) {
writeLog(['message' => "[ERROR] Add entity to user failed : {$curlResponse['response']['errors']}"]);
}
}
else{
writeLog(['message' => "[ERROR] Add entity to user failed : {Entity not found}"]);
}
}
Remplacer le code ligne 342 a 366 par :
userAddEntity($maarchUsersLogin[$user['user_id']]['id'], $user);
Remplacer le code ligne 388 a 399 par :
userAddEntity($curlResponse['response']['id'], $user);
Actions