You are here

class UserAchievementsAccess in Opigno statistics 3.x

Check the access to the achievements page.

@package Drupal\opigno_statistics\Access

Hierarchy

Expanded class hierarchy of UserAchievementsAccess

1 string reference to 'UserAchievementsAccess'
opigno_statistics.services.yml in ./opigno_statistics.services.yml
opigno_statistics.services.yml
1 service uses UserAchievementsAccess
opigno_statistics.check_achievements_access in ./opigno_statistics.services.yml
Drupal\opigno_statistics\Access\UserAchievementsAccess

File

src/Access/UserAchievementsAccess.php, line 20

Namespace

Drupal\opigno_statistics\Access
View source
class UserAchievementsAccess implements ContainerAwareInterface, AccessInterface {
  use DependencySerializationTrait;
  use ContainerAwareTrait;

  /**
   * The Opigno user access manager service.
   *
   * @var \Drupal\opigno_social\Services\UserAccessManager
   */
  protected $accessManager;

  /**
   * Checks the access.
   *
   * @param \Symfony\Component\Routing\Route $route
   *   The route to check the access to.
   * @param \Drupal\Core\Session\AccountInterface $account
   *   The currently logged in user's account.
   * @param \Drupal\user\UserInterface $user
   *   The user to check the access to.
   *
   * @return \Drupal\Core\Access\AccessResultInterface
   *   The access result.
   */
  public function access(Route $route, AccountInterface $account, UserInterface $user) {
    $access = FALSE;
    $access_manager = $this
      ->getAccessManager();
    if ($access_manager instanceof UserAccessManager) {
      $access = $access_manager
        ->canAccessUserStatistics($user);
    }
    return AccessResult::allowedIf($access)
      ->addCacheContexts([
      'user.permissions',
      'user.group_permissions',
    ]);
  }

  /**
   * Access manager getter.
   */
  protected function getAccessManager() {
    if (!$this->accessManager) {
      $this->accessManager = $this->container
        ->get('opigno_social.user_access_manager');
    }
    return $this->accessManager;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
UserAchievementsAccess::$accessManager protected property The Opigno user access manager service.
UserAchievementsAccess::access public function Checks the access.
UserAchievementsAccess::getAccessManager protected function Access manager getter.