You are here

protected function SocialGroupAccessControlHandler::checkCreateAccess in Open Social 10.3.x

Same name and namespace in other branches
  1. 10.0.x modules/social_features/social_group/src/Entity/Access/SocialGroupAccessControlHandler.php \Drupal\social_group\Entity\Access\SocialGroupAccessControlHandler::checkCreateAccess()
  2. 10.1.x modules/social_features/social_group/src/Entity/Access/SocialGroupAccessControlHandler.php \Drupal\social_group\Entity\Access\SocialGroupAccessControlHandler::checkCreateAccess()
  3. 10.2.x modules/social_features/social_group/src/Entity/Access/SocialGroupAccessControlHandler.php \Drupal\social_group\Entity\Access\SocialGroupAccessControlHandler::checkCreateAccess()

Performs create access checks.

This method is supposed to be overwritten by extending classes that do their own custom access checking.

Parameters

\Drupal\Core\Session\AccountInterface $account: The user for which to check access.

array $context: An array of key-value pairs to pass additional context when needed.

string|null $entity_bundle: (optional) The bundle of the entity. Required if the entity supports bundles, defaults to NULL otherwise.

Return value

\Drupal\Core\Access\AccessResultInterface The access result.

Overrides GroupAccessControlHandler::checkCreateAccess

File

modules/social_features/social_group/src/Entity/Access/SocialGroupAccessControlHandler.php, line 54

Class

SocialGroupAccessControlHandler
Extended access controller for the Group entity.

Namespace

Drupal\social_group\Entity\Access

Code

protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
  if (!$account
    ->hasPermission('bypass group access') && !$account
    ->hasPermission('bypass create group access') && !$this->configFactory
    ->get('social_group.settings')
    ->get('allow_group_create')) {
    return AccessResult::forbidden();
  }
  return parent::checkCreateAccess($account, $context, $entity_bundle);
}