public function canView($resourceUri) {
        //Check if the data has been loaded yet, and load it if not
        if (!$this->ready) {
            $this->init();
        }

        //Check that this node is not beyond the default folder if the max level flag is set
        if ($this->maxLevelSetAtDefault) {
            //Check by seeing that the default folder is within the resource uri
            if (false === strpos($resourceUri, $this->defaultFolder)) {
                return false;
            }
        }

        //The exception message should pretty much explain the purpose of this block
        try {
            $roles = array_map(function ($role) {
                if (
                    $role instanceof \Symfony\Component\Security\Core\Role\SwitchUserRole ||
                    $role instanceof \Symfony\Component\Security\Core\Role\Role
                    ) {
                    return $role->getRole();
                } else {
                    return (string)$role;
                }
            }, $this->securityContext->getToken()->getRoles());
        } catch (\Exception $e) {
            throw new \Exception('The Report Bundle requires the roles to either be in string format or castable to a string');
        }

        //Call the check node method
        return $this->checkNode($resourceUri, $roles);
    }
public function canView($resourceUri) {
        //Check if the data has been loaded yet, and load it if not
        if (!$this->ready) {
            $this->init();
        }

        //Check that this node is not beyond the default folder if the max level flag is set
        if ($this->maxLevelSetAtDefault) {
            //Check by seeing that the default folder is within the resource uri
            if (false === strpos($resourceUri, $this->defaultFolder)) {
                return false;
            }
        }

        //The exception message should pretty much explain the purpose of this block
        try {
            $roles = array_map(function ($role) {
                if (
                    $role instanceof \Symfony\Component\Security\Core\Role\SwitchUserRole ||
                    $role instanceof \Symfony\Component\Security\Core\Role\Role
                    ) {
                    return $role->getRole();
                } else {
                    return (string)$role;
                }
            }, $this->securityContext->getToken()->getRoles());
        } catch (\Exception $e) {
            throw new \Exception('The Report Bundle requires the roles to either be in string format or castable to a string');
        }

        //Call the check node method
        return $this->checkNode($resourceUri, $roles);
    }
public function canView ( $ resourceUri ) { //Check if the data has been loaded yet, and load it if not if ( ! $ this -> ready ) { $ this -> init ( ) ; } //Check that this node is not beyond the default folder if the max level flag is set if ( $ this -> maxLevelSetAtDefault ) { //Check by seeing that the default folder is within the resource uri if ( false === strpos ( $ resourceUri , $ this -> defaultFolder ) ) { return false ; } } //The exception message should pretty much explain the purpose of this block try { $ roles = array_map ( function ( $ role ) { if ( $ role instanceof \ Symfony \ Component \ Security \ Core \ Role \ SwitchUserRole || $ role instanceof \ Symfony \ Component \ Security \ Core \ Role \ Role ) { return $ role -> getRole ( ) ; } else { return ( string ) $ role ; } } , $ this -> securityContext -> getToken ( ) -> getRoles ( ) ) ; } catch ( \ Exception $ e ) { throw new \ Exception ( 'The Report Bundle requires the roles to either be in string format or castable to a string' ) ; } //Call the check node method return $ this -> checkNode ( $ resourceUri , $ roles ) ; }
Determines whether the current user can view the resource with the given uri

@param  string  $resourceUri The uri of the resource on the report server to check if viewable or not

@return boolean              Whether the current user can view this resource or not
Determines whether the current user can view the resource with the given uri