Project

General

Profile

Anomalie #16835

[Synchro LDAP] users : perte de l'entité par défaut a la création

Added by Ludovic ARAUJO about 2 years ago. Updated 4 months ago.

Status:
Développé / Analysé
Priority:
2-Sérieux
Assignee:
Ludovic ARAUJO
Target version:
Start date:
04/09/2021
Due date:
Version applicable:
Tags Courrier:
20.10.11, 21.03.3

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);

Related issues

Related to Backlog Courrier - Fonctionnalité #13273: Batch synchronisation LDAPDéveloppé / Analysé2020-02-19

History

#1 Updated by Support Maarch about 2 years ago

  • Status changed from A qualifier to A traiter

#2 Updated by Emmanuel DILLARD about 2 years ago

  • Status changed from A traiter to A étudier
  • Assignee changed from EDI PO to Florian AZIZIAN

#3 Updated by Florian AZIZIAN about 2 years ago

  • Status changed from A étudier to Complément d'Informations
  • Assignee changed from Florian AZIZIAN to Ludovic ARAUJO

Effectivement , après analyse du code, defaultEntity est utilisé seulement si l'entité du ldap n'existe pas dans MaarchCourrier
Donc si l'utilisateur n'a pas d'entité dans le ldap, on ne lui ajoute pas l'entité par défaut dans Courrier (20.10, 21.03, develop)

La demande initiale était : mettre une entité par défaut si l'utilisateur n'a pas d'entité de rattachement ou une entité non existante
Après avoir testé la proposition de code, on pourrait donc intégrer le code dans l'application.

Question : Est-ce que c'est normal que l'utilisateur n'ait pas d'entité dans le ldap ?

#4 Updated by Ludovic ARAUJO about 2 years ago

  • Assignee deleted (Ludovic ARAUJO)

L'utilisateur a une entité mais elle n'existe pas encore dans maarch, le client a donc une entité par defaut pour ajouté l'utilisateur dans tout les cas.

#5 Updated by Florian AZIZIAN about 2 years ago

  • Status changed from Complément d'Informations to Prêt à embarquer

Si l'utilisateur a une entité dans le ldap (et qui n'existe pas dans Maarch), le code initial aurait bien dû positionner l'entité par défaut.
A la vu du code, je ne vois pas de problème.
Il faut que l'on teste sur notre serveur ldap.

#7 Updated by Florian AZIZIAN about 2 years ago

#8 Updated by Florian AZIZIAN about 2 years ago

  • Project changed from Backlog to CURRENT SPRINT
  • Status changed from Prêt à embarquer to En cours (Sprint)
  • Target version changed from Inscription Backlog Courrier to Courrier Develop
  • Tags Courrier 20.10.10, 21.03.3 added

#9 Updated by Florian AZIZIAN about 2 years ago

  • Assignee set to Florian AZIZIAN

#10 Updated by Florian AZIZIAN about 2 years ago

  • Tags Courrier 20.10.11 added
  • Tags Courrier deleted (20.10.10)

#11 Updated by Florian AZIZIAN about 2 years ago

  • Assignee deleted (Florian AZIZIAN)

#12 Updated by Guillaume HEURTIER about 2 years ago

  • Assignee set to Guillaume HEURTIER

#13 Updated by Guillaume HEURTIER about 2 years ago

  • Status changed from En cours (Sprint) to Développé / Analysé

#15 Updated by Emmanuel DILLARD about 2 years ago

  • Project changed from CURRENT SPRINT to Backlog

#17 Updated by Emmanuel DILLARD about 2 years ago

  • Assignee changed from Guillaume HEURTIER to Ludovic ARAUJO

#18 Updated by Emmanuel DILLARD almost 2 years ago

  • Project changed from Backlog to Backlog Courrier
  • Target version changed from Courrier Develop to Develop

#19 Updated by Emmanuel DILLARD 4 months ago

  • Target version changed from Develop to 2301

MAJ version cible Develop->2301

Also available in: Atom PDF