protected function ContactAccessControlHandler::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_contact/ src/ ContactAccessControlHandler.php, line 128
Class
- ContactAccessControlHandler
- Access controller for the Contact entity.
Namespace
Drupal\redhen_contactCode
protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
// If there is only one redhen_contact bundle, set $entity_bundle to it
// since ContactAddController::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_contact_type')
->loadMultiple();
if ($types && count($types) == 1) {
$entity_bundle = array_keys($types)[0];
}
}
return AccessResult::allowedIfHasPermissions($account, [
'add contact entities',
'add ' . $entity_bundle . ' contact',
], 'OR');
}