updated core
This commit is contained in:
@@ -250,19 +250,6 @@ function field_entity_bundle_delete($entity_type_id, $bundle) {
|
||||
unset($handler_settings['target_bundles'][$bundle]);
|
||||
$field_config->setSetting('handler_settings', $handler_settings);
|
||||
$field_config->save();
|
||||
|
||||
// In case we deleted the only target bundle allowed by the field we
|
||||
// have to log a critical message because the field will not function
|
||||
// correctly anymore.
|
||||
if ($handler_settings['target_bundles'] === []) {
|
||||
\Drupal::logger('entity_reference')->critical('The %target_bundle bundle (entity type: %target_entity_type) was deleted. As a result, the %field_name entity reference field (entity_type: %entity_type, bundle: %bundle) no longer has any valid bundle it can reference. The field is not working correctly anymore and has to be adjusted.', [
|
||||
'%target_bundle' => $bundle,
|
||||
'%target_entity_type' => $entity_type_id,
|
||||
'%field_name' => $field_config->getName(),
|
||||
'%entity_type' => $field_config->getTargetEntityTypeId(),
|
||||
'%bundle' => $field_config->getTargetBundle()
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -407,4 +394,17 @@ function field_field_config_presave(FieldConfigInterface $field) {
|
||||
$selection_manager = \Drupal::service('plugin.manager.entity_reference_selection');
|
||||
list($current_handler) = explode(':', $field->getSetting('handler'), 2);
|
||||
$field->setSetting('handler', $selection_manager->getPluginId($target_type, $current_handler));
|
||||
|
||||
// In case we removed all the target bundles allowed by the field in
|
||||
// EntityReferenceItem::onDependencyRemoval() or field_entity_bundle_delete()
|
||||
// we have to log a critical message because the field will not function
|
||||
// correctly anymore.
|
||||
$handler_settings = $field->getSetting('handler_settings');
|
||||
if (isset($handler_settings['target_bundles']) && $handler_settings['target_bundles'] === []) {
|
||||
\Drupal::logger('entity_reference')->critical('The %field_name entity reference field (entity_type: %entity_type, bundle: %bundle) no longer has any valid bundle it can reference. The field is not working correctly anymore and has to be adjusted.', [
|
||||
'%field_name' => $field->getName(),
|
||||
'%entity_type' => $field->getTargetEntityTypeId(),
|
||||
'%bundle' => $field->getTargetBundle(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user