Quellcode durchsuchen

CT static, admin view statics, editors_menus

bach vor 3 Jahren
Ursprung
Commit
5deb4ffd5b
24 geänderte Dateien mit 1337 neuen und 43 gelöschten Zeilen
  1. 196 30
      config/sync/core.entity_form_display.node.static.default.yml
  2. 11 0
      config/sync/core.entity_form_display.paragraph.textes.default.yml
  3. 75 3
      config/sync/core.entity_view_display.node.static.default.yml
  4. 11 0
      config/sync/core.entity_view_display.paragraph.textes.default.yml
  5. 1 0
      config/sync/core.extension.yml
  6. 46 0
      config/sync/field.field.node.static.field_equipes.yml
  7. 23 0
      config/sync/field.field.node.static.field_lien.yml
  8. 19 0
      config/sync/field.field.node.static.field_memo.yml
  9. 28 0
      config/sync/field.field.node.static.field_page_statique_liees.yml
  10. 46 0
      config/sync/field.field.node.static.field_partenaires.yml
  11. 7 7
      config/sync/field.field.node.static.field_pieces_jointes.yml
  12. 25 0
      config/sync/field.field.node.static.field_poid.yml
  13. 46 0
      config/sync/field.field.node.static.field_textes.yml
  14. 45 0
      config/sync/field.field.paragraph.textes.field_photo.yml
  15. 19 0
      config/sync/field.storage.node.field_page_statique_liees.yml
  16. 23 0
      config/sync/field.storage.node.field_pieces_jointes.yml
  17. 20 0
      config/sync/field.storage.node.field_poid.yml
  18. 10 0
      config/sync/system.menu.editors.yml
  19. 500 3
      config/sync/views.view.content.yml
  20. 7 0
      web/modules/custom/editors_menus/config/install/system.menu.editors.yml
  21. 5 0
      web/modules/custom/editors_menus/editors_menus.info.yml
  22. 39 0
      web/modules/custom/editors_menus/editors_menus.links.action.yml
  23. 111 0
      web/modules/custom/editors_menus/editors_menus.links.menu.yml
  24. 24 0
      web/modules/custom/editors_menus/editors_menus.module

+ 196 - 30
config/sync/core.entity_form_display.node.static.default.yml

@@ -4,11 +4,129 @@ status: true
 dependencies:
   config:
     - field.field.node.static.body
-    - field.field.node.static.field_fichier
+    - field.field.node.static.field_equipes
+    - field.field.node.static.field_lien
+    - field.field.node.static.field_memo
+    - field.field.node.static.field_page_statique_liees
+    - field.field.node.static.field_partenaires
+    - field.field.node.static.field_pieces_jointes
+    - field.field.node.static.field_poid
+    - field.field.node.static.field_textes
     - node.type.static
   module:
+    - field_group
     - file
-    - path
+    - link
+    - paragraphs
+third_party_settings:
+  field_group:
+    group_details:
+      children:
+        - uid
+        - created
+        - promote
+        - status
+        - field_poid
+        - field_memo
+      parent_name: ''
+      weight: 17
+      format_type: details_sidebar
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        open: false
+        required_fields: true
+        weight: 0
+      label: Details
+    group_tabs:
+      children:
+        - group_textes
+        - group_liens
+        - group_equipes
+        - group_partenaires
+        - group_media
+      parent_name: ''
+      weight: -1
+      format_type: tabs
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        direction: horizontal
+      label: Tabs
+    group_textes:
+      children:
+        - field_textes
+      parent_name: group_tabs
+      weight: 20
+      format_type: tab
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        formatter: closed
+        required_fields: true
+      label: Textes
+    group_media:
+      children:
+        - field_pieces_jointes
+      parent_name: group_tabs
+      weight: 21
+      format_type: tab
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        formatter: closed
+        required_fields: true
+      label: Media
+    group_liens:
+      children:
+        - field_lien
+        - field_page_statique_liees
+      parent_name: group_tabs
+      weight: 20
+      format_type: tab
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        formatter: closed
+        required_fields: true
+      label: Liens
+    group_equipes:
+      children:
+        - field_equipes
+      parent_name: group_tabs
+      weight: 20
+      format_type: tab
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        formatter: closed
+        required_fields: true
+      label: Équipes
+    group_partenaires:
+      children:
+        - field_partenaires
+      parent_name: group_tabs
+      weight: 20
+      format_type: tab
+      region: content
+      format_settings:
+        id: ''
+        classes: ''
+        description: ''
+        formatter: closed
+        required_fields: true
+      label: Partenaires
 id: node.static.default
 targetEntityType: node
 bundle: static
