popsu_migrate: D7NodeTheme started, improved admin vue
This commit is contained in:
		| @@ -72,6 +72,7 @@ module: | ||||
|   menu_link_content: 0 | ||||
|   menu_ui: 0 | ||||
|   migrate: 0 | ||||
|   migrate_devel: 0 | ||||
|   migrate_drupal: 0 | ||||
|   migrate_plus: 0 | ||||
|   migrate_tools: 0 | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| uuid: 0f97d872-fa48-4944-81a8-90265be2094e | ||||
| uuid: d20b17c1-040b-4b8b-8453-2222fc71592c | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
|   | ||||
							
								
								
									
										50
									
								
								config/sync/migrate_plus.migration.d7_node_popsu_ville.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								config/sync/migrate_plus.migration.d7_node_popsu_ville.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| uuid: 095bb664-b9d9-496a-9bb9-132e03bfca69 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: DEiEznlQsZHWFvplSNI6tTg2zhb8ezulEBACzsVtVUQ | ||||
| id: d7_node_popsu_ville | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| cck_plugin_method: null | ||||
| migration_tags: | ||||
|   - 'Drupal 7' | ||||
|   - Content | ||||
|   - Popsu | ||||
| migration_group: popsu | ||||
| label: 'Node popsu ville' | ||||
| source: | ||||
|   plugin: d7_node_popsu_ville | ||||
|   node_type: popsu_ville | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: 'n' | ||||
| process: | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: projet | ||||
|   title: title | ||||
|   created: created | ||||
|   changed: changed | ||||
|   uid: | ||||
|     plugin: migration_lookup | ||||
|     migration: d7_users | ||||
|     source: uid | ||||
|   body: | ||||
|     plugin: iterator | ||||
|     source: field_description | ||||
|     process: | ||||
|       value: value | ||||
|       format: | ||||
|         plugin: default_value | ||||
|         default_value: wysiwyg | ||||
| destination: | ||||
|   plugin: 'entity:node' | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
|     - d7_programmes | ||||
|     - d7_villes | ||||
							
								
								
									
										58
									
								
								config/sync/migrate_plus.migration.d7_node_programme.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								config/sync/migrate_plus.migration.d7_node_programme.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| uuid: e355cc82-250d-4523-8bf9-2ed714e29c62 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: gnIlpxdQVO9VXb7quJw-fmpz3CX1GUXjMhjHmZ5w1YM | ||||
| id: d7_node_programme | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| cck_plugin_method: null | ||||
| migration_tags: | ||||
|   - 'Drupal 7' | ||||
|   - Content | ||||
|   - Popsu | ||||
| migration_group: popsu | ||||
| label: 'Node Programme' | ||||
| source: | ||||
|   plugin: d7_node_programme | ||||
|   node_type: popsu_special | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: 'n' | ||||
| process: | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: programme | ||||
|   created: created | ||||
|   changed: changed | ||||
|   uid: | ||||
|     plugin: default_value | ||||
|     default_value: 34 | ||||
|   title: term_title | ||||
|   body/value: body | ||||
|   body/summary: body_summary | ||||
|   body/format: | ||||
|     plugin: default_value | ||||
|     default_value: wysiwyg | ||||
|   field_textes: text_paragraphe | ||||
|   field_sous_parties: sous_parties | ||||
|   field_partenaires: partenaires | ||||
|   field_fichier: | ||||
|     plugin: sub_process | ||||
|     source: fichiers | ||||
|     process: | ||||
|       target_id: | ||||
|         plugin: migration_lookup | ||||
|         migration: d7_allpublicfiles | ||||
|         source: fid | ||||
|         no_stub: true | ||||
|       display: display | ||||
|       description: description | ||||
| destination: | ||||
|   plugin: 'entity:node' | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
							
								
								
									
										38
									
								
								config/sync/migrate_plus.migration.d7_node_theme.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								config/sync/migrate_plus.migration.d7_node_theme.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| uuid: 624dc3c7-c811-4f32-9823-2ec65ed4373f | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: QR9S8jsknIDqCYeApONkn5ndcCpazuyxJxCBUtUiqY8 | ||||
