popsu_migrate: Created D7NodeProjet, D7NodeTheme themes et projets liés ok
This commit is contained in:
		| @@ -35,6 +35,7 @@ module: | ||||
|   dblog: 0 | ||||
|   devel: 0 | ||||
|   devel_generate: 0 | ||||
|   devel_kint_extras: 0 | ||||
|   dynamic_page_cache: 0 | ||||
|   editor: 0 | ||||
|   email_registration: 0 | ||||
|   | ||||
| @@ -5,7 +5,9 @@ error_handlers: | ||||
| rebuild_theme: false | ||||
| debug_mail_file_format: '%to-%subject-%datetime.mail.txt' | ||||
| debug_mail_directory: 'temporary://devel-mails' | ||||
| devel_dumper: default | ||||
| devel_dumper: kint | ||||
| _core: | ||||
|   default_config_hash: 8SYa5OOpQGdg4wnttb0LFNuG6GmivsS2qNv9sTH9gDI | ||||
| langcode: fr | ||||
| debug_logfile: 'temporary://drupal_debug.txt' | ||||
| debug_pre: false | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 48293cc8-6d3e-4319-94d5-5a084cc43922 | ||||
| uuid: d8e55680-7f11-4e58-9e8a-892ec4ec9191 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 6792e7bc-de9a-426f-a025-2714ebdae9c6 | ||||
| uuid: b03a76ce-4cc8-4567-85f4-ec6740c3e47b | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
|   | ||||
							
								
								
									
										39
									
								
								config/sync/migrate_plus.migration.d7_node_projet.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								config/sync/migrate_plus.migration.d7_node_projet.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| uuid: 3bbf9aad-5230-4660-8d1a-45d14b44a801 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: 1F9ybTf9deXW-90QNi5lAFvj5IWLs7DuiZ5npJvkx68 | ||||