@@ -16,54 +134,103 @@ mode: default
 content:
   created:
     type: datetime_timestamp
-    weight: 10
+    weight: 3
     region: content
     settings: {  }
     third_party_settings: {  }
-  field_fichier:
-    weight: 121
+  field_equipes:
+    weight: 15
     settings:
-      progress_indicator: throbber
+      title: Paragraph
+      title_plural: Paragraphs
+      edit_mode: open
+      add_mode: dropdown
+      form_display_mode: default
+      default_paragraph_type: ''
     third_party_settings: {  }
-    type: file_generic
+    type: entity_reference_paragraphs
     region: content
-  langcode:
-    type: language_select
-    weight: 2
+  field_lien:
+    weight: 9
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+    type: link_default
     region: content
+  field_memo:
+    weight: 26
     settings:
-      include_locked: true
+      rows: 5
+      placeholder: ''
     third_party_settings: {  }
-  path:
-    type: path
-    weight: 30
+    type: string_textarea
     region: content
-    settings: {  }
+  field_page_statique_liees:
+    weight: 10
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
     third_party_settings: {  }
-  promote:
-    type: boolean_checkbox
+    type: entity_reference_autocomplete
+    region: content
+  field_partenaires:
+    weight: 16
     settings:
-      display_label: true
-    weight: 15
+      title: Paragraph
+      title_plural: Paragraphs
+      edit_mode: open
+      add_mode: dropdown
+      form_display_mode: default
+      default_paragraph_type: ''
+    third_party_settings: {  }
+    type: entity_reference_paragraphs
     region: content
+  field_pieces_jointes:
+    weight: 14
+    settings:
+      progress_indicator: throbber
     third_party_settings: {  }
-  status:
+    type: file_generic
+    region: content
+  field_poid:
+    weight: 11
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+    type: number
+    region: content
+  field_textes:
+    weight: 12
+    settings:
+      title: Paragraph
+      title_plural: Paragraphs
+      edit_mode: open
+      add_mode: dropdown
+      form_display_mode: default
+      default_paragraph_type: ''
+    third_party_settings: {  }
+    type: entity_reference_paragraphs
+    region: content
+  promote:
     type: boolean_checkbox
     settings:
       display_label: true
-    weight: 120
+    weight: 4
     region: content
     third_party_settings: {  }
-  sticky:
+  status:
     type: boolean_checkbox
     settings:
       display_label: true
-    weight: 16
+    weight: 8
     region: content
     third_party_settings: {  }
   title:
     type: string_textfield
-    weight: -5
+    weight: -2
     region: content
     settings:
       size: 60
@@ -71,7 +238,7 @@ content:
     third_party_settings: {  }
   uid:
     type: entity_reference_autocomplete
-    weight: 5
+    weight: 2
     settings:
       match_operator: CONTAINS
       size: 60
@@ -79,10 +246,9 @@ content:
       match_limit: 10
     region: content
     third_party_settings: {  }
-  url_redirects:
-    weight: 50
-    settings: {  }
-    third_party_settings: {  }
-    region: content
 hidden:
   body: true
+  langcode: true
+  path: true
+  sticky: true
+  url_redirects: true

+ 11 - 0
config/sync/core.entity_form_display.paragraph.textes.default.yml

