You are here

function _relation_migrate_validate_type_source in Relation 8

Same name and namespace in other branches
  1. 8.2 relation_migrate/relation_migrate.module \_relation_migrate_validate_type_source()
  2. 7 relation_migrate/relation_migrate.module \_relation_migrate_validate_type_source()

Checks if selected relation type supports all possible source bundles of a given field.

1 call to _relation_migrate_validate_type_source()
_relation_migrate_validate_type in relation_migrate/relation_migrate.module
Validates relation type selection on configuration form.

File

relation_migrate/relation_migrate.module, line 122
Migrations between *reference fields and relations.

Code

function _relation_migrate_validate_type_source($fields, $relation_type) {
  $allowed_bundles = $relation_type->source_bundles;
  $fields = array_filter($fields);
  foreach ($fields as $field_name) {
    $field = field_info_field($field_name);
    foreach ($field['bundles'] as $entity_type => $bundles) {
      if (!in_array($entity_type . ':*', $allowed_bundles)) {
        foreach ($bundles as $bundle) {
          if (!in_array($entity_type . ':' . $bundle, $allowed_bundles)) {
            return FALSE;
          }
        }
      }
    }
  }
  return TRUE;
}