diff --git a/composer.json b/composer.json index 731abfc6..fd545dad 100644 --- a/composer.json +++ b/composer.json @@ -30,6 +30,7 @@ "drupal/core-project-message": "^9.3", "drupal/core-recommended": "^9.5.11", "drupal/devel": "^5.0", + "drupal/file_replace": "^1.4", "drupal/geocoder": "^3.20 || ^4.0", "drupal/geofield": "^1.22", "drupal/hreflang": "^1.9", diff --git a/composer.lock b/composer.lock index b3331bd9..be610e51 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": "744526d239953bb84031586fadb47e15", + "content-hash": "2a9d033a45c91b76b96717ebfdc42c3d", "packages": [ { "name": "ajgl/breakpoint-twig-extension", @@ -5690,6 +5690,58 @@ "source": "https://git.drupalcode.org/project/file_mdm" } }, + { + "name": "drupal/file_replace", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/file_replace.git", + "reference": "8.x-1.4" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/file_replace-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "0717a481afb3dbf74e5ac05aa4ced8d2577f0086" + }, + "require": { + "drupal/core": "^8 || ^9 || ^10 || ^11" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.4", + "datestamp": "1741205264", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "bbrala", + "homepage": "https://www.drupal.org/user/3366066" + }, + { + "name": "casey", + "homepage": "https://www.drupal.org/user/32403" + }, + { + "name": "timohuisman", + "homepage": "https://www.drupal.org/user/3558376" + } + ], + "description": "Allows to replace files", + "homepage": "https://www.drupal.org/project/file_replace", + "support": { + "source": "https://git.drupalcode.org/project/file_replace" + } + }, { "name": "drupal/filefield_sources", "version": "dev-1.x", @@ -17018,20 +17070,12 @@ "drupal/address": 20, "drupal/administerusersbyrole": 20, "drupal/advanced_text_formatter": 5, + "drupal/bulkdelete": 20, "drupal/ckeditor_iframe": 15, + "drupal/config_devel": 20, "drupal/config_update": 15, "drupal/context": 5, - "drupal/inline_entity_form": 5, - "drupal/page_manager": 20, - "drupal/paragraphs": 20, - "drupal/pathologic": 15, - "drupal/perimeter": 20, - "drupal/selective_better_exposed_filters": 20, - "drupal/smart_date": 10, - "drupal/views_argument_token": 20, - "drupal/bulkdelete": 20, "drupal/cshs": 20, - "drupal/config_devel": 20, "drupal/date_range_formatter": 20, "drupal/domain": 20, "drupal/domain_alias": 20, @@ -17042,21 +17086,29 @@ "drupal/field_group": 20, "drupal/filefield_sources": 20, "drupal/filter_perms": 20, + "drupal/inline_entity_form": 5, "drupal/linkit": 10, "drupal/login_destination": 20, "drupal/maillog": 20, "drupal/maxlength": 10, "drupal/menu_block": 20, "drupal/menu_position": 20, + "drupal/page_manager": 20, + "drupal/paragraphs": 20, "drupal/path_alias_xt": 20, + "drupal/pathologic": 15, + "drupal/perimeter": 20, "drupal/profile": 5, + "drupal/selective_better_exposed_filters": 20, + "drupal/smart_date": 10, "drupal/smtp": 10, "drupal/translation_views": 15, - "drupal/ultimate_cron": 15 + "drupal/ultimate_cron": 15, + "drupal/views_argument_token": 20 }, "prefer-stable": true, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 431ce97e..64885991 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -57,6 +57,7 @@ module: field_group: 0 field_ui: 0 file: 0 + file_replace: 0 filter: 0 filter_perms: 0 geocoder: 0 diff --git a/config/sync/user.role.admin.yml b/config/sync/user.role.admin.yml index 427f7bee..ecd4ff3e 100644 --- a/config/sync/user.role.admin.yml +++ b/config/sync/user.role.admin.yml @@ -24,6 +24,7 @@ dependencies: - content_translation - field_ui - file + - file_replace - filter - menu_admin_per_menu - node @@ -138,6 +139,7 @@ permissions: - 'execute user_unblock_user_action user' - 'execute vbo_cancel_user_action user' - 'execute views_bulk_edit all' + - 'replace files' - 'revert actualite revisions' - 'revert all revisions' - 'revert evenement revisions' diff --git a/config/sync/user.role.editeur.yml b/config/sync/user.role.editeur.yml index bb725713..b648321b 100644 --- a/config/sync/user.role.editeur.yml +++ b/config/sync/user.role.editeur.yml @@ -20,6 +20,7 @@ dependencies: module: - content_lock - file + - file_replace - filter - node - system @@ -64,6 +65,7 @@ permissions: - 'edit terms in types_de_document' - 'edit terms in types_de_theme' - 'edit terms in villes' + - 'replace files' - 'revert actualite revisions' - 'revert all revisions' - 'revert evenement revisions' diff --git a/config/sync/views.view.files.yml b/config/sync/views.view.files.yml index 6329309c..6a4a3f4b 100644 --- a/config/sync/views.view.files.yml +++ b/config/sync/views.view.files.yml @@ -4,6 +4,7 @@ status: true dependencies: module: - file + - file_replace - user _core: default_config_hash: gLmoA0yjvlXfMRp9ihOhRKSSQQlbdLdvpDkbVwkYPrg @@ -448,6 +449,59 @@ display: format_plural_string: !!binary MSBwbGFjZQNAY291bnQgcGxhY2Vz prefix: '' suffix: '' + file_replace_link: + id: file_replace_link + table: file_managed + field: file_replace_link + relationship: none + group_type: group + admin_label: '' + entity_type: file + plugin_id: file_replace_link + label: 'Link to replace file' + 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 + text: remplacer + output_url_as_text: 0 + absolute: 0 pager: type: full options: @@ -1295,6 +1349,59 @@ display: multi_type: separator separator: ', ' field_api_classes: false + file_replace_link: + id: file_replace_link + table: file_managed + field: file_replace_link + relationship: none + group_type: group + admin_label: '' + entity_type: file + plugin_id: file_replace_link + label: 'Link to replace file' + 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 + text: remplacer + output_url_as_text: 0 + absolute: 0 defaults: pager: true relationships: false