| id: d7_node_theme | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| cck_plugin_method: null | ||||
| migration_tags: | ||||
|   - 'Drupal 7' | ||||
|   - Content | ||||
|   - Popsu | ||||
| migration_group: popsu | ||||
| label: 'Node Theme' | ||||
| source: | ||||
|   plugin: d7_node_theme | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: 'n' | ||||
| process: | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: theme | ||||
|   created: created | ||||
|   changed: changed | ||||
|   title: title | ||||
|   uid: | ||||
|     plugin: default_value | ||||
|     default_value: 34 | ||||
| destination: | ||||
|   plugin: 'entity:node' | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
| @@ -1,9 +1,9 @@ | ||||
| uuid: 17350b9c-18b6-4716-b944-c09e2dd67163 | ||||
| uuid: b10f68ec-8c19-4707-8775-140231d57142 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| _core: | ||||
|   default_config_hash: 7HNGRfzA6vYrhJVsS7Wm-d_g6sucSx6c_K48dpghcks | ||||
|   default_config_hash: mR9tehyJ35Hg9p6fRCGwtr-Whd1VHnD1_F-M9944bxc | ||||
| id: d7_users | ||||
| class: null | ||||
| field_plugin_method: null | ||||
| @@ -46,7 +46,6 @@ process: | ||||
|       method: row | ||||
|       value: | ||||
|         - 5 | ||||
|         - 3 | ||||
|     - | ||||
|       plugin: static_map | ||||
|       source: roles | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| uuid: 325cb8a6-0ecb-4e58-9248-cc86c51e0047 | ||||
| langcode: en | ||||
| uuid: dee3cb55-be5e-47a0-b208-ed23f47d014d | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: | ||||
|   enforced: | ||||
|   | ||||
| @@ -163,6 +163,7 @@ permissions: | ||||
|   - 'translate static node' | ||||
|   - 'update content translations' | ||||
|   - 'use text format wysiwyg' | ||||
|   - 'use views bulk edit' | ||||
|   - 'view actualite revisions' | ||||
|   - 'view all revisions' | ||||
|   - 'view autre_son revisions' | ||||
|   | ||||
| @@ -6,4 +6,58 @@ id: editeur | ||||
| label: Editeur | ||||
| weight: -3 | ||||
| is_admin: null | ||||
| permissions: {  } | ||||
| permissions: | ||||
|   - 'access administration pages' | ||||
|   - 'access content overview' | ||||
|   - 'access files overview' | ||||
|   - 'access site in maintenance mode' | ||||
|   - 'access toolbar' | ||||
|   - 'break content lock' | ||||
|   - 'change own username' | ||||
|   - 'create actualite content' | ||||
|   - 'create collection content' | ||||
|   - 'create evenement content' | ||||
|   - 'create programme content' | ||||
|   - 'create projet content' | ||||
|   - 'create ressource content' | ||||
|   - 'create static content' | ||||
|   - 'create terms in equipes' | ||||
|   - 'create terms in types_d_evenement' | ||||
|   - 'create terms in types_de_document' | ||||
|   - 'create terms in types_de_theme' | ||||
|   - 'create terms in villes' | ||||
|   - 'create theme content' | ||||
|   - 'edit any actualite content' | ||||
|   - 'edit any collection content' | ||||
|   - 'edit any evenement content' | ||||
|   - 'edit any programme content' | ||||
|   - 'edit any projet content' | ||||
|   - 'edit any ressource content' | ||||
|   - 'edit any static content' | ||||
|   - 'edit any theme content' | ||||
|   - 'edit terms in equipes' | ||||
|   - 'edit terms in types_d_evenement' | ||||
|   - 'edit terms in types_de_document' | ||||
|   - 'edit terms in types_de_theme' | ||||
|   - 'edit terms in villes' | ||||
|   - 'revert actualite revisions' | ||||
|   - 'revert all revisions' | ||||
|   - 'revert collection revisions' | ||||
|   - 'revert evenement revisions' | ||||
|   - 'revert programme revisions' | ||||
|   - 'revert projet revisions' | ||||
|   - 'revert ressource revisions' | ||||
|   - 'revert static revisions' | ||||
|   - 'revert theme revisions' | ||||
|   - 'use text format wysiwyg' | ||||
|   - 'view actualite revisions' | ||||
|   - 'view all revisions' | ||||
|   - 'view collection revisions' | ||||
|   - 'view evenement revisions' | ||||
|   - 'view own unpublished content' | ||||
|   - 'view programme revisions' | ||||
|   - 'view projet revisions' | ||||
|   - 'view ressource revisions' | ||||
|   - 'view static revisions' | ||||
|   - 'view the administration theme' | ||||
|   - 'view theme revisions' | ||||
|   | ||||
| @@ -2,6 +2,9 @@ uuid: db0c124c-a260-4158-91e8-53b81d62a143 | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: | ||||
|   config: | ||||
|     - node.type.programme | ||||
|     - node.type.theme | ||||
|   module: | ||||
|     - node | ||||
|     - user | ||||
| @@ -176,14 +179,14 @@ display: | ||||
|           settings: | ||||
|             link_to_entity: true | ||||
|           plugin_id: field | ||||
|         type: | ||||
|           id: type | ||||
|           table: node_field_data | ||||
|           field: type | ||||
|         operations: | ||||
|           id: operations | ||||
|           table: node | ||||
|           field: operations | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           label: 'Type de contenu' | ||||
|           label: Actions | ||||
|           exclude: false | ||||
|           alter: | ||||
|             alter_text: false | ||||
| @@ -224,23 +227,8 @@ display: | ||||
|           hide_empty: false | ||||
|           empty_zero: false | ||||
|           hide_alter_empty: true | ||||
|           click_sort_column: target_id | ||||
|           type: entity_reference_label | ||||
|           settings: | ||||
|             link: false | ||||
|           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 | ||||
|           entity_type: node | ||||
|           entity_field: type | ||||
|           plugin_id: field | ||||
|           destination: true | ||||
|           plugin_id: entity_operations | ||||
|         name: | ||||
|           id: name | ||||
|           table: users_field_data | ||||
| @@ -304,56 +292,6 @@ display: | ||||
|           plugin_id: field | ||||
|           entity_type: node | ||||
|           entity_field: changed | ||||
|         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 | ||||
|       filters: | ||||
|         title: | ||||
|           id: title | ||||
| @@ -405,15 +343,18 @@ display: | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           operator: in | ||||
|           value: {  } | ||||
|           value: | ||||
|             theme: theme | ||||
|           group: 1 | ||||
|           exposed: true | ||||
|           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 | ||||
| @@ -423,8 +364,6 @@ display: | ||||
|               anonymous: '0' | ||||
|               administrator: '0' | ||||
|             reduce: false | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|           is_grouped: false | ||||
|           group_info: | ||||
|             label: '' | ||||
| @@ -544,7 +483,7 @@ display: | ||||
|             operator_limit_selection: false | ||||
|             operator_list: {  } | ||||
|       sorts: {  } | ||||
|       title: Contenu | ||||
|       title: Themes | ||||
|       empty: | ||||
|         area_text_custom: | ||||
|           id: area_text_custom | ||||
| @@ -568,6 +507,17 @@ display: | ||||
|         groups: | ||||
|           1: AND | ||||
|       display_extenders: {  } | ||||
|       header: | ||||
|         result: | ||||
|           id: result | ||||
|           table: views | ||||
|           field: result | ||||
|           relationship: none | ||||
|           group_type: group | ||||
|           admin_label: '' | ||||
|           empty: false | ||||
|           content: 'Affichage de @start à @end sur @total' | ||||
|           plugin_id: result | ||||
|     display_plugin: default | ||||
|     display_title: Maître | ||||
|     id: default | ||||
| @@ -585,7 +535,7 @@ display: | ||||
|       tags: {  } | ||||
|   page_1: | ||||
|     display_options: | ||||
|       path: admin/content/node | ||||
|       path: admin/content/programme | ||||
|       menu: | ||||
|         type: 'default tab' | ||||
|         title: Contenu | ||||
| @@ -599,9 +549,165 @@ display: | ||||
|         description: 'Trouver et gérer le contenu' | ||||
|         menu_name: admin | ||||
|         weight: -10 | ||||
|       display_extenders: {  } | ||||
|       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: | ||||
|             programme: programme | ||||
|           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: {  } | ||||
|       defaults: | ||||
|         filters: false | ||||
|         filter_groups: false | ||||
|       filter_groups: | ||||
|         operator: AND | ||||
|         groups: | ||||
|           1: AND | ||||
|     display_plugin: page | ||||
|     display_title: Page | ||||
|     display_title: Programmes | ||||
|     id: page_1 | ||||
|     position: 1 | ||||
|     cache_metadata: | ||||
| @@ -615,3 +721,193 @@ display: | ||||
|         - user.permissions | ||||
|       max-age: 0 | ||||
|       tags: {  } | ||||
|   page_2: | ||||
|     display_options: | ||||
|       path: admin/content/themes | ||||
|       menu: | ||||
|         type: tab | ||||
|         title: Themes | ||||
|         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: | ||||
|             theme: theme | ||||
|           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: {  } | ||||
|       defaults: | ||||
|         filters: false | ||||
|         filter_groups: false | ||||
|       filter_groups: | ||||
|         operator: AND | ||||
|         groups: | ||||
|           1: AND | ||||
|     display_plugin: page | ||||
|     display_title: Themes | ||||
|     id: page_2 | ||||
|     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: {  } | ||||
|   | ||||
| @@ -0,0 +1,38 @@ | ||||
| id: d7_node_theme | ||||
| label: Node Theme | ||||
| migration_group: popsu | ||||
| audit: true | ||||
| migration_tags: | ||||
|   - Drupal 7 | ||||
|   - Content | ||||
|   - Popsu | ||||
|  | ||||
| source: | ||||
|   plugin: d7_node_theme | ||||
|   # node_type: popsu_special | ||||
|   batch_size: 500 | ||||
|   high_water_property: | ||||
|     name: changed | ||||
|     alias: n | ||||
|  | ||||
| destination: | ||||
|   plugin: entity:node | ||||
|  | ||||
| process: | ||||
|   # nid: nid | ||||
|   type: | ||||
|     plugin: default_value | ||||
|     default_value: theme | ||||
|   created: created | ||||
|   changed: changed | ||||
|  | ||||
|   title: title | ||||
|  | ||||
|   uid: | ||||
|     plugin: default_value | ||||
|     default_value: 34 | ||||
|  | ||||
| migration_dependencies: | ||||
|   required: | ||||
|     - d7_allpublicfiles | ||||
|     - d7_users | ||||
| @@ -0,0 +1,154 @@ | ||||
| <?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_theme", | ||||
|  *   source_module = "node" | ||||
|  * ) | ||||
|  */ | ||||
| class D7NodeTheme 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_theme_local', 'popsu_theme_trans', 'popsu_theme_europe'], '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) { | ||||
|       $row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, NULL)); | ||||
|     } | ||||
| 
 | ||||
|     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; | ||||
|   } | ||||
| 
 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user