Récupérer les Business Units d’un utilisateur OroCRM

Par Synolia le 1 juillet 2016
Lecture 1 minute

Au sein d’OroCRM, il existe de nombreuses méthodes permettant de récupérer la liste des Business Units associées à l’utilisateur. 2 d’entre elles nous intéressent aujourd’hui.

Première méthode

Récupérer les Business Units directement liées à l’utilisateur.

/** @var Oro\Bundle\UserBundle\Entity\User $user */
$user = $this->container->get('oro_security.security_facade')->getUser();
$businessUnits = $user->getBusinessUnits();

Deuxième méthode

Récupérer l’ID des Business Units directement lié à l’utilisateur ou par héritage.

/** @var Oro\Bundle\UserBundle\Entity\User $user */
$user = $this->container->get('oro_security.security_facade')->getUser();
$businessUnits = $this->container->get('oro_security.owner.tree')
                      ->getUserBusinessUnitIds($user);

Par exemple, un utilisateur ayant un rôle lui permettant la visibilité sur les Business Units filles au travers d’un parent remonteront via la deuxième méthode mais pas la première.

GIF