function entityreference_relation_migrate_type_target_validate in Relation 8
Same name and namespace in other branches
- 8.2 relation_migrate/relation_migrate.modules.inc \entityreference_relation_migrate_type_target_validate()
- 7 relation_migrate/relation_migrate.modules.inc \entityreference_relation_migrate_type_target_validate()
Implements hook_relation_migrate_type_target_validate().
File
- relation_migrate/
relation_migrate.modules.inc, line 70 - s Hook implementations in behalf of core and supported contrib modules.
Code
function entityreference_relation_migrate_type_target_validate($element, $form_state, $form) {
$fields = array_filter($form_state['input']['relation_migrate_entityreference_fields']);
$relation_type = RelationType::load($form_state['input']['relation_migrate_entityreference_relation_type']);
$supported_bundles = $relation_type->directional ? $relation_type->target_bundles : $relation_type->source_bundles;
$return = TRUE;
foreach ($fields as $field) {
$field_def = field_info_field($field);
$entity_type = $field_def['settings']['target_type'];
$bundles = array_filter($field_def['settings']['handler_settings']['target_bundles']);
$bundles_allowed = TRUE;
foreach ($bundles as $bundle) {
$bundles_allowed &= in_array($entity_type . ':' . $bundle, $supported_bundles);
}
$return &= in_array($entity_type . ':*', $supported_bundles) || $bundles_allowed;
}
return $return;
}