Chris@0: hasPermission('administer shortcuts')) { Chris@0: return AccessResult::allowed()->cachePerPermissions(); Chris@0: } Chris@0: if (!$account->hasPermission('access shortcuts')) { Chris@0: return AccessResult::neutral()->cachePerPermissions(); Chris@0: } Chris@0: return AccessResult::allowedIf($account->hasPermission('customize shortcut links') && $entity == shortcut_current_displayed_set($account))->cachePerPermissions()->addCacheableDependency($entity); Chris@0: Chris@0: case 'delete': Chris@0: return AccessResult::allowedIf($account->hasPermission('administer shortcuts') && $entity->id() != 'default')->cachePerPermissions(); Chris@0: Chris@0: default: Chris@0: // No opinion. Chris@0: return AccessResult::neutral(); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { Chris@0: return AccessResult::allowedIfHasPermission($account, 'administer shortcuts')->orIf(AccessResult::allowedIfHasPermissions($account, ['access shortcuts', 'customize shortcut links'], 'AND')); Chris@0: } Chris@0: Chris@0: }