예제 #1
0
 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;
 }