@@ -3,16 +3,27 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - field.field.paragraph.textes.field_photo
     - field.field.paragraph.textes.field_texte
     - field.field.paragraph.textes.field_titre
+    - image.style.thumbnail
     - paragraphs.paragraphs_type.textes
   module:
+    - image
     - text
 id: paragraph.textes.default
 targetEntityType: paragraph
 bundle: textes
 mode: default
 content:
+  field_photo:
+    weight: 2
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+    type: image_image
+    region: content
   field_texte:
     weight: 1
     settings:

+ 75 - 3
config/sync/core.entity_view_display.node.static.default.yml

@@ -4,10 +4,19 @@ status: true
 dependencies:
   config:
     - field.field.node.static.body
-    - field.field.node.static.field_fichier
+    - field.field.node.static.field_equipes
+    - field.field.node.static.field_lien
+    - field.field.node.static.field_memo
+    - field.field.node.static.field_page_statique_liees
+    - field.field.node.static.field_partenaires
+    - field.field.node.static.field_pieces_jointes
+    - field.field.node.static.field_poid
+    - field.field.node.static.field_textes
     - node.type.static
   module:
+    - entity_reference_revisions
     - file
+    - link
     - text
     - user
 _core:
@@ -24,14 +33,77 @@ content:
     settings: {  }
     third_party_settings: {  }
     region: content
-  field_fichier:
-    weight: 2
+  field_equipes:
+    weight: 8
+    label: above
+    settings:
+      view_mode: default
+      link: ''
+    third_party_settings: {  }
+    type: entity_reference_revisions_entity_view
+    region: content
+  field_lien:
+    weight: 6
+    label: above
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    type: link
+    region: content
+  field_memo:
+    weight: 10
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    type: basic_string
+    region: content
+  field_page_statique_liees:
+    weight: 3
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    type: entity_reference_label
+    region: content
+  field_partenaires:
+    weight: 9
+    label: above
+    settings:
+      view_mode: default
+      link: ''
+    third_party_settings: {  }
+    type: entity_reference_revisions_entity_view
+    region: content
+  field_pieces_jointes:
+    weight: 7
     label: above
     settings:
       use_description_as_link_text: true
     third_party_settings: {  }
     type: file_default
     region: content
+  field_poid:
+    weight: 4
+    label: above
+    settings:
+      thousand_separator: ''
+      prefix_suffix: true
+    third_party_settings: {  }
+    type: number_integer
+    region: content
+  field_textes:
+    weight: 5
+    label: above
+    settings:
+      view_mode: default
+      link: ''
+    third_party_settings: {  }
+    type: entity_reference_revisions_entity_view
+    region: content
   links:
     weight: 1
     region: content

+ 11 - 0
config/sync/core.entity_view_display.paragraph.textes.default.yml

@@ -3,16 +3,27 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - field.field.paragraph.textes.field_photo
     - field.field.paragraph.textes.field_texte
     - field.field.paragraph.textes.field_titre
     - paragraphs.paragraphs_type.textes
   module:
+    - image
     - text
 id: paragraph.textes.default
 targetEntityType: paragraph
 bundle: textes
 mode: default
 content:
+  field_photo:
+    weight: 2
+    label: above
+    settings:
+      image_style: ''
+      image_link: ''
+    third_party_settings: {  }
+    type: image
+    region: content
   field_texte:
     weight: 1
     label: above

+ 1 - 0
config/sync/core.extension.yml

@@ -38,6 +38,7 @@ module:
   devel_kint_extras: 0
   dynamic_page_cache: 0
   editor: 0
+  editors_menus: 0
   email_registration: 0
   embed: 0
   entity_browser: 0

+ 46 - 0
config/sync/field.field.node.static.field_equipes.yml