| id: d7_node_projet | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| cck_plugin_method: null | ||||
| migration_tags: | ||||
|   - 'Drupal 7' | ||||
|   - Content | ||||
|   - Popsu | ||||
| migration_group: popsu | ||||
| label: 'Node Projet' | ||||
| source: | ||||
|   plugin: d7_node_projet | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: 'n' | ||||
| process: | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: projet | ||||
|   created: created | ||||
|   changed: changed | ||||
|   uid: | ||||
|     plugin: default_value | ||||
|     default_value: 34 | ||||
|   title: title | ||||
| destination: | ||||
|   plugin: 'entity:node' | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
|     - d7_taxonomy_term_type_theme | ||||
| @@ -1,9 +1,9 @@ | ||||
| uuid: da306ac3-31b7-48db-b5cd-bca61bed030d | ||||
| uuid: 479b05a2-6377-46f9-976d-a4d79b4cc6ac | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: uXnA5dnBQRk7D5gA4_B-KY4azpiVJY8-B9E7aIwHb7A | ||||
|   default_config_hash: WJ4CqAlkn09bHQXqYqK8-kat9Esdlw-iXGRk0IeX97c | ||||
| id: d7_node_theme | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| @@ -51,6 +51,17 @@ process: | ||||
|     migration: d7_taxonomy_term_type_theme | ||||
|     source: field_popsu_themtrans_type | ||||
|     no_stub: true | ||||
|   field_themes_lies: | ||||
|     plugin: sub_process | ||||
|     source: field_themes_lies | ||||
|     process: | ||||
|       target_id: | ||||
|         plugin: migration_lookup | ||||
|         migration: | ||||
|           - d7_node_projet | ||||
|           - d7_node_theme | ||||
|         source: nid | ||||
|         stub_id: d7_node_projet | ||||
| destination: | ||||
|   plugin: 'entity:node' | ||||
| migration_dependencies: | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 5271f877-ecf0-43f0-8b85-935338468cb9 | ||||
| uuid: b0b00974-3194-4e57-89b3-0cb83fd2d24f | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 7ec8eb78-7884-4c82-9996-ad70c1413c45 | ||||
| uuid: 0ac95398-8da2-4e5a-968d-6db44f0b9b86 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 4723b02a-b61d-4833-bb03-b7a2dfa6b42e | ||||
| uuid: 8d6222b6-cd0a-4679-b047-2ac9b3a079be | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: | ||||
|   | ||||
| @@ -5,9 +5,11 @@ dependencies: | ||||
|   config: | ||||
|     - field.storage.node.field_image | ||||
|     - field.storage.node.field_programme | ||||
|     - field.storage.node.field_themes_lies | ||||
|     - field.storage.node.field_type_de_theme | ||||
|     - image.style.thumbnail | ||||
|     - node.type.programme | ||||
|     - node.type.projet | ||||
|     - node.type.theme | ||||
|     - taxonomy.vocabulary.types_de_theme | ||||
|   module: | ||||
| @@ -691,10 +693,12 @@ display: | ||||
|       defaults: | ||||
|         filters: false | ||||
|         filter_groups: false | ||||
|         title: false | ||||
|       filter_groups: | ||||
|         operator: AND | ||||
|         groups: | ||||
|           1: AND | ||||
|       title: Programmes | ||||
|     display_plugin: page | ||||
|     display_title: Programmes | ||||
|     id: page_1 | ||||
| @@ -987,6 +991,7 @@ display: | ||||
|         filters: false | ||||
|         filter_groups: false | ||||
|         fields: false | ||||
|         title: false | ||||
|       filter_groups: | ||||
|         operator: AND | ||||
|         groups: | ||||
| @@ -1268,6 +1273,69 @@ display: | ||||
|           separator: ', ' | ||||
|           field_api_classes: false | ||||
|           plugin_id: field | ||||
|         field_themes_lies: | ||||
|           id: field_themes_lies | ||||
|           table: node__field_themes_lies | ||||
|           field: field_themes_lies | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           label: 'Thèmes liés' | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|             text: '' | ||||
|             make_link: false | ||||
|             path: '' | ||||
|             absolute: false | ||||
|             external: false | ||||
|             replace_spaces: false | ||||
|             path_case: none | ||||
|             trim_whitespace: false | ||||
|             alt: '' | ||||
|             rel: '' | ||||
|             link_class: '' | ||||
|             prefix: '' | ||||
|             suffix: '' | ||||
|             target: '' | ||||
|             nl2br: false | ||||
|             max_length: 0 | ||||
|             word_boundary: true | ||||
|             ellipsis: true | ||||
|             more_link: false | ||||
|             more_link_text: '' | ||||
|             more_link_path: '' | ||||
|             strip_tags: false | ||||
|             trim: false | ||||
|             preserve_tags: '' | ||||
|             html: false | ||||
|           element_type: '' | ||||
|           element_class: '' | ||||
|           element_label_type: '' | ||||
|           element_label_class: '' | ||||
|           element_label_colon: true | ||||
|           element_wrapper_type: '' | ||||
|           element_wrapper_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           click_sort_column: target_id | ||||
|           type: entity_reference_label | ||||
|           settings: | ||||
|             link: true | ||||
|           group_column: target_id | ||||
|           group_columns: {  } | ||||
|           group_rows: true | ||||
|           delta_limit: 0 | ||||
|           delta_offset: 0 | ||||
|           delta_reversed: false | ||||
|           delta_first_last: false | ||||
|           multi_type: separator | ||||
|           separator: ', ' | ||||
|           field_api_classes: false | ||||
|           plugin_id: field | ||||
|         status: | ||||
|           id: status | ||||
|           table: node_field_data | ||||
| @@ -1312,6 +1380,7 @@ display: | ||||
|           plugin_id: field | ||||
|           entity_type: node | ||||
|           entity_field: changed | ||||
|       title: Themes | ||||
|     display_plugin: page | ||||
|     display_title: Themes | ||||
|     id: page_2 | ||||
| @@ -1329,4 +1398,507 @@ display: | ||||
|       tags: | ||||
|         - 'config:field.storage.node.field_image' | ||||
|         - 'config:field.storage.node.field_programme' | ||||
|         - 'config:field.storage.node.field_themes_lies' | ||||
|         - 'config:field.storage.node.field_type_de_theme' | ||||
|   page_3: | ||||
|     display_options: | ||||
|       path: admin/content/projets | ||||
|       menu: | ||||
|         type: tab | ||||
|         title: Projets | ||||
|         description: '' | ||||
|         expanded: false | ||||
|         parent: system.admin_content | ||||
|         weight: -10 | ||||
|         context: '0' | ||||
|         menu_name: admin | ||||
|       tab_options: | ||||
|         type: normal | ||||
|         title: Contenu | ||||
|         description: 'Trouver et gérer le contenu' | ||||
|         menu_name: admin | ||||
|         weight: -10 | ||||
|       display_extenders: | ||||
|         views_ef_fieldset: {  } | ||||
|       display_description: '' | ||||
|       filters: | ||||
|         title: | ||||
|           id: title | ||||
|           table: node_field_data | ||||
|           field: title | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           operator: contains | ||||
|           value: '' | ||||
|           group: 1 | ||||
|           exposed: true | ||||
|           expose: | ||||
|             operator_id: title_op | ||||
|             label: Titre | ||||
|             description: '' | ||||
|             use_operator: false | ||||
|             operator: title_op | ||||
|             identifier: title | ||||
|             required: false | ||||
|             remember: false | ||||
|             multiple: false | ||||
|             remember_roles: | ||||
|               authenticated: authenticated | ||||
|               anonymous: '0' | ||||
|               administrator: '0' | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|           is_grouped: false | ||||
|           group_info: | ||||
|             label: '' | ||||
|             description: '' | ||||
|             identifier: '' | ||||
|             optional: true | ||||
|             widget: select | ||||
|             multiple: false | ||||
|             remember: false | ||||
|             default_group: All | ||||
|             default_group_multiple: {  } | ||||
|             group_items: {  } | ||||
|           plugin_id: string | ||||
|           entity_type: node | ||||
|           entity_field: title | ||||
|         type: | ||||
|           id: type | ||||
|           table: node_field_data | ||||
|           field: type | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           operator: in | ||||
|           value: | ||||
|             projet: projet | ||||
|           group: 1 | ||||
|           exposed: false | ||||
|           expose: | ||||
|             operator_id: type_op | ||||
|             label: 'Type de contenu' | ||||
|             description: '' | ||||
|             use_operator: false | ||||
|             operator: type_op | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|             identifier: type | ||||
|             required: false | ||||
|             remember: false | ||||
|             multiple: false | ||||
|             remember_roles: | ||||
|               authenticated: authenticated | ||||
|               anonymous: '0' | ||||
|               administrator: '0' | ||||
|             reduce: false | ||||
|           is_grouped: false | ||||
|           group_info: | ||||
|             label: '' | ||||
|             description: '' | ||||
|             identifier: '' | ||||
|             optional: true | ||||
|             widget: select | ||||
|             multiple: false | ||||
|             remember: false | ||||
|             default_group: All | ||||
|             default_group_multiple: {  } | ||||
|             group_items: {  } | ||||
|           plugin_id: bundle | ||||
|           entity_type: node | ||||
|           entity_field: type | ||||
|         status: | ||||
|           id: status | ||||
|           table: node_field_data | ||||
|           field: status | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           operator: '=' | ||||
|           value: '1' | ||||
|           group: 1 | ||||
|           exposed: true | ||||
|           expose: | ||||
|             operator_id: '' | ||||
|             label: État | ||||
|             description: '' | ||||
|             use_operator: false | ||||
|             operator: status_op | ||||
|             identifier: status | ||||
|             required: false | ||||
|             remember: false | ||||
|             multiple: false | ||||
|             remember_roles: | ||||
|               authenticated: authenticated | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|           is_grouped: true | ||||
|           group_info: | ||||
|             label: 'Statut de publication' | ||||
|             description: '' | ||||
|             identifier: status | ||||
|             optional: true | ||||
|             widget: select | ||||
|             multiple: false | ||||
|             remember: false | ||||
|             default_group: All | ||||
|             default_group_multiple: {  } | ||||
|             group_items: | ||||
|               1: | ||||
|                 title: Publié | ||||
|                 operator: '=' | ||||
|                 value: '1' | ||||
|               2: | ||||
|                 title: 'Non publié' | ||||
|                 operator: '=' | ||||
|                 value: '0' | ||||
|           plugin_id: boolean | ||||
|           entity_type: node | ||||
|           entity_field: status | ||||
|         status_extra: | ||||
|           id: status_extra | ||||
|           table: node_field_data | ||||
|           field: status_extra | ||||
|           operator: '=' | ||||
|           value: false | ||||
|           plugin_id: node_status | ||||
|           group: 1 | ||||
|           entity_type: node | ||||
|           expose: | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|         field_programme_target_id: | ||||
|           id: field_programme_target_id | ||||
|           table: node__field_programme | ||||
|           field: field_programme_target_id | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           operator: '=' | ||||
|           value: | ||||
|             min: '' | ||||
|             max: '' | ||||
|             value: '' | ||||
|           group: 1 | ||||
|           exposed: true | ||||
|           expose: | ||||
|             operator_id: field_programme_target_id_op | ||||
|             label: 'Programme Popsu' | ||||
|             description: '' | ||||
|             use_operator: false | ||||
|             operator: field_programme_target_id_op | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|             identifier: field_programme_target_id | ||||
|             required: false | ||||
|             remember: false | ||||
|             multiple: false | ||||
|             remember_roles: | ||||
|               authenticated: authenticated | ||||
|               anonymous: '0' | ||||
|               admin: '0' | ||||
|               root: '0' | ||||
|               user: '0' | ||||
|               editeur: '0' | ||||
|             placeholder: '' | ||||
|             min_placeholder: '' | ||||
|             max_placeholder: '' | ||||
|           is_grouped: false | ||||
|           group_info: | ||||
|             label: '' | ||||
|             description: '' | ||||
|             identifier: '' | ||||
|             optional: true | ||||
|             widget: select | ||||
|             multiple: false | ||||
|             remember: false | ||||
|             default_group: All | ||||
|             default_group_multiple: {  } | ||||
|             group_items: {  } | ||||
|           plugin_id: numeric | ||||
|       defaults: | ||||
|         filters: false | ||||
|         filter_groups: false | ||||
|         fields: false | ||||
|         title: false | ||||
|       filter_groups: | ||||
|         operator: AND | ||||
|         groups: | ||||
|           1: AND | ||||
|       fields: | ||||
|         node_bulk_form: | ||||
|           id: node_bulk_form | ||||
|           table: node | ||||
|           field: node_bulk_form | ||||
|           label: '' | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|           element_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           plugin_id: node_bulk_form | ||||
|           entity_type: node | ||||
|         field_image: | ||||
|           id: field_image | ||||
|           table: node__field_image | ||||
|           field: field_image | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           label: Image | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|             text: '' | ||||
|             make_link: false | ||||
|             path: '' | ||||
|             absolute: false | ||||
|             external: false | ||||
|             replace_spaces: false | ||||
|             path_case: none | ||||
|             trim_whitespace: false | ||||
|             alt: '' | ||||
|             rel: '' | ||||
|             link_class: '' | ||||
|             prefix: '' | ||||
|             suffix: '' | ||||
|             target: '' | ||||
|             nl2br: false | ||||
|             max_length: 0 | ||||
|             word_boundary: true | ||||
|             ellipsis: true | ||||
|             more_link: false | ||||
|             more_link_text: '' | ||||
|             more_link_path: '' | ||||
|             strip_tags: false | ||||
|             trim: false | ||||
|             preserve_tags: '' | ||||
|             html: false | ||||
|           element_type: '' | ||||
|           element_class: '' | ||||
|           element_label_type: '' | ||||
|           element_label_class: '' | ||||
|           element_label_colon: false | ||||
|           element_wrapper_type: '' | ||||
|           element_wrapper_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           click_sort_column: target_id | ||||
|           type: image | ||||
|           settings: | ||||
|             image_style: thumbnail | ||||
|             image_link: '' | ||||
|           group_column: '' | ||||
|           group_columns: {  } | ||||
|           group_rows: true | ||||
|           delta_limit: 0 | ||||
|           delta_offset: 0 | ||||
|           delta_reversed: false | ||||
|           delta_first_last: false | ||||
|           multi_type: separator | ||||
|           separator: ', ' | ||||
|           field_api_classes: false | ||||
|           plugin_id: field | ||||
|         title: | ||||
|           id: title | ||||
|           table: node_field_data | ||||
|           field: title | ||||
|           label: Titre | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|           element_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           entity_type: node | ||||
|           entity_field: title | ||||
|           type: string | ||||
|           settings: | ||||
|             link_to_entity: true | ||||
|           plugin_id: field | ||||
|         operations: | ||||
|           id: operations | ||||
|           table: node | ||||
|           field: operations | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           label: Actions | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|             text: '' | ||||
|             make_link: false | ||||
|             path: '' | ||||
|             absolute: false | ||||
|             external: false | ||||
|             replace_spaces: false | ||||
|             path_case: none | ||||
|             trim_whitespace: false | ||||
|             alt: '' | ||||
|             rel: '' | ||||
|             link_class: '' | ||||
|             prefix: '' | ||||
|             suffix: '' | ||||
|             target: '' | ||||
|             nl2br: false | ||||
|             max_length: 0 | ||||
|             word_boundary: true | ||||
|             ellipsis: true | ||||
|             more_link: false | ||||
|             more_link_text: '' | ||||
|             more_link_path: '' | ||||
|             strip_tags: false | ||||
|             trim: false | ||||
|             preserve_tags: '' | ||||
|             html: false | ||||
|           element_type: '' | ||||
|           element_class: '' | ||||
|           element_label_type: '' | ||||
|           element_label_class: '' | ||||
|           element_label_colon: true | ||||
|           element_wrapper_type: '' | ||||
|           element_wrapper_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           destination: true | ||||
|           plugin_id: entity_operations | ||||
|         field_programme: | ||||
|           id: field_programme | ||||
|           table: node__field_programme | ||||
|           field: field_programme | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           label: 'Programme Popsu' | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|             text: '' | ||||
|             make_link: false | ||||
|             path: '' | ||||
|             absolute: false | ||||
|             external: false | ||||
|             replace_spaces: false | ||||
|             path_case: none | ||||
|             trim_whitespace: false | ||||
|             alt: '' | ||||
|             rel: '' | ||||
|             link_class: '' | ||||
|             prefix: '' | ||||
|             suffix: '' | ||||
|             target: '' | ||||
|             nl2br: false | ||||
|             max_length: 0 | ||||
|             word_boundary: true | ||||
|             ellipsis: true | ||||
|             more_link: false | ||||
|             more_link_text: '' | ||||
|             more_link_path: '' | ||||
|             strip_tags: false | ||||
|             trim: false | ||||
|             preserve_tags: '' | ||||
|             html: false | ||||
|           element_type: '' | ||||
|           element_class: '' | ||||
|           element_label_type: '' | ||||
|           element_label_class: '' | ||||
|           element_label_colon: true | ||||
|           element_wrapper_type: '' | ||||
|           element_wrapper_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           click_sort_column: target_id | ||||
|           type: entity_reference_label | ||||
|           settings: | ||||
|             link: true | ||||
|           group_column: target_id | ||||
|           group_columns: {  } | ||||
|           group_rows: true | ||||
|           delta_limit: 0 | ||||
|           delta_offset: 0 | ||||
|           delta_reversed: false | ||||
|           delta_first_last: false | ||||
|           multi_type: separator | ||||
|           separator: ', ' | ||||
|           field_api_classes: false | ||||
|           plugin_id: field | ||||
|         status: | ||||
|           id: status | ||||
|           table: node_field_data | ||||
|           field: status | ||||
|           label: État | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|           element_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           type: boolean | ||||
|           settings: | ||||
|             format: custom | ||||
|             format_custom_true: Publié | ||||
|             format_custom_false: 'Non publié' | ||||
|           plugin_id: field | ||||
|           entity_type: node | ||||
|           entity_field: status | ||||
|         changed: | ||||
|           id: changed | ||||
|           table: node_field_data | ||||
|           field: changed | ||||
|           label: 'Mis à jour' | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
|           element_class: '' | ||||
|           element_default_classes: true | ||||
|           empty: '' | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           type: timestamp | ||||
|           settings: | ||||
|             date_format: short | ||||
|             custom_date_format: '' | ||||
|             timezone: '' | ||||
|           plugin_id: field | ||||
|           entity_type: node | ||||
|           entity_field: changed | ||||
|       title: Projets | ||||
|     display_plugin: page | ||||
|     display_title: Projets | ||||
|     id: page_3 | ||||
|     position: 1 | ||||
|     cache_metadata: | ||||
|       contexts: | ||||
|         - 'languages:language_content' | ||||
|         - 'languages:language_interface' | ||||
|         - url | ||||
|         - url.query_args | ||||
|         - user | ||||
|         - 'user.node_grants:view' | ||||
|         - user.permissions | ||||
|       max-age: 0 | ||||
|       tags: | ||||
|         - 'config:field.storage.node.field_image' | ||||
|         - 'config:field.storage.node.field_programme' | ||||
|   | ||||
| @@ -0,0 +1,45 @@ | ||||
| id: d7_node_projet | ||||
| label: Node Projet | ||||
| migration_group: popsu | ||||
| audit: true | ||||
| migration_tags: | ||||
|   - Drupal 7 | ||||
|   - Content | ||||
|   - Popsu | ||||
|  | ||||
| source: | ||||
|   plugin: d7_node_projet | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: n | ||||
|  | ||||
| destination: | ||||
|   plugin: entity:node | ||||
|  | ||||
| process: | ||||
|   # nid: nid | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: projet | ||||
|   created: created | ||||
|   changed: changed | ||||
|  | ||||
|   uid: | ||||
|     plugin: default_value | ||||
|     default_value: 34 | ||||
|  | ||||
|   title: title | ||||
|  | ||||
|   # field_programme: | ||||
|   #   plugin: migration_lookup | ||||
|   #   migration: d7_node_programme | ||||
|   #   source: programme | ||||
|   #   no_stub: true | ||||
|  | ||||
|  | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
|     - d7_taxonomy_term_type_theme | ||||
| @@ -56,8 +56,22 @@ process: | ||||
|     source: field_popsu_themtrans_type | ||||
|     no_stub: true | ||||
|  | ||||
|   field_themes_lies: | ||||
|     plugin: sub_process | ||||
|     source: field_themes_lies | ||||
|     process: | ||||
|       target_id: | ||||
|         plugin: migration_lookup | ||||
|         migration: | ||||
|           - d7_node_projet | ||||
|           - d7_node_theme | ||||
|         source: nid | ||||
|         # stub_id is not working :( | ||||
|         stub_id: d7_node_projet | ||||
|  | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
|     - d7_taxonomy_term_type_theme | ||||
|     - d7_node_projet | ||||
|   | ||||
| @@ -0,0 +1,160 @@ | ||||
| <?php | ||||
| namespace Drupal\popsu_migrate\Plugin\migrate\source; | ||||
| 
 | ||||
