isPublished()) { return AccessResult::allowedIfHasPermission($account, 'view unpublished activity entities'); } return AccessResult::allowedIf( $account->hasPermission('view published case entities') // activity permissions are inherited from case || $entity->getOwner()->id() == $account->id() ); case 'update': // allowed only if a) they can see the case the activity is on and b) they can edit activities return AccessResult::allowedIf( $account->hasPermission('edit activity entities') // activity permissions are inherited from case || $entity->getOwner()->id() == $account->id() ); case 'delete': // allowed only if a) they can see the case the activity is on and b) they can delete activities return AccessResult::allowedIf( $account->hasPermission('delete case entities') ); } // Unknown operation, no opinion. return AccessResult::neutral(); } /** * {@inheritdoc} */ protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { return AccessResult::allowedIfHasPermission($account, 'add activity entities'); } }