diff --git a/src/composer.json b/src/composer.json index 7e3e929..28880d0 100644 --- a/src/composer.json +++ b/src/composer.json @@ -24,6 +24,7 @@ "drupal/insert": "2.x-dev@dev", "drupal/paragraphs": "^1.12", "drupal/redirect_after_login": "^2.7", + "drupal/taxonomy_unique": "^2.3", "drupal/typed_data": "1.x-dev@dev", "drupal/views_autocomplete_filters": "^1.3", "kint-php/kint": "^3.3", diff --git a/src/composer.lock b/src/composer.lock index 16d6165..54e9278 100644 --- a/src/composer.lock +++ b/src/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": "59be9916db252189be036d7363f0bd50", + "content-hash": "ba8509570e549c6b9c926cbc9d83b5de", "packages": [ { "name": "alchemy/zippy", @@ -7484,6 +7484,76 @@ }, "time": "2020-12-11T23:17:33+00:00" }, + { + "name": "drupal/taxonomy_unique", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/taxonomy_unique.git", + "reference": "8.x-2.3" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/taxonomy_unique-8.x-2.3.zip", + "reference": "8.x-2.3", + "shasum": "550d06d5b9c670538b93e0aa31b43b4eb1a76f7e" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "require-dev": { + "drupal/coder": "^8.3.6", + "squizlabs/php_codesniffer": "^3.4.1" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-2.3", + "datestamp": "1591087096", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "scripts": { + "post-install-cmd": [ + "./vendor/bin/phpcs --config-set installed_paths ../../drupal/coder/coder_sniffer", + "./vendor/bin/phpcs --config-set show_progress 1" + ], + "post-update-cmd": [ + "./vendor/bin/phpcs --config-set installed_paths ../../drupal/coder/coder_sniffer", + "./vendor/bin/phpcs --config-set show_progress 1" + ], + "phpcs": [ + "./vendor/bin/phpcs --standard=Drupal,DrupalPractice ./ --ignore=./vendor" + ], + "phpcbf": [ + "./vendor/bin/phpcbf --standard=Drupal,DrupalPractice ./ --ignore=./vendor" + ] + }, + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Rafael Schally", + "homepage": "https://www.drupal.org/user/856550", + "email": "rafael.schally@gmail.com" + } + ], + "description": "Checks for duplicate occurrences of term names.", + "homepage": "https://www.drupal.org/project/taxonomy_unique", + "keywords": [ + "drupal", + "taxonomy", + "ui" + ], + "support": { + "source": "https://git.drupalcode.org/project/taxonomy_unique" + } + }, { "name": "drupal/token", "version": "1.9.0", diff --git a/src/config/sync/core.extension.yml b/src/config/sync/core.extension.yml index acd8af3..1c65dcf 100644 --- a/src/config/sync/core.extension.yml +++ b/src/config/sync/core.extension.yml @@ -100,6 +100,7 @@ module: smtp: 0 system: 0 taxonomy: 0 + taxonomy_unique: 0 telephone: 0 text: 0 token: 0 diff --git a/src/config/sync/taxonomy_unique.settings.yml b/src/config/sync/taxonomy_unique.settings.yml new file mode 100644 index 0000000..6a8d5ab --- /dev/null +++ b/src/config/sync/taxonomy_unique.settings.yml @@ -0,0 +1,8 @@ +famille: 1 +famille_message: 'Term %term already exists in vocabulary %vocabulary.' +tag: 1 +tag_message: 'Term %term already exists in vocabulary %vocabulary.' +tag_prod: 1 +tag_prod_message: 'Term %term already exists in vocabulary %vocabulary.' +auteurs: 1 +auteurs_message: 'Term %term already exists in vocabulary %vocabulary.' diff --git a/src/config/sync/views.view.admin_taxo.yml b/src/config/sync/views.view.admin_taxo.yml index 0a4d7ad..1287cd8 100644 --- a/src/config/sync/views.view.admin_taxo.yml +++ b/src/config/sync/views.view.admin_taxo.yml @@ -2,6 +2,8 @@ uuid: 54d387f0-a1b6-456f-883b-624a8697cf25 langcode: fr status: true dependencies: + config: + - taxonomy.vocabulary.auteurs module: - taxonomy - text @@ -577,7 +579,49 @@ display: entity_type: taxonomy_term entity_field: changed plugin_id: field - filters: { } + filters: + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + operator: in + value: + auteurs: auteurs + 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: { } + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle sorts: { } title: 'admin taxo auteurs' header: