bundle(); switch ($operation) { case 'view label': return AccessResult::allowed(); case 'view': if (!$entity->isPublished()) { return AccessResult::allowedIf( $account->hasPermission("view unpublished actor entities") ); } return AccessResult::allowedIf( $account->hasPermission("view published $bundle entities") ); case "update": return AccessResult::allowedIfHasPermission($account, "edit $bundle entities"); case "delete": return AccessResult::allowedIfHasPermission($account, "delete $bundle entities"); } // Unknown operation, no opinion. return AccessResult::neutral(); } /** * {@inheritdoc} */ protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { return AccessResult::allowedIfHasPermission($account, "add $entity_bundle entities"); } }