You are here

public function GroupManagersController::access in Open Social 8.5

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  2. 8.6 modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  3. 8.7 modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  4. 8.8 modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  5. 10.3.x modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  6. 10.0.x modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  7. 10.1.x modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()
  8. 10.2.x modules/social_features/social_group/src/Controller/GroupManagersController.php \Drupal\social_group\Controller\GroupManagersController::access()

Checks access for group management page.

Parameters

\Drupal\Core\Session\AccountInterface $account: Run access checks for this account.

\Drupal\Core\Routing\RouteMatch $route_match: Current route.

Return value

\Drupal\Core\Access\AccessResult Check standard and custom permissions.

Throws

\Drupal\Component\Plugin\Exception\PluginNotFoundException Thrown if the entity type doesn't exist.

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException Thrown if the storage handler couldn't be loaded.

File

modules/social_features/social_group/src/Controller/GroupManagersController.php, line 61

Class

GroupManagersController
Class GroupManagersController.

Namespace

Drupal\social_group\Controller

Code

public function access(AccountInterface $account, RouteMatch $route_match) {

  // CM+ are allowed!
  if ($account
    ->hasPermission('administer members')) {
    return AccessResult::allowed();
  }

  /** @var \Drupal\group\Entity\GroupInterface $group */
  $group = _social_group_get_current_group();

  // Lets allow group managers as well.
  if ($group
    ->hasPermission('administer members', $account)) {
    return AccessResult::allowed();
  }
  return AccessResult::forbidden();
}