Browse Source

popsu_migrate: D7NodeTheme programme ok

bach 3 years ago
parent
commit
81a52a95de

+ 1 - 1
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: {  }

+ 1 - 1
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: {  }

+ 8 - 3
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:

+ 1 - 1
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: {  }

+ 1 - 1
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:

+ 1 - 1
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: «

+ 2 - 2
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'

+ 1 - 1
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: «

+ 2 - 2
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'

+ 2 - 2
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'

+ 1 - 1
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'

+ 2 - 2
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'

+ 1 - 1
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:

+ 254 - 42
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: '<br/>'
               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'

+ 1 - 1
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: {  }

+ 1 - 1
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:

+ 1 - 1
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:

+ 1 - 1
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: {  }

+ 1 - 1
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

+ 1 - 1
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: {  }

+ 1 - 1
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:

+ 1 - 1
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

+ 1 - 1
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: {  }

+ 8 - 2
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

+ 39 - 1
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);