/**
  * {@inheritdoc}
  */
 public function getRoles()
 {
     $roles = [];
     foreach ($this->pool->getAdminGroups() as $name => $group) {
         if (!isset($group['items'])) {
             continue;
         }
         foreach ($group['items'] as $item) {
             $admin = $this->pool->getInstance($item['admin']);
             $baseRole = $this->securityHandler->getBaseRole($admin);
             $baseName = $admin->getTranslator()->trans($group['label'], [], $group['label_catalogue']) . ': ' . $admin->getTranslator()->trans($admin->getLabel());
             $actions = [];
             foreach ($admin->getSecurityInformation() as $name => $value) {
                 $parts = explode('.', $name);
                 if (count($parts) < 1) {
                     continue;
                 }
                 $actions[] = strtoupper($parts[count($parts) - 1]);
             }
             foreach ($actions as $action) {
                 $roles[sprintf($baseRole, $action)] = $baseName . ': ' . $admin->getTranslator()->trans($action);
             }
         }
     }
     return array_merge($roles, $this->defaultRoles);
 }
 public function isGranted(AdminInterface $admin, $attributes, $object = null)
 {
     $is_auth = parent::isGranted($admin, $attributes, $object);
     //        if($is_auth)
     //        {
     //            $is_auth = $this->authorizationChecker->isGranted('ORGANIZE', $object);
     //        }
     return $is_auth;
 }
 public function __construct($authorizationChecker, array $superAdminRoles, SiteManager $siteManager)
 {
     parent::__construct($authorizationChecker, $superAdminRoles);
     $this->siteManager = $siteManager;
 }
 /**
  * @dataProvider getBaseRoleTests
  */
 public function testGetBaseRole($expected, $code)
 {
     $handler = new RoleSecurityHandler($this->securityContext, array('ROLE_BATMAN', 'ROLE_IRONMAN'));
     $this->admin->expects($this->once())->method('getCode')->will($this->returnValue($code));
     $this->assertEquals($expected, $handler->getBaseRole($this->admin));
 }