| use Drupal\Core\Extension\ModuleHandlerInterface; | ||||
| use Drupal\migrate\Row; | ||||
| use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity; | ||||
| use Drupal\Core\Database\Query\SelectInterface; | ||||
| use Drupal\Core\Entity\EntityTypeManagerInterface; | ||||
| use Drupal\Core\Extension\ModuleHandler; | ||||
| use Drupal\Core\State\StateInterface; | ||||
| use Drupal\migrate\Plugin\MigrationInterface; | ||||
| use Symfony\Component\DependencyInjection\ContainerInterface; | ||||
| use Drupal\Core\Logger\LoggerChannelFactoryInterface; | ||||
| use Drush\Drush; | ||||
| 
 | ||||
| // use Drupal\popsu_migrate\Plugin\migrate\source\D7Programme;
 | ||||
| 
 | ||||
| /** | ||||
|  * Drupal 7 node source from database. | ||||
|  * | ||||
|  * @MigrateSource( | ||||
|  *   id = "d7_node_projet", | ||||
|  *   source_module = "node" | ||||
|  * ) | ||||
|  */ | ||||
| class D7NodeProjet extends FieldableEntity { | ||||
|   /** | ||||
|    * The module handler. | ||||
|    * | ||||
|    * @var \Drupal\Core\Extension\ModuleHandlerInterface | ||||
|    */ | ||||
|   protected $moduleHandler; | ||||
| 
 | ||||
|   /** | ||||
|    * The logger channel. | ||||
|    * | ||||
|    * @var \Drupal\Core\Logger\LoggerChannelInterface | ||||
|    */ | ||||
|   protected $logger; | ||||
| 
 | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityTypeManagerInterface $entity_manager, ModuleHandlerInterface $module_handler,LoggerChannelFactoryInterface $loggerFactory) { | ||||
|     parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager); | ||||
|     $this->moduleHandler = $module_handler; | ||||
|     $this->logger = $loggerFactory->get('popsu_migration'); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { | ||||
|     return new static( | ||||
|       $configuration, | ||||
|       $plugin_id, | ||||
|       $plugin_definition, | ||||
|       $migration, | ||||
|       $container->get('state'), | ||||
|       $container->get('entity_type.manager'), | ||||
|       $container->get('module_handler'), | ||||
|       $container->get('logger.factory') | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * The join options between the node and the node_revisions table. | ||||
|    */ | ||||
|   const JOIN = 'n.vid = nr.vid'; | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public function query() { | ||||
|     // Select node in its last revision.
 | ||||
|     $query = $this->select('node_revision', 'nr') | ||||
|       ->fields('n', [ | ||||
|         'nid', | ||||
|         'type', | ||||
|         'uid', | ||||
|         'language', | ||||
|         'status', | ||||
|         'created', | ||||
|         'changed', | ||||
|       ]) | ||||
|       ->fields('nr', [ | ||||
|         'vid', | ||||
|         'title', | ||||
|         'log', | ||||
|         'timestamp', | ||||
|       ]) | ||||
|       ->orderBy('changed'); | ||||
| 
 | ||||
|     $query->addField('n', 'uid', 'node_uid'); | ||||
|     $query->addField('nr', 'uid', 'revision_uid'); | ||||
|     $query->innerJoin('node', 'n', static::JOIN); | ||||
| 
 | ||||
|     $query->condition('n.type', ['popsu_ville', 'popsu_ville_europe', 'popsu_projet'], 'IN'); | ||||
| 
 | ||||
|     return $query; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public function prepareRow(Row $row) { | ||||
|     $nid = $row->getSourceProperty('nid'); | ||||
|     $vid = $row->getSourceProperty('vid'); | ||||
|     $type = $row->getSourceProperty('type'); | ||||
|     $title = $row->getSourceProperty('title'); | ||||
|     Drush::output()->writeln('- - - - ' . $title . '- - - - '); | ||||
| 
 | ||||
|     // Get Field API field values.
 | ||||
|     foreach ($this->getFields('node', $type) as $field_name => $field) { | ||||
|       $field_values = $this->getFieldValues('node', $field_name, $nid, $vid, NULL); | ||||
|       $row->setSourceProperty($field_name, $field_values); | ||||
|       // switch ($field_name) {
 | ||||
|       //   case 'field_popsu_themloc_popsu':
 | ||||
|       //     $field_programme = $field_values;
 | ||||
|       //     break;
 | ||||
|       // }
 | ||||
|     } | ||||
| 
 | ||||
|     return parent::prepareRow($row); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public function fields() { | ||||
|     $fields = [ | ||||
|       'nid' => $this->t('Node ID'), | ||||
|       'type' => $this->t('Type'), | ||||
|       'title' => $this->t('Title'), | ||||
|       'node_uid' => $this->t('Node authored by (uid)'), | ||||
|       'revision_uid' => $this->t('Revision authored by (uid)'), | ||||
|       'created' => $this->t('Created timestamp'), | ||||
|       'changed' => $this->t('Modified timestamp'), | ||||
|       'status' => $this->t('Published'), | ||||
|       'promote' => $this->t('Promoted to front page'), | ||||
|       'sticky' => $this->t('Sticky at top of lists'), | ||||
|       'revision' => $this->t('Create new revision'), | ||||
|       'language' => $this->t('Language (fr, en, ...)'), | ||||
|       'tnid' => $this->t('The translation set id for this node'), | ||||
|       'timestamp' => $this->t('The timestamp the latest revision of this node was created.'), | ||||
|     ]; | ||||
|     return $fields; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * {@inheritdoc} | ||||
|    */ | ||||
|   public function getIds() { | ||||
|     $ids['nid']['type'] = 'integer'; | ||||
|     $ids['nid']['alias'] = 'n'; | ||||
|     return $ids; | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| @@ -160,11 +160,32 @@ class D7NodeTheme extends FieldableEntity { | ||||
|       $row->setSourceProperty('programme', $prog[0]['nid']); | ||||
|     } | ||||
| 
 | ||||
|     # Images
 | ||||
|     if ($field_images) { | ||||
|       // Drush::output()->writeln(dump($field_images));
 | ||||
|       $row->setSourceProperty('images', $field_images); | ||||
|     } | ||||
| 
 | ||||
|     # Themes liés
 | ||||
|     // merge the two ppossible field source
 | ||||
|     $field_themes_lies = array(); | ||||
|     if ($field_popsu_themloc_lies = $row->getSourceProperty('field_popsu_themloc_lies')) { | ||||
|       // Drush::output()->writeln(dump($field_popsu_themloc_lies));
 | ||||
|       foreach ($field_popsu_themloc_lies as $key => $value) { | ||||
|         $field_themes_lies[] = $value; | ||||
|       } | ||||
|     } | ||||
|     if ($field_popsu_themloc_comparatif = $row->getSourceProperty('field_popsu_themloc_comparatif')) { | ||||
|       // Drush::output()->writeln(dump($field_popsu_themloc_comparatif));
 | ||||
|       foreach ($field_popsu_themloc_comparatif as $key => $value) { | ||||
|         $field_themes_lies[] = $value; | ||||
|       } | ||||
|     } | ||||
|     if (!empty($field_themes_lies)) { | ||||
|       Drush::output()->writeln(dump($field_themes_lies)); | ||||
|       $row->setSourceProperty('field_themes_lies', $field_themes_lies); | ||||
|     } | ||||
| 
 | ||||
|     return parent::prepareRow($row); | ||||
|   } | ||||
| 
 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user