@@ -0,0 +1,46 @@
+uuid: 84860314-de57-49df-bd95-8ed593e9a13e
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_equipes
+    - node.type.static
+    - paragraphs.paragraphs_type.equipes
+  module:
+    - entity_reference_revisions
+id: node.static.field_equipes
+field_name: field_equipes
+entity_type: node
+bundle: static
+label: Équipes
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:paragraph'
+  handler_settings:
+    negate: 0
+    target_bundles:
+      equipes: equipes
+    target_bundles_drag_drop:
+      equipes:
+        enabled: true
+        weight: 7
+      partenaires:
+        weight: 8
+        enabled: false
+      personne:
+        weight: 9
+        enabled: false
+      sous_partie_programme:
+        weight: 10
+        enabled: false
+      sous_partie_programme_contents:
+        weight: 11
+        enabled: false
+      textes:
+        weight: 12
+        enabled: false
+field_type: entity_reference_revisions

+ 23 - 0
config/sync/field.field.node.static.field_lien.yml

@@ -0,0 +1,23 @@
+uuid: aa89a22b-65ae-4b5e-8bdd-f75c438ee7b5
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lien
+    - node.type.static
+  module:
+    - link
+id: node.static.field_lien
+field_name: field_lien
+entity_type: node
+bundle: static
+label: Lien
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  link_type: 17
+  title: 1
+field_type: link

+ 19 - 0
config/sync/field.field.node.static.field_memo.yml

@@ -0,0 +1,19 @@
+uuid: 56291a3f-e15d-4392-bd8e-ba4b1e1a2570
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_memo
+    - node.type.static
+id: node.static.field_memo
+field_name: field_memo
+entity_type: node
+bundle: static
+label: memo
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string_long

+ 28 - 0
config/sync/field.field.node.static.field_page_statique_liees.yml

@@ -0,0 +1,28 @@
+uuid: f1b9d1e4-9a64-4fde-af05-8153bd15c3ee
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_page_statique_liees
+    - node.type.static
+id: node.static.field_page_statique_liees
+field_name: field_page_statique_liees
+entity_type: node
+bundle: static
+label: 'Page statique liées'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:node'
+  handler_settings:
+    target_bundles:
+      static: static
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference

+ 46 - 0
config/sync/field.field.node.static.field_partenaires.yml

@@ -0,0 +1,46 @@
+uuid: a133780d-5ec0-459b-88c9-48ebde75d366
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_partenaires
+    - node.type.static
+    - paragraphs.paragraphs_type.partenaires
+  module:
+    - entity_reference_revisions
+id: node.static.field_partenaires
+field_name: field_partenaires
+entity_type: node
+bundle: static
+label: Partenaires
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:paragraph'
+  handler_settings:
+    negate: 0
+    target_bundles:
+      partenaires: partenaires
+    target_bundles_drag_drop:
+      equipes:
+        weight: 7
+        enabled: false
+      partenaires:
+        enabled: true
+        weight: 8
+      personne:
+        weight: 9
+        enabled: false
+      sous_partie_programme:
+        weight: 10
+        enabled: false
+      sous_partie_programme_contents:
+        weight: 11
+        enabled: false
+      textes:
+        weight: 12
+        enabled: false
+field_type: entity_reference_revisions

+ 7 - 7
config/sync/field.field.node.static.field_fichier.yml → config/sync/field.field.node.static.field_pieces_jointes.yml

@@ -1,25 +1,25 @@
-uuid: 05d632fa-3ac6-4be6-a1e7-f314f3230b42
+uuid: ca1a7d0a-329e-46dd-915f-add9460e54c6
 langcode: fr
 status: true
 dependencies:
   config:
-    - field.storage.node.field_fichier
+    - field.storage.node.field_pieces_jointes
     - node.type.static
   module:
     - file
-id: node.static.field_fichier
-field_name: field_fichier
+id: node.static.field_pieces_jointes
+field_name: field_pieces_jointes
 entity_type: node
 bundle: static
-label: Fichier
+label: 'Pieces Jointes'
 description: ''
 required: false
-translatable: true
+translatable: false
 default_value: {  }
 default_value_callback: ''
 settings:
   file_directory: '[date:custom:Y]-[date:custom:m]'
