protected function OrgAccessControlHandler::checkCreateAccess in RedHen CRM 8
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 EntityAccessControlHandler::checkCreateAccess
File
- modules/
redhen_org/ src/ OrgAccessControlHandler.php, line 82
Class
- OrgAccessControlHandler
- Access controller for the Org entity.
Namespace
Drupal\redhen_orgCode
protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
// If there is only one redhen_org bundle, set $entity_bundle to it
// since OrgAddController::add returns the add form for the solitary
// bundle instead of a bundle select form if there is only one.
if (!$entity_bundle) {
$types = \Drupal::entityTypeManager()
->getStorage('redhen_org_type')
->loadMultiple();
if ($types && count($types) == 1) {
$entity_bundle = array_keys($types)[0];
}
}
return AccessResult::allowedIfHasPermissions($account, [
'add org entities',
'add ' . $entity_bundle . ' org',
], 'OR');
}