Project

General

Profile

Anomalie #16835

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

Added by Ludovic ARAUJO about 1 year ago. Updated 11 months ago.

Status:
Développé / Analysé (S)
Priority:
2-Sérieux
Target version:
Start date:
04/09/2021
Due date:
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é (S)2020-02-19

History

#1 Updated by Support Maarch about 1 year ago

  • Status changed from A qualifier to A traiter

#2 Updated by Emmanuel DILLARD about 1 year ago

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

#3 Updated by Florian AZIZIAN about 1 year 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 1 year 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 1 year ago

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

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 1 year ago

#8 Updated by Florian AZIZIAN about 1 year ago

  • Project changed from Backlog to CURRENT SPRINT
  • Status changed from Prêt à développer to En cours de dev (S)
  • 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 1 year ago

  • Assignee set to Florian AZIZIAN

#10 Updated by Florian AZIZIAN about 1 year ago

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

#11 Updated by Florian AZIZIAN about 1 year ago

  • Assignee deleted (Florian AZIZIAN)

#12 Updated by Guillaume HEURTIER about 1 year ago

  • Assignee set to Guillaume HEURTIER

#13 Updated by Guillaume HEURTIER about 1 year ago

  • Status changed from En cours de dev (S) to Développé / Analysé (S)

#15 Updated by Emmanuel DILLARD about 1 year ago

  • Project changed from CURRENT SPRINT to Backlog

#17 Updated by Emmanuel DILLARD about 1 year ago

  • Assignee changed from Guillaume HEURTIER to Ludovic ARAUJO

#18 Updated by Emmanuel DILLARD 11 months ago

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

Also available in: Atom PDF