-  file_extensions: pdf
+  file_extensions: 'txt pdf doc docx obs'
   max_filesize: ''
   description_field: true
   handler: 'default:file'

+ 25 - 0
config/sync/field.field.node.static.field_poid.yml

@@ -0,0 +1,25 @@
+uuid: d598af45-eb93-4b94-afe3-b61c604edb7c
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_poid
+    - node.type.static
+id: node.static.field_poid
+field_name: field_poid
+entity_type: node
+bundle: static
+label: Poid
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  min: -20
+  max: 20
+  prefix: ''
+  suffix: ''
+field_type: integer

+ 46 - 0
config/sync/field.field.node.static.field_textes.yml

@@ -0,0 +1,46 @@
+uuid: 469b47de-efe8-4afc-b2a5-99a9fec6a863
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_textes
+    - node.type.static
+    - paragraphs.paragraphs_type.textes
+  module:
+    - entity_reference_revisions
+id: node.static.field_textes
+field_name: field_textes
+entity_type: node
+bundle: static
+label: Textes
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:paragraph'
+  handler_settings:
+    negate: 0
+    target_bundles:
+      textes: textes
+    target_bundles_drag_drop:
+      equipes:
+        weight: 7
+        enabled: false
+      partenaires:
+        weight: 8
+        enabled: false
+      personne:
+        weight: 9
+        enabled: false
+      sous_partie_programme:
+        weight: 10
+        enabled: false
+      sous_partie_programme_contents:
+        weight: 11
+        enabled: false
+      textes:
+        enabled: true
+        weight: 12
+field_type: entity_reference_revisions

+ 45 - 0
config/sync/field.field.paragraph.textes.field_photo.yml

@@ -0,0 +1,45 @@
+uuid: 6dfb5571-8162-4962-bf15-982803701edb
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_photo
+    - paragraphs.paragraphs_type.textes
+  module:
+    - content_translation
+    - image
+third_party_settings:
+  content_translation:
+    translation_sync:
+      alt: alt
+      title: title
+      file: '0'
+id: paragraph.textes.field_photo
+field_name: field_photo
+entity_type: paragraph
+bundle: textes
+label: Images
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  file_directory: '[date:custom:Y]-[date:custom:m]'
+  file_extensions: 'png gif jpg jpeg'
+  max_filesize: ''
+  max_resolution: ''
+  min_resolution: ''
+  alt_field: true
+  alt_field_required: false
+  title_field: false
+  title_field_required: false
+  default_image:
+    uuid: ''
+    alt: ''
+    title: ''
+    width: null
+    height: null
+  handler: 'default:file'
+  handler_settings: {  }
+field_type: image

+ 19 - 0
config/sync/field.storage.node.field_page_statique_liees.yml

@@ -0,0 +1,19 @@
+uuid: 6570fdb8-dc16-4f6c-8e0d-3bf656ffd7af
+langcode: fr
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_page_statique_liees
+field_name: field_page_statique_liees
+entity_type: node
+type: entity_reference
+settings:
+  target_type: node
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 23 - 0
config/sync/field.storage.node.field_pieces_jointes.yml

@@ -0,0 +1,23 @@
+uuid: a5ba14ee-8ffc-4ca2-ad25-5b47dd763046
+langcode: fr
+status: true
+dependencies:
+  module:
+    - file
+    - node
+id: node.field_pieces_jointes
+field_name: field_pieces_jointes
+entity_type: node
+type: file
+settings:
+  display_field: true
+  display_default: true
+  uri_scheme: public
+  target_type: file
+module: file
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 20 - 0
config/sync/field.storage.node.field_poid.yml

@@ -0,0 +1,20 @@
+uuid: 25ef76f7-d728-4f4d-b895-48fb0a1e6d17
+langcode: fr
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_poid
+field_name: field_poid
+entity_type: node
+type: integer
+settings:
+  unsigned: false
+  size: normal
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 10 - 0
config/sync/system.menu.editors.yml

