public function checkPanelEdit(TokenInterface $token, PanelFacet $panel) { $userRoles = array_map(function ($el) { return $el->getRole(); }, $token->getRoles()); $panelRoles = $panel->getPanelFacetsRole(); foreach ($panelRoles as $panelRole) { if (in_array($panelRole->getRole()->getName(), $userRoles)) { if ($panelRole->canEdit()) { return VoterInterface::ACCESS_GRANTED; } } } return VoterInterface::ACCESS_DENIED; }