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.