@@ -0,0 +1,10 @@
+uuid: 3230948c-d710-4874-9e66-533c64d05b8c
+langcode: und
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: 0hxb-hNr7Eg_y0RtE7A9ShL8kGwEdJ4LTjbWcZTYKYk
+id: editors
+label: Editors
+description: 'An admin menu for content editors (must be customized for each new project)'
+locked: false

+ 500 - 3
config/sync/views.view.content.yml

@@ -16,6 +16,7 @@ dependencies:
     - image.style.thumbnail
     - node.type.programme
     - node.type.projet
+    - node.type.static
     - node.type.theme
     - taxonomy.vocabulary.types_de_theme
     - taxonomy.vocabulary.villes
@@ -539,14 +540,15 @@ display:
         type: 'default tab'
         title: Contenu
         description: ''
-        menu_name: admin
+        expanded: false
+        parent: ''
         weight: -10
-        context: ''
+        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: {  }
@@ -2520,3 +2522,498 @@ display:
         - 'config:field.storage.node.field_projets_lies'
         - 'config:field.storage.node.field_themes_lies'
         - 'config:field.storage.node.field_ville'
+  page_4:
+    display_options:
+      path: admin/content/Statics
+      menu:
+        type: tab
+        title: Statics
+        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:
+            static: static
+          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_memo_value:
+          id: field_memo_value
+          table: node__field_memo
+          field: field_memo_value
+          relationship: none
+          group_type: group
+          admin_label: ''
+          operator: contains
+          value: ''
+          group: 1
+          exposed: true
+          expose:
+            operator_id: field_memo_value_op
+            label: memo
+            description: ''
+            use_operator: false
+            operator: field_memo_value_op
+            operator_limit_selection: false
+            operator_list: {  }
+            identifier: field_memo_value
+            required: false
+            remember: false
+            multiple: false
+            remember_roles:
+              authenticated: authenticated
+              anonymous: '0'
+              admin: '0'
+              root: '0'
+              user: '0'
+              editeur: '0'
+            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: string
+      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
+        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_partenaires:
+          id: field_partenaires
+          table: node__field_partenaires
+          field: field_partenaires
+          relationship: none
+          group_type: group
+          admin_label: ''
+          label: Partenaires
+          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_revisions_entity_view
+          settings:
+            view_mode: admin
+          group_column: ''
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: ul
+          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
+        field_memo:
+          id: field_memo
+          table: node__field_memo
+          field: field_memo
+          relationship: none
+          group_type: group
+          admin_label: ''
+          label: memo
+          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: value
+          type: basic_string
+          settings: {  }
+          group_column: value
+          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: Statiques
+    display_plugin: page
+    display_title: Statiques
+    id: page_4
+    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_memo'
+        - 'config:field.storage.node.field_partenaires'

+ 7 - 0
web/modules/custom/editors_menus/config/install/system.menu.editors.yml

@@ -0,0 +1,7 @@
+langcode: und
+status: true
+dependencies: {  }
+id: editors
+label: Editors
+description: 'An admin menu for content editors (must be customized for each new project)'
+locked: false

+ 5 - 0
web/modules/custom/editors_menus/editors_menus.info.yml

@@ -0,0 +1,5 @@
+name: 'Editors Menus'
+type: module
+description: 'create editors admin menus through module as they will be exportable as config'
+core_version_requirement: ^8.8 || ^9
+package: 'Custom'

+ 39 - 0
web/modules/custom/editors_menus/editors_menus.links.action.yml

