diff --git a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/NodeReference.php b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/NodeReference.php index f2f3542..3735a76 100644 --- a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/NodeReference.php +++ b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/NodeReference.php @@ -68,9 +68,11 @@ public function transformFieldInstanceSettings(Row $row) { $settings['handler'] = 'default:node'; $settings['handler_settings']['target_bundles'] = []; - $node_types = array_filter($source_settings['referenceable_types']); - if (!empty($node_types)) { - $settings['handler_settings']['target_bundles'] = $this->lookupMigrations($this->nodeTypeMigration, $node_types); + if (isset($source_settings['referenceable_types'])) { + $node_types = array_filter($source_settings['referenceable_types']); + if (!empty($node_types)) { + $settings['handler_settings']['target_bundles'] = $this->lookupMigrations($this->nodeTypeMigration, $node_types); + } } return $settings; } diff --git a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/TaxonomyTermReference.php b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/TaxonomyTermReference.php index 7581e2e..ae8abec 100644 --- a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/TaxonomyTermReference.php +++ b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/TaxonomyTermReference.php @@ -7,7 +7,7 @@ /** * @MigrateCckField( * id = "taxonomy_term_reference", - * core = {6,7}, + * core = {7}, * type_map = { * "taxonomy_term_reference" = "entity_reference" * } diff --git a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/UserReference.php b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/UserReference.php index 25afe01..caf887a 100644 --- a/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/UserReference.php +++ b/core/lib/Drupal/Core/Field/Plugin/migrate/cckfield/UserReference.php @@ -71,10 +71,12 @@ public function transformFieldInstanceSettings(Row $row) { $settings['handler_settings']['filter']['type'] = '_none'; $settings['handler_settings']['target_bundles'] = NULL; - $roles = array_filter($source_settings['referenceable_roles']); - if (!empty($roles)) { - $settings['handler_settings']['filter']['type'] = 'role'; - $settings['handler_settings']['filter']['role'] = $this->lookupMigrations($this->userRoleMigration, $roles); + if (isset($source_settings['referenceable_roles'])) { + $roles = array_filter($source_settings['referenceable_roles']); + if (!empty($roles)) { + $settings['handler_settings']['filter']['type'] = 'role'; + $settings['handler_settings']['filter']['role'] = $this->lookupMigrations($this->userRoleMigration, $roles); + } } return $settings; diff --git a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceTest.php b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceTest.php index 7e8f23e..d701f3f 100644 --- a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceTest.php +++ b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceTest.php @@ -119,8 +119,8 @@ public function testFieldInstanceMigration() { // Test user reference to entity reference migration. $field = FieldConfig::load('node.story.field_user_reference'); - $this->assertIdentical('User reference', $field->label()); - $this->assertIdentical('default:user', $field->getSetting('handler')); + $this->assertSame('User reference', $field->label()); + $this->assertSame('default:user', $field->getSetting('handler')); $expected = [ 'include_anonymous' => FALSE, 'filter' => [ diff --git a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldWidgetSettingsTest.php b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldWidgetSettingsTest.php index a905d7d..2721406 100644 --- a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldWidgetSettingsTest.php +++ b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldWidgetSettingsTest.php @@ -103,7 +103,7 @@ public function testWidgetSettings() { $expected = []; $expected['weight'] = 10; $expected['type'] = 'datetime_default'; - $expected['settings'] = array(); + $expected['settings'] = []; $expected['third_party_settings'] = []; $this->assertIdentical($expected, $component); @@ -111,7 +111,7 @@ public function testWidgetSettings() { $expected = []; $expected['weight'] = 11; $expected['type'] = 'datetime_default'; - $expected['settings'] = array(); + $expected['settings'] = []; $expected['third_party_settings'] = []; $this->assertIdentical($expected, $component); @@ -119,7 +119,7 @@ public function testWidgetSettings() { $expected = []; $expected['weight'] = 12; $expected['type'] = 'datetime_default'; - $expected['settings'] = array(); + $expected['settings'] = []; $expected['third_party_settings'] = []; $this->assertIdentical($expected, $component); } diff --git a/core/modules/link/src/Plugin/migrate/cckfield/LinkField.php b/core/modules/link/src/Plugin/migrate/cckfield/LinkField.php index 1d62c7d..a86183c 100644 --- a/core/modules/link/src/Plugin/migrate/cckfield/LinkField.php +++ b/core/modules/link/src/Plugin/migrate/cckfield/LinkField.php @@ -51,10 +51,17 @@ public function processCckFieldValues(MigrationInterface $migration, $field_name */ public function transformFieldInstanceSettings(Row $row) { $field_settings = $row->getSourceProperty('global_settings'); - // D6 has optional, required, value and none. D8 only has disabled (0) - // optional (1) and required (2). - $map = ['disabled' => 0, 'optional' => 1, 'required' => 2]; - $settings['title'] = $map[$field_settings['title']]; + if (isset($field_settings['title'])) { + // D6 has optional, required, value and none. D8 only has disabled (0) + // optional (1) and required (2). + $map = ['disabled' => 0, 'optional' => 1, 'required' => 2]; + $settings['title'] = $map[$field_settings['title']]; + } + else { + // In case we are missing title in field settings, use disabled value "0" + // as a default value. + $settings['title'] = 0; + } return $settings; }