public static function AccessResult::allowedIfHasPermission in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Access/AccessResult.php \Drupal\Core\Access\AccessResult::allowedIfHasPermission()
- 9 core/lib/Drupal/Core/Access/AccessResult.php \Drupal\Core\Access\AccessResult::allowedIfHasPermission()
Creates an allowed access result if the permission is present, neutral otherwise.
Checks the permission and adds a 'user.permissions' cache context.
Parameters
\Drupal\Core\Session\AccountInterface $account: The account for which to check a permission.
string $permission: The permission to check for.
Return value
\Drupal\Core\Access\AccessResult If the account has the permission, isAllowed() will be TRUE, otherwise isNeutral() will be TRUE.
62 calls to AccessResult::allowedIfHasPermission()
- AccessResultTest::testCacheContexts in core/
tests/ Drupal/ Tests/ Core/ Access/ AccessResultTest.php - @covers ::addCacheContexts @covers ::resetCacheContexts @covers ::getCacheContexts @covers ::cachePerPermissions @covers ::cachePerUser @covers ::allowedIfHasPermission
- BaseFieldOverrideAccessControlHandler::checkAccess in core/
lib/ Drupal/ Core/ Field/ BaseFieldOverrideAccessControlHandler.php - Performs access checks.
- BlockContentAccessControlHandler::checkAccess in core/
modules/ block_content/ src/ BlockContentAccessControlHandler.php - Performs access checks.
- CommentAccessControlHandler::checkCreateAccess in core/
modules/ comment/ src/ CommentAccessControlHandler.php - Performs create access checks.
- CommentAccessControlHandler::checkFieldAccess in core/
modules/ comment/ src/ CommentAccessControlHandler.php - Default field access as determined by this access control handler.
File
- core/
lib/ Drupal/ Core/ Access/ AccessResult.php, line 114
Class
- AccessResult
- Value object for passing an access result with cacheability metadata.
Namespace
Drupal\Core\AccessCode
public static function allowedIfHasPermission(AccountInterface $account, $permission) {
$access_result = static::allowedIf($account
->hasPermission($permission))
->addCacheContexts([
'user.permissions',
]);
if ($access_result instanceof AccessResultReasonInterface) {
$access_result
->setReason("The '{$permission}' permission is required.");
}
return $access_result;
}