diff --git a/core/lib/Drupal/Core/Entity/EntityPermissionProvider.php b/core/lib/Drupal/Core/Entity/EntityPermissionProvider.php index b47b0ba..f8b9d5b 100644 --- a/core/lib/Drupal/Core/Entity/EntityPermissionProvider.php +++ b/core/lib/Drupal/Core/Entity/EntityPermissionProvider.php @@ -92,12 +92,16 @@ public function buildPermissions(EntityTypeInterface $entity_type) { ]; } // Generate the other permissions based on granularity. - if ($entity_type->getPermissionGranularity() == 'entity_type') { + $entity_type_permission_granularity = $entity_type->getPermissionGranularity(); + if ($entity_type_permission_granularity === 'entity_type') { $permissions += $this->buildEntityTypePermissions($entity_type); } - else { + else if ($entity_type_permission_granularity == 'bundle') { $permissions += $this->buildBundlePermissions($entity_type); } + else { + throw new EntityMalformedException('The entity type does not have an valid permission_granularity.'); + } foreach ($permissions as $name => $permission) { $permissions[$name] += [