diff --git a/composer.json b/composer.json index dad11de..47e8e4e 100644 --- a/composer.json +++ b/composer.json @@ -35,6 +35,7 @@ "drupal/login_destination": "^2.0@beta", "drupal/mailsystem": "^4.4", "drupal/matomo": "^1.23", + "drupal/menu_trail_by_path": "^2.0", "drupal/mimemail": "^1.0@alpha", "drupal/notify": "^2.0@beta", "drupal/page_manager": "^4.0@RC", diff --git a/composer.lock b/composer.lock index 848f0f5..16b57f9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6791033095e7dafc3474d1203ca03d50", + "content-hash": "d325be3b3728dbf80aa71107fd2d55b1", "packages": [ { "name": "asm89/stack-cors", @@ -6152,6 +6152,66 @@ "issues": "https://www.drupal.org/project/issues/menu_position" } }, + { + "name": "drupal/menu_trail_by_path", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/menu_trail_by_path.git", + "reference": "2.0.1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/menu_trail_by_path-2.0.1.zip", + "reference": "2.0.1", + "shasum": "3c2c1b0ee669c26e6ccba8a345605b7c932be2bf" + }, + "require": { + "drupal/core": "^8.8 || ^9.0 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.0.1", + "datestamp": "1701298206", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Berdir", + "homepage": "https://www.drupal.org/user/214652" + }, + { + "name": "davy-r", + "homepage": "https://www.drupal.org/user/3278771" + }, + { + "name": "mbovan", + "homepage": "https://www.drupal.org/user/3149657" + }, + { + "name": "redndahead", + "homepage": "https://www.drupal.org/user/160320" + }, + { + "name": "SeriousMatters", + "homepage": "https://www.drupal.org/user/290439" + } + ], + "description": "Expand menus and set active-trail according to the current path.", + "homepage": "https://www.drupal.org/project/menu_trail_by_path", + "support": { + "source": "https://git.drupalcode.org/project/menu_trail_by_path" + } + }, { "name": "drupal/mimemail", "version": "1.0.0-alpha6", diff --git a/config/sync/block.block.reha_config_pages_3.yml b/config/sync/block.block.reha_config_pages_3.yml deleted file mode 100644 index 8451862..0000000 --- a/config/sync/block.block.reha_config_pages_3.yml +++ /dev/null @@ -1,30 +0,0 @@ -uuid: 209ab91d-0f6f-44a8-95a3-7f7d0a9f3e4b -langcode: fr -status: true -dependencies: - module: - - config_pages - - user - theme: - - reha -id: reha_config_pages_3 -theme: reha -region: sidebar_second -weight: 0 -provider: null -plugin: config_pages_block -settings: - id: config_pages_block - label: 'Documents en téléchargement' - label_display: visible - provider: config_pages - config_page_type: documents_en_telechargement - config_page_view_mode: full -visibility: - user_role: - id: user_role - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - roles: - collaborateur: collaborateur diff --git a/config/sync/block.block.reha_contenudelapageprincipale.yml b/config/sync/block.block.reha_contenudelapageprincipale.yml index 75b2781..3f4f0c7 100644 --- a/config/sync/block.block.reha_contenudelapageprincipale.yml +++ b/config/sync/block.block.reha_contenudelapageprincipale.yml @@ -9,7 +9,7 @@ dependencies: id: reha_contenudelapageprincipale theme: reha region: content -weight: -5 +weight: -6 provider: null plugin: system_main_block settings: diff --git a/config/sync/block.block.reha_navigationprincipale.yml b/config/sync/block.block.reha_navigationprincipale.yml index 166ae1e..df100d9 100644 --- a/config/sync/block.block.reha_navigationprincipale.yml +++ b/config/sync/block.block.reha_navigationprincipale.yml @@ -5,6 +5,7 @@ dependencies: config: - system.menu.main module: + - block_class - menu_block theme: - reha @@ -24,7 +25,7 @@ settings: label_link: false label_type: block level: 1 - depth: 0 + depth: 1 expand_all_items: false parent: 'main:' suggestion: main diff --git a/config/sync/block.block.reha_onglets.yml b/config/sync/block.block.reha_onglets.yml index 76bd769..80de468 100644 --- a/config/sync/block.block.reha_onglets.yml +++ b/config/sync/block.block.reha_onglets.yml @@ -7,7 +7,7 @@ dependencies: id: reha_onglets theme: reha region: content -weight: -6 +weight: -5 provider: null plugin: local_tasks_block settings: diff --git a/config/sync/block.block.reha_prevnextblock.yml b/config/sync/block.block.reha_prevnextblock.yml new file mode 100644 index 0000000..a7287ee --- /dev/null +++ b/config/sync/block.block.reha_prevnextblock.yml @@ -0,0 +1,20 @@ +uuid: 5cc94347-dd4a-4c9f-896f-27367c9542ac +langcode: fr +status: true +dependencies: + module: + - reha_mod + theme: + - reha +id: reha_prevnextblock +theme: reha +region: content +weight: -8 +provider: null +plugin: prevnext_block +settings: + id: prevnext_block + label: 'PrevNext Block' + label_display: '0' + provider: reha_mod +visibility: { } diff --git a/config/sync/config_pages.type.documents_en_telechargement.yml b/config/sync/config_pages.type.documents_en_telechargement.yml deleted file mode 100644 index b054f7a..0000000 --- a/config/sync/config_pages.type.documents_en_telechargement.yml +++ /dev/null @@ -1,17 +0,0 @@ -uuid: 52a1924b-6fb1-445a-80e1-181520342263 -langcode: fr -status: true -dependencies: { } -id: documents_en_telechargement -label: 'Documents en téléchargement' -token: true -context: - show_warning: true - group: - language: false - fallback: - language: '' -menu: - path: /edit/contenusentelechargement - weight: 0 - description: '' diff --git a/config/sync/core.entity_form_display.config_pages.documents_en_telechargement.default.yml b/config/sync/core.entity_form_display.config_pages.documents_en_telechargement.default.yml deleted file mode 100644 index afebbc0..0000000 --- a/config/sync/core.entity_form_display.config_pages.documents_en_telechargement.default.yml +++ /dev/null @@ -1,34 +0,0 @@ -uuid: 1cd937cd-f7dd-4078-843d-d6345e217438 -langcode: fr -status: true -dependencies: - config: - - config_pages.type.documents_en_telechargement - - field.field.config_pages.documents_en_telechargement.field_dossiers - module: - - paragraphs -id: config_pages.documents_en_telechargement.default -targetEntityType: config_pages -bundle: documents_en_telechargement -mode: default -content: - field_dossiers: - type: paragraphs - weight: 0 - region: content - settings: - title: Paragraphe - title_plural: Paragraphs - edit_mode: open - closed_mode: summary - autocollapse: none - closed_mode_threshold: 0 - add_mode: dropdown - form_display_mode: default - default_paragraph_type: '' - features: - collapse_edit_all: collapse_edit_all - duplicate: duplicate - third_party_settings: { } -hidden: - label: true diff --git a/config/sync/core.entity_view_display.config_pages.documents_en_telechargement.default.yml b/config/sync/core.entity_view_display.config_pages.documents_en_telechargement.default.yml deleted file mode 100644 index fe701f2..0000000 --- a/config/sync/core.entity_view_display.config_pages.documents_en_telechargement.default.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 7a5b4208-5208-4cb6-84ca-89c4ef602be4 -langcode: fr -status: true -dependencies: - config: - - config_pages.type.documents_en_telechargement - - field.field.config_pages.documents_en_telechargement.field_dossiers - module: - - entity_reference_revisions -id: config_pages.documents_en_telechargement.default -targetEntityType: config_pages -bundle: documents_en_telechargement -mode: default -content: - field_dossiers: - type: entity_reference_revisions_entity_view - label: visually_hidden - settings: - view_mode: default - link: '' - third_party_settings: { } - weight: 0 - region: content -hidden: - search_api_excerpt: true diff --git a/config/sync/field.field.config_pages.documents_en_telechargement.field_dossiers.yml b/config/sync/field.field.config_pages.documents_en_telechargement.field_dossiers.yml deleted file mode 100644 index 1bd68e1..0000000 --- a/config/sync/field.field.config_pages.documents_en_telechargement.field_dossiers.yml +++ /dev/null @@ -1,34 +0,0 @@ -uuid: ace2ba43-b55a-4771-913f-60f5aaca027a -langcode: fr -status: true -dependencies: - config: - - config_pages.type.documents_en_telechargement - - field.storage.config_pages.field_dossiers - - paragraphs.paragraphs_type.dossier - module: - - entity_reference_revisions -id: config_pages.documents_en_telechargement.field_dossiers -field_name: field_dossiers -entity_type: config_pages -bundle: documents_en_telechargement -label: Dossiers -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: 'default:paragraph' - handler_settings: - target_bundles: - dossier: dossier - negate: 0 - target_bundles_drag_drop: - dossier: - weight: 3 - enabled: true - partenaire: - weight: 4 - enabled: false -field_type: entity_reference_revisions diff --git a/config/sync/field.storage.config_pages.field_dossiers.yml b/config/sync/field.storage.config_pages.field_dossiers.yml deleted file mode 100644 index 56d1934..0000000 --- a/config/sync/field.storage.config_pages.field_dossiers.yml +++ /dev/null @@ -1,21 +0,0 @@ -uuid: 02de0646-5489-4d54-bd15-457a4891e3ff -langcode: fr -status: true -dependencies: - module: - - config_pages - - entity_reference_revisions - - paragraphs -id: config_pages.field_dossiers -field_name: field_dossiers -entity_type: config_pages -type: entity_reference_revisions -settings: - target_type: paragraph -module: entity_reference_revisions -locked: false -cardinality: -1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/config/sync/node.type.site.yml b/config/sync/node.type.site.yml index da1263c..ab40dfa 100644 --- a/config/sync/node.type.site.yml +++ b/config/sync/node.type.site.yml @@ -3,11 +3,18 @@ langcode: fr status: true dependencies: module: + - autotitle - menu_ui third_party_settings: menu_ui: - available_menus: { } - parent: '' + available_menus: + - main + parent: 'main:views_view:views.sites.page_1' + autotitle: + enabled: false + field: _none + fallback_title: 'Untitled [site]' + headings: { } name: Site type: site description: '' diff --git a/config/sync/views.view.sites.yml b/config/sync/views.view.sites.yml index 970bb2c..00e0732 100644 --- a/config/sync/views.view.sites.yml +++ b/config/sync/views.view.sites.yml @@ -170,7 +170,7 @@ display: tags: { } block_1: id: block_1 - display_title: Block + display_title: 'home Block' display_plugin: block position: 2 display_options: @@ -178,6 +178,84 @@ display: type: none options: offset: 0 + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + site: site + field_type_de_site_target_id: + id: field_type_de_site_target_id + table: node__field_type_de_site + field: field_type_de_site_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + 1: 1 + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + 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: { } + reduce_duplicates: false + vid: type_de_site + type: select + hierarchy: false + limit: true + error_message: true + save_lineage: false + force_deepest: false + parent: null + level_labels: '' + hierarchy_depth: 0 + required_depth: 0 + none_label: '- Please select -' + filter_groups: + operator: AND + groups: + 1: AND style: type: default options: { } @@ -190,6 +268,9 @@ display: pager: false style: false row: false + filters: false + filter_groups: false + display_description: '' display_extenders: matomo: enabled: false @@ -207,6 +288,7 @@ display: contexts: - 'languages:language_content' - 'languages:language_interface' + - user - 'user.node_grants:view' - user.roles tags: { } @@ -432,7 +514,17 @@ display: operator: AND groups: 1: AND + style: + type: default + options: { } + row: + type: 'entity:node' + options: + relationship: none + view_mode: default defaults: + style: false + row: false filters: false filter_groups: false footer: false @@ -473,7 +565,7 @@ display: category_fallback: '' category_facets: { } category_facets_concat_separator: ', ' - path: lessitespilotes + path: sitespilotes menu: type: normal title: 'Les sites pilotes' diff --git a/web/modules/reha_mod/reha_mod.info.yml b/web/modules/reha_mod/reha_mod.info.yml index 1eab22a..66861a2 100644 --- a/web/modules/reha_mod/reha_mod.info.yml +++ b/web/modules/reha_mod/reha_mod.info.yml @@ -3,3 +3,5 @@ type: module description: Provides additional functionality for the site. package: Custom core_version_requirement: ^9 || ^10 +dependencies: + - drupal:block \ No newline at end of file diff --git a/web/modules/reha_mod/reha_mod.module b/web/modules/reha_mod/reha_mod.module index c5f0fd6..8346d5b 100644 --- a/web/modules/reha_mod/reha_mod.module +++ b/web/modules/reha_mod/reha_mod.module @@ -23,4 +23,5 @@ function reha_mod_form_node_operation_form_alter(&$form, \Drupal\Core\Form\FormS if($type === 'operation'){ $form['field_adresse']['widget'][0]['#type'] = 'container'; } -} \ No newline at end of file +} + diff --git a/web/modules/reha_mod/src/Plugin/Block/PrevNext.php b/web/modules/reha_mod/src/Plugin/Block/PrevNext.php new file mode 100644 index 0000000..b92e96e --- /dev/null +++ b/web/modules/reha_mod/src/Plugin/Block/PrevNext.php @@ -0,0 +1,85 @@ +getParameter('node'); + if ($node) { + $nodetype = $node->getType(); + if($nodetype === "site"){ + $numerodesite = $node->get('field_numero_site')->getString(); + $allSites = \Drupal::entityTypeManager()->getStorage('node') + ->loadByProperties(['type' => 'site', 'status' => 1, 'field_type_de_site' => 1]); + + + + usort($allSites, function($a, $b){ + $numA = $a->get('field_numero_site')->getString(); + $numB = $b->get('field_numero_site')->getString(); + if ($numA == $numB) { + return 0; + } + return ($numA < $numB) ? -1 : 1; + }); + $prevnode = null; + $nextnode = null; + foreach($allSites as $index => $site){ + $n = $site->get('field_numero_site')->getString(); + if($n === $numerodesite){ + $prevnode = $index - 1 >= 0 ? $allSites[$index - 1] : null; + $nextnode = $index + 1 < count($allSites) ? $allSites[$index + 1] : null; + break; + } + } + + } + $return = [ + '#cache' => [ + 'max-age' => 0, + ] + ]; + + if ($prevnode) { + $prev_link_title = Markup::create('Site pilote précédent'); + $prev_options = ['absolute' => FALSE, 'attributes' => ['class' => 'prev-site']]; + $prev_link_object = Link::createFromRoute($prev_link_title, 'entity.node.canonical', ['node' => $prevnode->id()], $prev_options); + $return[] = $prev_link_object->toRenderable(); + } + + if ($nextnode) { + $next_link_title = Markup::create('Site pilote suivant'); + $next_options = ['absolute' => FALSE, 'attributes' => ['class' => 'next-site']]; + $next_link_object = Link::createFromRoute($next_link_title, 'entity.node.canonical', ['node' => $nextnode->id()], $next_options); + $return[] = $next_link_object->toRenderable(); + } + } + + return $return; + // return [ + // '#markup' => $this->t('Hello, World!'), + // ]; + } + public function getCacheMaxAge() { + return 0; + } +} \ No newline at end of file