diff --git a/config/sync/migrate_plus.migration.d7_allpublicfiles.yml b/config/sync/migrate_plus.migration.d7_allpublicfiles.yml index 303caff1..a0f1739d 100644 --- a/config/sync/migrate_plus.migration.d7_allpublicfiles.yml +++ b/config/sync/migrate_plus.migration.d7_allpublicfiles.yml @@ -1,4 +1,4 @@ -uuid: d20b17c1-040b-4b8b-8453-2222fc71592c +uuid: fbacd6fb-fb76-401a-bfdb-e217cad3c0a7 langcode: fr status: true dependencies: { } diff --git a/config/sync/migrate_plus.migration.d7_node_programme.yml b/config/sync/migrate_plus.migration.d7_node_programme.yml index 519a72fa..41815579 100644 --- a/config/sync/migrate_plus.migration.d7_node_programme.yml +++ b/config/sync/migrate_plus.migration.d7_node_programme.yml @@ -1,4 +1,4 @@ -uuid: e355cc82-250d-4523-8bf9-2ed714e29c62 +uuid: e946434c-cbc1-430a-ae3e-c2a79cd3ee93 langcode: fr status: true dependencies: { } diff --git a/config/sync/migrate_plus.migration.d7_node_theme.yml b/config/sync/migrate_plus.migration.d7_node_theme.yml index 4d9ca99b..386bde8c 100644 --- a/config/sync/migrate_plus.migration.d7_node_theme.yml +++ b/config/sync/migrate_plus.migration.d7_node_theme.yml @@ -1,9 +1,9 @@ -uuid: 624dc3c7-c811-4f32-9823-2ec65ed4373f +uuid: 6c24ccb0-9a42-4162-9900-4fe6edde5825 langcode: fr status: true dependencies: { } _core: - default_config_hash: QR9S8jsknIDqCYeApONkn5ndcCpazuyxJxCBUtUiqY8 + default_config_hash: v7lZxj69QSpfsfR5KJSQSV4wPE42ubLZxMh_i2bU8NI id: d7_node_theme class: null field_plugin_method: null @@ -26,10 +26,15 @@ process: default_value: theme created: created changed: changed - title: title uid: plugin: default_value default_value: 34 + title: title + field_programme: + plugin: migration_lookup + migration: d7_node_programme + source: programme + no_stub: true destination: plugin: 'entity:node' migration_dependencies: diff --git a/config/sync/migrate_plus.migration.d7_users.yml b/config/sync/migrate_plus.migration.d7_users.yml index 603fd817..86b65edd 100644 --- a/config/sync/migrate_plus.migration.d7_users.yml +++ b/config/sync/migrate_plus.migration.d7_users.yml @@ -1,4 +1,4 @@ -uuid: b10f68ec-8c19-4707-8775-140231d57142 +uuid: 438c8942-0614-45aa-8a96-365289e597d6 langcode: fr status: true dependencies: { } diff --git a/config/sync/migrate_plus.migration_group.popsu.yml b/config/sync/migrate_plus.migration_group.popsu.yml index ad370e5c..4f148da5 100644 --- a/config/sync/migrate_plus.migration_group.popsu.yml +++ b/config/sync/migrate_plus.migration_group.popsu.yml @@ -1,4 +1,4 @@ -uuid: dee3cb55-be5e-47a0-b208-ed23f47d014d +uuid: b4b6ad27-bd70-4b30-9972-563b5c68e683 langcode: fr status: true dependencies: diff --git a/config/sync/pagerer.preset.default.yml b/config/sync/pagerer.preset.default.yml index d2caa175..a5286be3 100644 --- a/config/sync/pagerer.preset.default.yml +++ b/config/sync/pagerer.preset.default.yml @@ -26,7 +26,7 @@ panes: widget_button: auto tags: pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' first: « diff --git a/config/sync/pagerer.style.adaptive.yml b/config/sync/pagerer.style.adaptive.yml index ba66d81a..a22cce95 100644 --- a/config/sync/pagerer.style.adaptive.yml +++ b/config/sync/pagerer.style.adaptive.yml @@ -18,7 +18,7 @@ default_config: page_breaker: … page_separator: '|' pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' page_previous: '@number' @@ -37,7 +37,7 @@ default_config: next_title: 'Aller à la page suivante' last_title: 'Aller à la dernière page' page_current_reader: 'Page courante' - page_reader: Page + page_reader: Programmes first_reader: 'Première page' previous_reader: 'Page précédente' next_reader: 'Page suivante' diff --git a/config/sync/pagerer.style.mini.yml b/config/sync/pagerer.style.mini.yml index f0d9519d..ace6feb5 100644 --- a/config/sync/pagerer.style.mini.yml +++ b/config/sync/pagerer.style.mini.yml @@ -13,7 +13,7 @@ default_config: widget_button: auto tags: pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' first: « diff --git a/config/sync/pagerer.style.progressive.yml b/config/sync/pagerer.style.progressive.yml index d4a3ed14..5c132b36 100644 --- a/config/sync/pagerer.style.progressive.yml +++ b/config/sync/pagerer.style.progressive.yml @@ -19,7 +19,7 @@ default_config: page_breaker: … page_separator: '|' pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' page_previous: '@number' @@ -38,7 +38,7 @@ default_config: next_title: 'Aller à la page suivante' last_title: 'Aller à la dernière page' page_current_reader: 'Page courante' - page_reader: Page + page_reader: Programmes first_reader: 'Première page' previous_reader: 'Page précédente' next_reader: 'Page suivante' diff --git a/config/sync/pagerer.style.scrollpane.yml b/config/sync/pagerer.style.scrollpane.yml index 7e0a056c..c1a87491 100644 --- a/config/sync/pagerer.style.scrollpane.yml +++ b/config/sync/pagerer.style.scrollpane.yml @@ -13,7 +13,7 @@ default_config: tags: page_separator: '|' pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' page_previous: '@number' @@ -30,7 +30,7 @@ default_config: next_title: 'Aller à la page suivante' last_title: 'Aller à la dernière page' page_current_reader: 'Page courante' - page_reader: Page + page_reader: Programmes first_reader: 'Première page' previous_reader: 'Page précédente' next_reader: 'Page suivante' diff --git a/config/sync/pagerer.style.slider.yml b/config/sync/pagerer.style.slider.yml index 83517d73..0b50e266 100644 --- a/config/sync/pagerer.style.slider.yml +++ b/config/sync/pagerer.style.slider.yml @@ -14,7 +14,7 @@ default_config: slider_navigation_icons: 'yes' tags: pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' page_previous: '@number' diff --git a/config/sync/pagerer.style.standard.yml b/config/sync/pagerer.style.standard.yml index 9c31b46f..41373a0a 100644 --- a/config/sync/pagerer.style.standard.yml +++ b/config/sync/pagerer.style.standard.yml @@ -17,7 +17,7 @@ default_config: page_breaker: … page_separator: '|' pages: - prefix_label: Page + prefix_label: Programmes suffix_label: 'of @total' page_current: '@number' page_previous: '@number' @@ -34,7 +34,7 @@ default_config: next_title: 'Aller à la page suivante' last_title: 'Aller à la dernière page' page_current_reader: 'Page courante' - page_reader: Page + page_reader: Programmes first_reader: 'Première page' previous_reader: 'Page précédente' next_reader: 'Page suivante' diff --git a/config/sync/views.view.archive.yml b/config/sync/views.view.archive.yml index 5fd46543..a0173ae5 100644 --- a/config/sync/views.view.archive.yml +++ b/config/sync/views.view.archive.yml @@ -226,7 +226,7 @@ display: tags: { } page_1: id: page_1 - display_title: Page + display_title: Programmes display_plugin: page position: 2 display_options: diff --git a/config/sync/views.view.content.yml b/config/sync/views.view.content.yml index df54985a..945dfa7c 100644 --- a/config/sync/views.view.content.yml +++ b/config/sync/views.view.content.yml @@ -3,6 +3,7 @@ langcode: fr status: true dependencies: config: + - field.storage.node.field_programme - node.type.programme - node.type.theme module: @@ -61,14 +62,10 @@ display: columns: node_bulk_form: node_bulk_form title: title - type: type - name: name + operations: title + field_programme: field_programme status: status changed: changed - edit_node: edit_node - delete_node: delete_node - dropbutton: dropbutton - timestamp: title info: node_bulk_form: align: '' @@ -79,23 +76,21 @@ display: sortable: true default_sort_order: asc align: '' - separator: '' + separator: '
' empty_column: false responsive: '' - type: - sortable: true - default_sort_order: asc + operations: align: '' separator: '' empty_column: false responsive: '' - name: + field_programme: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false - responsive: priority-low + responsive: '' status: sortable: true default_sort_order: asc @@ -110,34 +105,6 @@ display: separator: '' empty_column: false responsive: priority-low - edit_node: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - delete_node: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - dropbutton: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - timestamp: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' default: changed empty_table: true row: @@ -483,7 +450,7 @@ display: operator_limit_selection: false operator_list: { } sorts: { } - title: Themes + title: Contenu empty: area_text_custom: id: area_text_custom @@ -889,13 +856,257 @@ display: 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 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 + 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 display_plugin: page display_title: Themes id: page_2 @@ -910,4 +1121,5 @@ display: - 'user.node_grants:view' - user.permissions max-age: 0 - tags: { } + tags: + - 'config:field.storage.node.field_programme' diff --git a/config/sync/views.view.content_translations.yml b/config/sync/views.view.content_translations.yml index 099df913..e7f17355 100644 --- a/config/sync/views.view.content_translations.yml +++ b/config/sync/views.view.content_translations.yml @@ -878,7 +878,7 @@ display: page_1: display_plugin: page id: page_1 - display_title: Page + display_title: Programmes position: 1 display_options: display_extenders: { } diff --git a/config/sync/views.view.frontpage.yml b/config/sync/views.view.frontpage.yml index 7e45a4c4..58fec960 100644 --- a/config/sync/views.view.frontpage.yml +++ b/config/sync/views.view.frontpage.yml @@ -297,7 +297,7 @@ display: path: node display_extenders: { } display_plugin: page - display_title: Page + display_title: Programmes id: page_1 position: 1 cache_metadata: diff --git a/config/sync/views.view.glossary.yml b/config/sync/views.view.glossary.yml index d44781c3..15d2607a 100644 --- a/config/sync/views.view.glossary.yml +++ b/config/sync/views.view.glossary.yml @@ -446,7 +446,7 @@ display: tags: { } page_1: id: page_1 - display_title: Page + display_title: Programmes display_plugin: page position: 1 display_options: diff --git a/config/sync/views.view.locked_content.yml b/config/sync/views.view.locked_content.yml index 29c3c73e..2ba3a727 100644 --- a/config/sync/views.view.locked_content.yml +++ b/config/sync/views.view.locked_content.yml @@ -713,7 +713,7 @@ display: page_1: display_plugin: page id: page_1 - display_title: Page + display_title: Programmes position: 1 display_options: display_extenders: { } diff --git a/config/sync/views.view.maillog_overview.yml b/config/sync/views.view.maillog_overview.yml index d46cf32b..4e71bc53 100644 --- a/config/sync/views.view.maillog_overview.yml +++ b/config/sync/views.view.maillog_overview.yml @@ -421,7 +421,7 @@ display: page_1: display_plugin: page id: page_1 - display_title: Page + display_title: Programmes position: 1 display_options: path: admin/reports/maillog diff --git a/config/sync/views.view.redirect.yml b/config/sync/views.view.redirect.yml index f2e6f71c..525c9bad 100644 --- a/config/sync/views.view.redirect.yml +++ b/config/sync/views.view.redirect.yml @@ -590,7 +590,7 @@ display: page_1: display_plugin: page id: page_1 - display_title: Page + display_title: Programmes position: 1 display_options: display_extenders: { } diff --git a/config/sync/views.view.taxonomy_term.yml b/config/sync/views.view.taxonomy_term.yml index 2dfc747b..5af13d10 100644 --- a/config/sync/views.view.taxonomy_term.yml +++ b/config/sync/views.view.taxonomy_term.yml @@ -297,7 +297,7 @@ display: tags: { } page_1: id: page_1 - display_title: Page + display_title: Programmes display_plugin: page position: 1 display_options: diff --git a/config/sync/views.view.user_admin_people.yml b/config/sync/views.view.user_admin_people.yml index e3295bbd..b92f39d2 100644 --- a/config/sync/views.view.user_admin_people.yml +++ b/config/sync/views.view.user_admin_people.yml @@ -894,7 +894,7 @@ display: page_1: display_plugin: page id: page_1 - display_title: Page + display_title: Programmes position: 1 display_options: path: admin/people/list diff --git a/config/sync/views.view.watchdog.yml b/config/sync/views.view.watchdog.yml index 19d2cc88..7904b28d 100644 --- a/config/sync/views.view.watchdog.yml +++ b/config/sync/views.view.watchdog.yml @@ -695,7 +695,7 @@ display: page: display_plugin: page id: page - display_title: Page + display_title: Programmes position: 1 display_options: display_extenders: { } diff --git a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_theme.yml b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_theme.yml index 6209e97c..fcd5f3c4 100644 --- a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_theme.yml +++ b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_node_theme.yml @@ -26,12 +26,18 @@ process: created: created changed: changed - title: title - 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 diff --git a/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeTheme.php b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeTheme.php index 9a99abda..352ac325 100644 --- a/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeTheme.php +++ b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7NodeTheme.php @@ -113,7 +113,45 @@ class D7NodeTheme extends FieldableEntity { // 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)); + $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; + case 'field_popsu_themtrans_popsu': + $field_programme = $field_values; + break; + case 'field_popsu_themeur_popsu': + $field_programme = $field_values; + break; + } + } + + if ($field_programme) { + Drush::output()->writeln(dump($field_programme)); + // get the nid of popsu_special from the tid of popsu for migration lookup + // Select node in its last revision. + $query = $this->select('node_revision', 'nr') + ->fields('n', ['nid','type','vid']) + ->fields('nr', ['vid']); + $query->innerJoin('node', 'n', static::JOIN); + $query->condition('n.type', 'popsu_special'); + # field_popsu_special_typetaxo + # filter to get the right special type (colloques, publication, etc) + $query->leftJoin('field_revision_field_popsu_special_typetaxo', 'ff', 'ff.revision_id = n.vid'); + $query->fields('ff', ['field_popsu_special_typetaxo_tid']); + $query->condition('ff.field_popsu_special_typetaxo_tid', 31); + # field_popsu_special_popsu + # filter to get right popsu (popsu 1, popsu europe, etc) + $query->leftJoin('field_revision_field_popsu_special_popsu', 'sp', 'sp.revision_id = n.vid'); + $query->fields('sp', ['field_popsu_special_popsu_tid']); + $query->condition('sp.field_popsu_special_popsu_tid', $field_programme[0]['tid']); + + $prog = $query->execute()->fetchAll(); + Drush::output()->writeln(dump($prog)); + + $row->setSourceProperty('programme', $prog[0]['nid']); } return parent::prepareRow($row);