@@ -0,0 +1,39 @@
+editors_menus.programme_add:
+  route_name: node.add
+  route_parameters:
+    node_type: 'programme'
+  title: 'Add Programme'
+  appears_on:
+    - view.content.page_1
+
+editors_menus.theme_add:
+  route_name: node.add
+  route_parameters:
+    node_type: 'theme'
+  title: 'Add Theme'
+  appears_on:
+    - view.content.page_2
+
+editors_menus.projet_add:
+  route_name: node.add
+  route_parameters:
+    node_type: 'projet'
+  title: 'Add Projet'
+  appears_on:
+    - view.content.page_3
+
+editors_menus.static_add:
+  route_name: node.add
+  route_parameters:
+    node_type: 'static'
+  title: 'Add Statique'
+  appears_on:
+    - view.content.page_4
+
+editors_menus.ville_add:
+  route_name: entity.taxonomy_term.add_form
+  route_parameters:
+    taxonomy_vocabulary: 'villes'
+  title: 'Add Ville'
+  appears_on:
+    - view.admin_taxo.page_1

+ 111 - 0
web/modules/custom/editors_menus/editors_menus.links.menu.yml

@@ -0,0 +1,111 @@
+# editors_menus.contents:
+#   title: Contents
+#   description: ''
+#   parent: editors
+#   route_name: view.admin_nodes.page_1
+#   menu_name: editors
+#   weight: 0
+#
+# editors_menus.materials:
+#   title: Materials
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_nodes.page_1
+#   menu_name: editors
+#   weight: 0
+#
+# editors_menus.articles:
+#   title: Articles
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_nodes.page_2
+#   menu_name: editors
+#   weight: 2
+#
+# editors_menus.thesaurus:
+#   title: Thesaurus
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_taxo.page_3
+#   menu_name: editors
+#   weight: 3
+#
+# editors_menus.tags:
+#   title: Tags
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_taxo.page_4
+#   menu_name: editors
+#   weight: 4
+#
+# editors_menus.assisted_research:
+#   title: Assisted Research
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_taxo.page_5
+#   menu_name: editors
+#   weight: 5
+#
+# editors_menus.companies:
+#   title: Companies
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_taxo.page_1
+#   menu_name: editors
+#   weight: 6
+#
+# editors_menus.showrooms:
+#   title: Showrooms
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.admin_taxo.page_2
+#   menu_name: editors
+#   weight: 7
+#
+# editors_menus.newsletters:
+#   title: Newsletters
+#   description: ''
+#   parent: editors_menus.contents
+#   route_name: view.simplenews_newsletters.page_1
+#   menu_name: editors
+#   weight: 8
+#
+# editors_menus.users:
+#   title: Users
+#   description: ''
+#   parent: editors
+#   route_name: view.admin_users.page_1
+#   menu_name: editors
+#   weight: 1
+#
+# editors_menus.subscribers:
+#   title: Simplenews Subscribers
+#   description: ''
+#   parent: editors_menus.users
+#   route_name: view.simplenews_subscribers.page_1
+#   menu_name: editors
+#   weight: 2
+#
+# editors_menus.commerce:
+#   title: Commerce
+#   description: ''
+#   parent: editors
+#   route_name: entity.commerce_order.collection
+#   menu_name: editors
+#   weight: 2
+#
+# editors_menus.commerce_orders:
+#   title: Orders
+#   description: ''
+#   parent: editors_menus.commerce
+#   route_name: entity.commerce_order.collection
+#   menu_name: editors
+#   weight: 0
+#
+# editors_menus.commerce_license:
+#   title: Licenses
+#   description: ''
+#   parent: editors_menus.commerce
+#   route_name: entity.commerce_license.collection
+#   menu_name: editors
+#   weight: 1

+ 24 - 0
web/modules/custom/editors_menus/editors_menus.module

@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * @file
+ * Contains editors_menus.module.
+ */
+
+use Drupal\Core\Routing\RouteMatchInterface;
+
+/**
+ * Implements hook_help().
+ */
+function editors_menus_help($route_name, RouteMatchInterface $route_match) {
+  switch ($route_name) {
+    // Main module help for the editors_menus module.
+    case 'help.page.editors_menus':
+      $output = '';
+      $output .= '<h3>' . t('About') . '</h3>';
+      $output .= '<p>' . t('create editors admin menus through module as they will be exportable as config') . '</p>';
+      return $output;
+
+    default:
+  }
+}