20 Commits
Author SHA1 Message Date
bachir d733b99ae5 gin dark mode commerce sidebar display fix 2026-09-30 16:27:42 +02:00
bachir 1abaa040f9 term_reference_tree widgget tracklist remove btn fix 2026-09-30 15:44:19 +02:00
bachir da9c9c3868 materiau edit form more lines for memo field 2026-09-29 09:43:09 +02:00
bachir ac3c22c179 term_reference_tree display fix 2026-09-29 09:37:22 +02:00
bachir 9136dc3ddb term_reference_tree bug fix 2026-09-29 00:05:08 +02:00
bachir 6b8c1d9353 removed contact & ban modules 2026-09-26 18:13:48 +02:00
bachir 30b1fc31d4 composer include js-cooky library 2026-09-26 16:51:16 +02:00
bachir f7c16211f8 Remove config_filter from lock (orphan since config_split 2.x) + starterkit profile bump 2026-09-26 13:16:20 +02:00
bachir baae8d0758 Uninstall config_filter (no longer required by config_split 2.x) 2026-09-26 13:14:34 +02:00
bachir 5b53b563c0 Uninstall admin_toolbar_links_access_filter (obsolete, in core since 10.3) + starterkit profile bump 2026-09-26 10:54:34 +02:00
bachir 4a50053e09 npm run prod 2026-09-26 01:24:06 +02:00
bachir 40da4ce904 Add missing patches referenced by composer.json (gitignored *.patch files needed for prod deploy) 2026-09-26 01:15:00 +02:00
bachir 62c814d57d Drupal from 10.6.17 to 11.4.7 2026-09-26 01:10:59 +02:00
bachir 89d68ac548 removed simplenews_mailjet_subscriptions, replaced it by features in custom module materio_mailjet 2026-09-25 20:48:46 +02:00
bachir ef699e9748 inline_entity_form ^3 2026-09-25 15:48:23 +02:00
bachir 126cbe2107 workflow patch, login_tracker tackeover, user_csv_import, string_translation_ui, path_alias_xt 2026-09-25 14:50:12 +02:00
bachir e6724eba34 composer removed 3 contrib modules D11 incompatibles 2026-09-25 12:13:39 +02:00
bachir 99918ceed4 pmu 3 contrib modules D11 incompatibles 2026-09-25 11:23:26 +02:00
bachir 7e7acd6266 webform security updates 2026-09-25 11:12:09 +02:00
bachir e871291fa3 updated term_reference_tree & rerolled patch 2026-09-24 22:39:25 +02:00
130 changed files with 3089 additions and 2465 deletions
+1
View File
@@ -48,6 +48,7 @@ core/.phpstan-baseline.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-sp
# Define binary file attributes.
# - Do not treat them as text.
# - Include binary diff in patches instead of "binary files differ."
*.avif -text diff
*.eot -text diff
*.exe -text diff
*.gif -text diff
+27 -23
View File
@@ -59,6 +59,7 @@
],
"require": {
"php": ">=8.4",
"chi-teck/drupal-code-generator": "^4.2",
"ckeditor-plugin/colorbutton": "^4.16.2",
"ckeditor-plugin/panelbutton": "^4.16.2",
"composer/installers": "^2.0",
@@ -68,7 +69,6 @@
"drupal/allowed_formats": "^3.0",
"drupal/amswap": "^3.0",
"drupal/asset_cache_bust": "^1.0",
"drupal/audiofield": "^1.10",
"drupal/auto_entitylabel": "^3.1",
"drupal/classy": "^2.0",
"drupal/color": "^2.0",
@@ -85,9 +85,9 @@
"drupal/config_pages": "^4.0",
"drupal/config_split": "^2.0@beta",
"drupal/consumer_image_styles": "^4.0",
"drupal/core-composer-scaffold": "^10.4",
"drupal/core-project-message": "^10.4",
"drupal/core-recommended": "^10.4",
"drupal/core-composer-scaffold": "^11.3",
"drupal/core-project-message": "^11.3",
"drupal/core-recommended": "^11.3",
"drupal/csv_serialization": "^4.0",
"drupal/ctools": "^4.0",
"drupal/devel": "^5.0",
@@ -102,14 +102,14 @@
"drupal/flood_control": "^3.0",
"drupal/gdpr": "^3.1",
"drupal/genpass": "^2.0",
"drupal/gin": "^4.1",
"drupal/gin": "^5.0",
"drupal/gin_toolbar": "^3.0",
"drupal/google_analytics": "4.0.3",
"drupal/graphql": "^4.7",
"drupal/image_delta_formatter": "^1.2",
"drupal/jquery_ui_button": "^2.1",
"drupal/jsonapi_extras": "^3.21",
"drupal/login_history": "^2.0",
"drupal/login_tracker": "^2.0",
"drupal/logout_token": "^2.0",
"drupal/mailjet": "^4.0",
"drupal/maillog": "^1.1",
@@ -117,7 +117,6 @@
"drupal/maxlength": "^3.0",
"drupal/modules_weight": "^3.0",
"drupal/pdf_api": "^2.4",
"drupal/permissions_filter": "^1.1",
"drupal/printable": "^3.1",
"drupal/pwa": "^2.1@beta",
"drupal/redis": "^1.5",
@@ -128,37 +127,37 @@
"drupal/search_api": "^1.19",
"drupal/search_api_solr": "^4.2",
"drupal/select_translation": "2.0.0-alpha5",
"drupal/session_limit": "^2.0@beta",
"drupal/session_limit": "^3.0",
"drupal/simplenews": "^4.0",
"drupal/simplenews_mailjet_subscriptions": "^1.3",
"drupal/social_media_links": "^2.8",
"drupal/straw": "^2.0@beta",
"drupal/string_translation_ui": "^2.0",
"drupal/string_translation_ui": "2.0.x-dev",
"drupal/structure_sync": "^2.0",
"drupal/symfony_mailer": "^1",
"drupal/synonyms": "^2.0.0-beta2",
"drupal/telephone_formatter": "^1.0@beta",
"drupal/telephone_validation": "^2.1",
"drupal/term_reference_tree": "2.0.1",
"drupal/term_reference_tree": "~2.0.3",
"drupal/unique_content_field_validation": "^2.0",
"drupal/upgrade_status": "^5.0",
"drupal/user_csv_import": "^2.0",
"drupal/user_csv_import": "2.0.x-dev",
"drupal/user_email_verification": "^1.2",
"drupal/user_history": "^1.0",
"drupal/vde_drush": "^2.1",
"drupal/views_conditional": "^1.10",
"drupal/views_data_export": "^1.1",
"drupal/views_field_view": "^1.0@beta",
"drupal/webform": "^6.3",
"drupal/workflow": "~2.1.13",
"drush/drush": "^13",
"js-cookie/js-cookie": "*",
"kint-php/kint": "^3.3",
"politsin/jquery-ui-touch-punch": "^1",
"smalot/pdfparser": "*",
"symfony/mailjet-mailer": "^5.4",
"symfony/mailjet-mailer": "^7.4",
"twig/twig": "~3.29.0",
"vlucas/phpdotenv": "^5.0",
"w8tcha/ckeditor_codemirror": "v1.17.8",
"wa72/htmlpagedom": "1.3.*",
"wa72/htmlpagedom": "^3.0",
"webflo/drupal-finder": "^1.0.0",
"webmozart/path-util": "^2.3",
"wikimedia/composer-merge-plugin": "^2.0",
@@ -182,7 +181,8 @@
"drupal/core-composer-scaffold": true,
"wikimedia/composer-merge-plugin": true,
"zaporylie/composer-drupal-optimizations": true,
"drupal/core-project-message": true
"drupal/core-project-message": true,
"symfony/runtime": true
}
},
"autoload": {
@@ -214,7 +214,8 @@
"merge-plugin": {
"include": [
"web/profiles/d8-starterkit-profile/composer.json",
"web/modules/contrib/webform/composer.libraries.json"
"web/modules/contrib/webform/composer.libraries.json",
"web/modules/contrib/js_cookie/composer.libraries.json"
],
"recurse": true,
"replace": false,
@@ -231,9 +232,9 @@
"patches": {
"drupal/core": {
"migrate_drupal getsetting on null" : "https://www.drupal.org/files/issues/2019-02-13/migrate_drupal-getsetting_on_null.patch",
"ConfigImporter->checkOp() https://www.drupal.org/project/drupal/issues/3198715": "https://www.drupal.org/files/issues/2021-02-16/error-running-config-import-delete-on-null-3198715-3.patch",
"ConfigImporter->checkOp() https://www.drupal.org/project/drupal/issues/3198715": "./patches/core-3198715-configimporter-checkop-null-11.4.7.patch",
"Entity view/form mode formatter/widget settings have no translation UI 1 https://www.drupal.org/project/drupal/issues/2546212": "https://www.drupal.org/files/issues/2020-12-04/2546212-168-actions.patch",
"Entity view/form mode formatter/widget settings have no translation UI 2 https://www.drupal.org/project/drupal/issues/2546212": "https://www.drupal.org/files/issues/2020-12-04/2546212-168.patch",
"Entity view/form mode formatter/widget settings have no translation UI 2 https://www.drupal.org/project/drupal/issues/2546212": "./patches/core-2546212-168-entity-display-translation-11.4.7.patch",
"Allow to validate Apache/Nginx configuration requirement for aggregation folder before enabling aggregation. https://www.drupal.org/project/drupal/issues/3384272":"https://www.drupal.org/files/issues/2024-08-22/4673.diff"
},
"drupal/stripe": {
@@ -257,9 +258,6 @@
"weitzman/drupal-test-traits": {
"Define void return type for setUp() and tearDown() methods https://gitlab.com/weitzman/drupal-test-traits/-/issues/78":"./patches/Definevoidreturntype2.patch"
},
"drupal/simplenews_mailjet_subscriptions": {
"using mailjet module https://www.drupal.org/project/simplenews_mailjet_subscriptions/issues/3318780":"./patches/simplenews_mailjet_subscriptions__usingmailjetmodule#4.patch"
},
"drupal/graphql": {
"invalid translation language https://github.com/drupal-graphql/graphql/pull/1176": "./patches/graphql-fix-invalid-translation-language-dev.patch"
},
@@ -267,7 +265,13 @@
"Exposed operators are not included in fieldsets https://www.drupal.org/project/views_ef_fieldset/issues/3173822": "https://git.drupalcode.org/project/views_ef_fieldset/-/merge_requests/1/diffs.patch"
},
"drupal/term_reference_tree": {
"Term Reference Tree: Re-implement Track List https://www.drupal.org/project/term_reference_tree/issues/3064280": "https://www.drupal.org/files/issues/2024-08-26/term_reference_tree-3064280_bring_back_tracklist-22.patch"
"Term Reference Tree: Re-implement Track List https://www.drupal.org/project/term_reference_tree/issues/3064280": "https://www.drupal.org/files/issues/2026-09-30/term_reference_tree-3064280_bring_back_tracklist-26.patch"
},
"drupal/workflow": {
"Restore ^11 on submodule info.yml, lost in #3607490 regression https://www.drupal.org/project/workflow/issues/3607490": "./patches/workflow-3607490-submodule-info-d11-2.1.13.patch"
},
"drupal/commerce_cart_api": {
"FieldNormalizer signature incompatible with core 11.4 ListNormalizer return type https://www.drupal.org/project/commerce_cart_api/issues/3607934": "https://www.drupal.org/files/issues/2026-07-03/commerce_cart_api-drupal-11.4-normalizer-return-types.patch"
}
},
"archived-patches": {
Generated
+1250 -1044
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
devel_dumper: var_dumper
-2
View File
@@ -19,7 +19,5 @@ settings:
label: contact
label_display: '0'
provider: block_content
status: true
info: ''
view_mode: full
visibility: { }
-13
View File
@@ -1,13 +0,0 @@
uuid: dd6fca1d-1ffe-4b5a-b984-000111a96f21
langcode: en
status: true
dependencies: { }
_core:
default_config_hash: jonvgt3CkUM2eMLTFwWfHileWWDC4YtXCuIlCahTk_I
id: personal
label: 'Personal contact form'
recipients: { }
reply: ''
weight: 0
message: 'Your message has been sent.'
redirect: ''
-7
View File
@@ -1,7 +0,0 @@
_core:
default_config_hash: U69DBeuvXuNVOC15rVNaBjDPK2fWFbo9v4takdYSSO8
default_form: feedback
flood:
limit: 5
interval: 3600
user_default_enabled: false
@@ -163,7 +163,6 @@ third_party_settings:
children:
- field_famille
- langcode
- translation
- field_memo
- field_workflow
- created
@@ -275,9 +274,15 @@ content:
weight: 14
region: content
settings:
rows: 5
rows: 15
placeholder: ''
third_party_settings: { }
third_party_settings:
maxlength:
maxlength_js: null
maxlength_js_label: ''
maxlength_js_enforce: false
advanced_text_formatter:
show_token_tree: 0
field_reference:
type: computed_string_widget
weight: 4
@@ -313,9 +318,10 @@ content:
weight: 35
region: content
settings:
start_minimized: false
start_minimized: true
leaves_only: false
select_parents: false
select_all: false
cascading_selection: 0
track_list: true
max_depth: 0
@@ -6,6 +6,6 @@ dependencies:
- commerce_order
id: commerce_order.order_details
label: 'Order details'
description: ''
description: null
targetEntityType: commerce_order
cache: true
@@ -11,6 +11,6 @@ _core:
default_config_hash: BeqBf6Mm59Nebv4SsV0yvK5EspkCegPqvwnqwEBvEp0
id: commerce_order_item.add_to_cart
label: 'Add to cart'
description: ''
description: null
targetEntityType: commerce_order_item
cache: true
@@ -13,6 +13,6 @@ _core:
default_config_hash: u--mTnS-vYPf2RaezDnxj9Sl0GFgFSi4fgzVPPlCMM0
id: commerce_order_item.variation_cart_form
label: 'Variation cart form'
description: ''
description: null
targetEntityType: commerce_order_item
cache: true
@@ -6,6 +6,6 @@ dependencies:
- commerce_recurring
id: commerce_subscription.customer
label: Customer
description: ''
description: null
targetEntityType: commerce_subscription
cache: true
@@ -9,6 +9,6 @@ dependencies:
- commerce_order
id: profile.billing
label: Billing
description: ''
description: null
targetEntityType: profile
cache: true
@@ -8,6 +8,6 @@ _core:
default_config_hash: 3Ly1xMx90SxhhhBmZjDhcBCQ4kyR4u7tS5vLgA84B2M
id: simplenews_subscriber.account
label: Account
description: ''
description: null
targetEntityType: simplenews_subscriber
cache: true
@@ -8,6 +8,6 @@ _core:
default_config_hash: 7EIO8InzdeUlS1NCs5hq23QRzWmqAKGjeSqd3hQP62s
id: simplenews_subscriber.block
label: Block
description: ''
description: null
targetEntityType: simplenews_subscriber
cache: true
@@ -8,6 +8,6 @@ _core:
default_config_hash: ZNiTMgBURMLUyp3dwxIn7Zz_hREzPRpyF2M-Dm3e1BI
id: simplenews_subscriber.page
label: Page
description: ''
description: null
targetEntityType: simplenews_subscriber
cache: true
@@ -6,6 +6,6 @@ dependencies:
- user
id: user.modal
label: Modal
description: ''
description: null
targetEntityType: user
cache: true
@@ -8,6 +8,6 @@ _core:
default_config_hash: flXhTcp55yLcyy7ZLOhPGKGZobZQJdkAFVWV3LseiuI
id: user.register
label: Register
description: ''
description: null
targetEntityType: user
cache: true
@@ -1,11 +0,0 @@
uuid: 655bab63-c43d-45ec-9c10-3558501d9651
langcode: en
status: true
dependencies:
module:
- contact
id: contact_message.token
label: Token
description: ''
targetEntityType: contact_message
cache: true
-9
View File
@@ -6,23 +6,19 @@ module:
address: 0
admin_theme: 0
admin_toolbar: 0
admin_toolbar_links_access_filter: 0
advanced_text_formatter: 0
advancedqueue: 0
allowed_formats: 0
amswap: 0
anonymizer: 0
asset_cache_bust: 0
audiofield: 0
autocomplete_deluxe: 0
autologout: 0
ban: 0
better_exposed_filters: 0
betterlogin: 0
block: 0
block_content: 0
breakpoint: 0
bulkdelete: 0
checklistapi: 0
ckeditor5: 0
color: 0
@@ -46,7 +42,6 @@ module:
commerce_variation_cart_form: 0
computed_field: 0
config: 0
config_filter: 0
config_ignore: 0
config_pages: 0
config_split: 0
@@ -54,7 +49,6 @@ module:
config_update: 0
consumer_image_styles: 0
consumers: 0
contact: 0
content_lock: 0
context: 0
contextual: 0
@@ -155,7 +149,6 @@ module:
path_alias_xt: 0
pathologic: 0
pdf_api: 0
permissions_filter: 0
phpass: 0
printable: 0
printable_pdf: 0
@@ -180,7 +173,6 @@ module:
serialization: 0
session_limit: 0
simplenews: 0
simplenews_mailjet_subscriptions: 0
smart_trim: 0
smtp: 0
social_media_links: 0
@@ -215,7 +207,6 @@ module:
user_csv_import: 0
user_email_verification: 0
user_history: 0
vde_drush: 0
video_embed_field: 0
views_bulk_edit: 0
views_bulk_operations: 0
+3 -2
View File
@@ -26,10 +26,10 @@ settings:
plugins:
ckeditor5_alignment:
enabled_alignments:
- left
- center
- right
- justify
- left
- right
ckeditor5_heading:
enabled_headings:
- heading2
@@ -43,6 +43,7 @@ settings:
properties:
reversed: true
startIndex: true
styles: true
multiBlock: true
ckeditor5_sourceEditing:
allowed_tags: { }
@@ -43,6 +43,7 @@ settings:
properties:
reversed: true
startIndex: true
styles: true
multiBlock: true
ckeditor5_sourceEditing:
allowed_tags: { }
+1
View File
@@ -28,6 +28,7 @@ settings:
properties:
reversed: true
startIndex: true
styles: true
multiBlock: true
ckeditor5_sourceEditing:
allowed_tags: { }
-3
View File
@@ -1,3 +0,0 @@
_core:
default_config_hash: nJk0TAQBzlNo52ehiHI7bIEPLGi0BYqZvPdEn7Chfu0
purge_batch_size: 50
@@ -1,11 +0,0 @@
uuid: b03ab3e9-b8a0-452e-9a76-7b36c162cb11
langcode: en
status: true
dependencies:
config:
- contact.form.personal
id: contact_message.personal
target_entity_type_id: contact_message
target_bundle: personal
default_langcode: site_default
language_alterable: false
@@ -1,2 +0,0 @@
label: 'Formulaire de contact personnel'
message: 'Votre message a été envoyé.'
-1
View File
@@ -11,5 +11,4 @@ translation:
overwrite_customized: false
overwrite_not_customized: true
update_interval_days: 7
path: sites/default/files/translations
import_enabled: true
+3
View File
@@ -0,0 +1,3 @@
list_mapping:
19125: ze_daily_materio_
22839: materio_newsletter
@@ -1,11 +0,0 @@
uuid: 89d71508-f9fd-47ad-b712-a2902f867792
langcode: fr
status: true
dependencies: { }
id: '19125'
title: ZeDaily
mapping_table:
-
simplenews_news: ze_daily_materio_
contact_property: simplenews
newsletter_property_name: ZeDaily
@@ -1,11 +0,0 @@
uuid: 9a82ce3e-d5b1-4226-9e70-e4f2d28334ca
langcode: fr
status: true
dependencies: { }
id: '22839'
title: "materio' newsletter"
mapping_table:
-
simplenews_news: materio_newsletter
contact_property: simplenews
newsletter_property_name: Newsletter
@@ -1,11 +0,0 @@
uuid: 494ab8bc-97f4-4e87-a9ac-876911d4d3a3
langcode: fr
status: true
dependencies: { }
id: '24787'
title: Compagnie
mapping_table:
-
simplenews_news: companies
contact_property: simplenews
newsletter_property_name: Companies
@@ -1,11 +0,0 @@
uuid: 22d88999-43ab-4e59-8deb-02760e11f7ad
langcode: fr
status: true
dependencies: { }
id: '24788'
title: Test
mapping_table:
-
simplenews_news: test
contact_property: simplenews
newsletter_property_name: Test
@@ -1,11 +0,0 @@
uuid: 87685e0e-fd2a-46af-a915-d0da2d947f91
langcode: en
status: true
dependencies: { }
id: '26308'
title: Membres
mapping_table:
-
simplenews_news: membres
contact_property: simplenews
newsletter_property_name: Membres
@@ -1,17 +0,0 @@
uuid: 134147cd-f707-4a44-b578-fe47c9fddc7e
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: dRrc9PkLOme-LkddT28g1s2j6A6r8qJLW6I1FA4HD9M
id: contact.copy
configuration:
email_body:
content:
value: |-
<p class="contact-email-intro">Here is a copy of the message you sent to {{ recipient_name }} at {{ site_name }}.</p>
<hr>
{{ body }}
format: email_html
@@ -1,19 +0,0 @@
uuid: 4aa2ac66-aaba-414c-a0a3-bf12aa119aef
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: qM-nS_f8vJxvO0QPUg8SYmt3iTXAPcvj94xpXXBznQ4
id: contact.mail
configuration:
email_body:
content:
value: |-
<p class="contact-email-intro">Hello {{ recipient_name }},<br>
<a href="{{ sender_url }}">{{ sender_name }}</a> has sent you a message via your form at {{ site_name }}.
If you don't want to receive such emails, you can <a href="{{ recipient_edit_url }}">change your settings</a>.</p>
<hr>
{{ body }}
format: email_html
@@ -1,12 +0,0 @@
uuid: 5d8666b2-21ff-456a-9c5c-792c28e69173
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: hNnHk1jtvS_lezOW8CXkrFUEg3SlVaH8SEIilXxmC0Y
id: contact
configuration:
email_subject:
value: '[{{ site_name }}] {{ subject }}'
@@ -1,17 +0,0 @@
uuid: a6c8aaf1-3f3b-481a-8276-ca3e9d204599
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: XNel772jUgO_1nTeBKv6KY1dOnm9ZTxw873dLdQn21I
id: contact_form.copy
configuration:
email_body:
content:
value: |-
<p class="contact-email-intro">Here is a copy of the message you sent using the contact form <a href="{{ form_url }}">{{ form }}</a>.</p>
<hr>
{{ body }}
format: email_html
@@ -1,17 +0,0 @@
uuid: f0143eb1-9260-4046-8001-868f7ff18f99
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: 1TIKtMkjY26cVN1RPOzGE60sVx3nFvKHw-LR3I-STNw
id: contact_form.mail
configuration:
email_body:
content:
value: |-
<p class="contact-email-intro"><a href="{{ sender_url }}">{{ sender_name }}</a> sent a message using the contact form <a href="{{ form_url }}">{{ form }}</a>.</p>
<hr>
{{ body }}
format: email_html
@@ -1,12 +0,0 @@
uuid: 6016c007-4e4c-4fe5-9454-a4159f6fe678
langcode: en
status: true
dependencies:
module:
- contact
_core:
default_config_hash: Hmb6-2KQp-459chRvJx4haH9MprIHzG-rZheK5skgac
id: contact_form
configuration:
email_subject:
value: '[{{ form }}] {{ subject }}'
-1
View File
@@ -2,5 +2,4 @@ _core:
default_config_hash: iVCUEmCQO_uzT2ReHxUBVpC1NjO4I3wb8-zF1a4vyKI
allow_insecure_uploads: false
default_scheme: public
path: { }
temporary_maximum_age: 21600
-4
View File
@@ -1,4 +0,0 @@
_core:
default_config_hash: S5uQkVe5wkt0j4O7sfCxOPi4fX8a0aUfJd9o2bNfImM
items:
view_mode: rss
+3
View File
@@ -4,6 +4,8 @@ status: true
dependencies:
config:
- commerce_product.commerce_product_type.materio_product_type
- config_pages.type.privacy_policy
- config_pages.type.terms_of_services
- filter.format.full_html
- filter.format.wysiwyg
- node.type.article
@@ -218,6 +220,7 @@ permissions:
- 'manage materio_product_variation_type commerce_product_variation'
- materio_samples_edit_any_sample
- materio_samples_edit_materiaux_titles
- 'rebuild node access permissions'
- 'revert all revisions'
- 'revert any workflow workflow_transition'
- 'revert article revisions'
-1
View File
@@ -5,7 +5,6 @@ sql_signature: false
ui:
show:
additional_queries: false
advanced_column: true
default_display: true
performance_statistics: false
preview_information: true
+4 -211
View File
@@ -1293,10 +1293,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -1338,10 +1334,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1381,17 +1373,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1440,10 +1421,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1483,10 +1460,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -1527,10 +1500,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -1613,17 +1582,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1666,17 +1624,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: ''
max_placeholder: ''
placeholder: ''
@@ -1841,6 +1788,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -3374,10 +3322,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -3419,17 +3363,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3469,17 +3402,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3519,17 +3441,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3578,17 +3489,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3629,10 +3529,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -3673,17 +3569,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3732,17 +3617,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3791,17 +3665,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3906,10 +3769,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3991,10 +3850,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -4174,6 +4029,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -5384,10 +5240,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -5429,10 +5281,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -5472,10 +5320,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -5515,10 +5359,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -5559,10 +5399,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -5746,6 +5582,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -6936,10 +6773,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -6981,17 +6814,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -7031,17 +6853,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -7090,10 +6901,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -7134,17 +6941,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -7193,10 +6989,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -7369,6 +7161,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
+4 -143
View File
@@ -648,17 +648,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -700,10 +689,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -743,10 +728,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -787,10 +768,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
reduce: false
is_grouped: false
group_info:
@@ -831,10 +808,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -943,6 +916,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -2194,10 +2168,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -2237,17 +2207,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: true
group_info:
@@ -2342,17 +2301,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -2393,17 +2341,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -2444,10 +2381,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3204,10 +3137,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3247,17 +3176,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3298,10 +3216,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3929,17 +3843,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3981,10 +3884,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -4083,6 +3982,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -4800,17 +4700,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -4852,10 +4741,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -4895,17 +4780,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -5046,6 +4920,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -5633,17 +5508,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -5685,10 +5549,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -5813,6 +5673,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
+6 -349
View File
@@ -863,17 +863,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
is_grouped: false
group_info:
label: ''
@@ -914,18 +903,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
reduce: false
is_grouped: false
group_info:
@@ -970,17 +947,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: true
is_grouped: false
group_info:
@@ -1023,18 +989,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1076,17 +1030,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1126,17 +1069,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1185,17 +1117,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1244,17 +1165,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1401,6 +1311,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -2025,18 +1936,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
is_grouped: false
group_info:
label: ''
@@ -2079,18 +1978,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
reduce: false
is_grouped: false
group_info:
@@ -3496,17 +3383,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
is_grouped: false
group_info:
label: ''
@@ -3547,18 +3423,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
reduce: false
is_grouped: false
group_info:
@@ -3601,18 +3465,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -3654,17 +3506,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3704,17 +3545,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3763,17 +3593,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -3824,17 +3643,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -4013,6 +3821,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -4897,17 +4706,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -4947,17 +4745,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -5000,17 +4787,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: true
is_grouped: false
group_info:
@@ -5053,17 +4829,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
is_grouped: false
group_info:
label: ''
@@ -5209,6 +4974,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -6205,17 +5971,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -6255,17 +6010,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -6308,17 +6052,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: true
is_grouped: false
group_info:
@@ -6361,17 +6094,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
is_grouped: false
group_info:
label: ''
@@ -6494,6 +6216,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -7682,17 +7405,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -7736,17 +7448,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: true
is_grouped: false
group_info:
@@ -7894,6 +7595,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -8678,18 +8380,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
is_grouped: false
group_info:
label: ''
@@ -8730,18 +8420,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
contact_company: '0'
adherent: '0'
free_user: '0'
premium: '0'
unverified: '0'
student: '0'
alpha_testeur: '0'
translator: '0'
admin_showroom: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -8783,17 +8461,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -8833,17 +8500,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -8995,6 +8651,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
@@ -493,6 +493,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -510,7 +511,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -607,8 +607,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -648,8 +646,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -693,8 +689,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
min_placeholder: ''
max_placeholder: ''
placeholder: YYYY-MM-DD
@@ -804,6 +798,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+1 -15
View File
@@ -317,17 +317,6 @@ display:
empty: true
content: 'There are no custom blocks available.'
tokenize: false
block_content_listing_empty:
id: block_content_listing_empty
table: block_content
field: block_content_listing_empty
relationship: none
group_type: group
admin_label: ''
entity_type: block_content
plugin_id: block_content_listing_empty
label: ''
empty: true
sorts: { }
arguments: { }
filters:
@@ -359,8 +348,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -401,8 +388,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -503,6 +488,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -377,6 +377,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -362,6 +362,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -422,6 +422,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
+2 -3
View File
@@ -529,6 +529,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -546,7 +547,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -647,8 +647,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
hide_single_bundle: true
is_grouped: false
@@ -734,6 +732,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -255,6 +255,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -406,6 +406,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -1,3 +1,4 @@
uuid: null
langcode: en
status: true
dependencies:
@@ -460,6 +461,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -861,6 +861,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -7
View File
@@ -668,6 +668,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -685,7 +686,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -746,8 +746,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -788,8 +786,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
hide_single_bundle: true
is_grouped: false
@@ -832,8 +828,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -938,6 +932,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -3
View File
@@ -356,6 +356,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -373,7 +374,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -436,8 +436,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
hide_single_bundle: true
is_grouped: false
@@ -549,6 +547,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -269,6 +269,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -286,7 +287,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -402,9 +402,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
contributor: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -463,6 +460,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: 'entity:commerce_promotion_coupon'
query:
+2 -21
View File
@@ -466,6 +466,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -483,7 +484,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -591,12 +591,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
store_admin: '0'
api_consumer: '0'
customer_service: '0'
site_admin: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -638,8 +632,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -682,12 +674,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
store_admin: '0'
api_consumer: '0'
customer_service: '0'
site_admin: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -729,12 +715,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
store_admin: '0'
api_consumer: '0'
customer_service: '0'
site_admin: '0'
is_grouped: false
group_info:
label: ''
@@ -820,6 +800,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -3
View File
@@ -263,6 +263,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -280,7 +281,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -341,8 +341,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
hide_single_bundle: true
is_grouped: false
@@ -396,6 +394,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -575,6 +575,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -559,6 +559,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 12
total_pages: null
id: 0
@@ -573,7 +574,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -667,6 +667,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -560,6 +560,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 12
total_pages: null
id: 0
@@ -574,7 +575,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -716,6 +716,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -622,6 +622,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -639,7 +640,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -702,8 +702,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -745,17 +743,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -797,8 +784,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -844,17 +829,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: 'AAAA-MM-JJ HH:MM:SS'
max_placeholder: 'AAAA-MM-JJ HH:MM:SS'
placeholder: ''
@@ -902,17 +876,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: 'AAAA-MM-JJ HH:MM:SS'
max_placeholder: 'AAAA-MM-JJ HH:MM:SS'
placeholder: ''
@@ -1017,6 +980,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -367,6 +367,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 25
total_pages: null
id: 0
@@ -384,7 +385,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -553,6 +553,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -489,6 +489,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 25
total_pages: null
id: 0
@@ -506,7 +507,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -642,6 +642,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -7
View File
@@ -249,13 +249,13 @@ display:
pager:
type: full
options:
pagination_heading_level: h4
items_per_page: 50
tags:
next: 'Next ›'
previous: '‹ Previous'
first: '« First'
last: 'Last »'
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -311,8 +311,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -353,8 +351,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -444,8 +440,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -568,6 +562,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -404,6 +404,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -421,7 +422,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -487,8 +487,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -530,8 +528,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -572,7 +568,6 @@ display:
remember_roles:
anonymous: anonymous
authenticated: authenticated
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -613,8 +608,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -654,8 +647,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -856,6 +847,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+3 -11
View File
@@ -539,8 +539,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -581,8 +579,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -623,8 +619,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -667,10 +661,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
user: '0'
min_placeholder: ''
max_placeholder: ''
placeholder: ''
@@ -765,6 +755,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -1063,6 +1054,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0
@@ -1077,7 +1069,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
empty: { }
arguments:
fid:
@@ -1167,6 +1158,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
options: { }
+2 -1
View File
@@ -220,6 +220,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 25
total_pages: null
id: 0
@@ -237,7 +238,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -429,6 +429,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -1
View File
@@ -196,6 +196,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 36
total_pages: 0
id: 0
@@ -210,7 +211,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -346,6 +346,7 @@ display:
summary: ''
order: asc
empty_table: false
class: ''
row:
type: fields
options:
+4 -58
View File
@@ -632,10 +632,10 @@ display:
condition: eq
equalto: '1970'
then: 'no expiration'
then_translate: 1
then_translate: true
or: '{{ expires }}'
or_translate: 1
strip_tags: 0
or_translate: true
strip_tags: false
license_role_target_id:
id: license_role_target_id
table: commerce_license__license_role
@@ -785,17 +785,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: 'AAAA-MM-JJ HH:MM:SS'
max_placeholder: 'AAAA-MM-JJ HH:MM:SS'
placeholder: ''
@@ -843,17 +832,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: 'AAAA-MM-JJ HH:MM:SS'
max_placeholder: 'AAAA-MM-JJ HH:MM:SS'
placeholder: ''
@@ -900,17 +878,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
min_placeholder: ''
max_placeholder: ''
placeholder: ''
@@ -954,17 +921,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1006,17 +962,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -1125,6 +1070,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -13
View File
@@ -314,6 +314,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -331,7 +332,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -446,10 +446,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
editor: '0'
seo: '0'
administrator: '0'
is_grouped: true
group_info:
label: 'Published status'
@@ -498,10 +494,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
editor: '0'
seo: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -543,10 +535,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
editor: '0'
seo: '0'
administrator: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -625,6 +613,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -12
View File
@@ -359,6 +359,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -376,7 +377,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -426,17 +426,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -513,6 +502,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
+2 -1
View File
@@ -280,6 +280,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: null
id: 0
@@ -297,7 +298,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -399,6 +399,7 @@ display:
empty_table: true
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -3
View File
@@ -381,6 +381,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 25
total_pages: null
id: 0
@@ -398,7 +399,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -461,8 +461,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -540,6 +538,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -291,6 +291,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: null
id: 0
@@ -305,7 +306,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -463,6 +463,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+2 -9
View File
@@ -226,6 +226,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -243,7 +244,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -304,8 +304,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -346,8 +344,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -391,8 +387,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: true
group_info:
label: 'Status code'
@@ -482,8 +476,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -564,6 +556,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -577,17 +577,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
placeholder: ''
is_grouped: false
group_info:
@@ -627,8 +616,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -792,8 +792,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -832,8 +830,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -876,8 +872,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -918,17 +912,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
unverified: '0'
anonymous: '0'
free_user: '0'
contact_company: '0'
alpha_testeur: '0'
student: '0'
adherent: '0'
translator: '0'
admin_showroom: '0'
admin: '0'
root: '0'
reduce: false
is_grouped: false
group_info:
@@ -1044,6 +1027,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
@@ -1380,10 +1364,10 @@ display:
automatic_download: true
export_method: batch
export_batch_size: 1000
export_filesystem: private
custom_redirect_path: false
redirect_to_display: page_1
include_query_params: true
export_filesystem: private
cache_metadata:
max-age: -1
contexts:
+3 -2
View File
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.node.rss
- core.entity_view_mode.node.teaser
module:
- node
@@ -29,6 +30,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: 0
id: 0
@@ -43,7 +45,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -280,7 +281,7 @@ display:
type: node_rss
options:
relationship: none
view_mode: default
view_mode: rss
query:
type: views_query
options: { }
+2 -9
View File
@@ -463,6 +463,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 50
total_pages: 0
id: 0
@@ -480,7 +481,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -553,8 +553,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -598,8 +596,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: true
group_info:
label: Status
@@ -646,8 +642,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -688,8 +682,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
@@ -863,6 +855,7 @@ display:
sticky: false
summary: ''
empty_table: true
class: ''
row:
type: fields
query:
+2 -12
View File
@@ -700,6 +700,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 100
total_pages: null
id: 0
@@ -714,7 +715,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -767,8 +767,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
min_placeholder: ''
max_placeholder: ''
placeholder: (account)
@@ -816,8 +814,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
min_placeholder: 'Start date (yyyy-mm-dd hh:mm)'
max_placeholder: 'End date (yyyy-mm-dd hh:mm)'
placeholder: ''
@@ -861,8 +857,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
placeholder: (contains)
is_grouped: false
group_info:
@@ -904,8 +898,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
placeholder: (contains)
is_grouped: false
group_info:
@@ -947,9 +939,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
editor: '0'
placeholder: (contains)
is_grouped: false
group_info:
@@ -1060,6 +1049,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
query:
+6 -22
View File
@@ -357,6 +357,7 @@ display:
type: full
options:
offset: 0
pagination_heading_level: h4
items_per_page: 25
total_pages: null
id: 0
@@ -374,7 +375,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -567,6 +567,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -1234,8 +1235,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -1276,8 +1275,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -1318,9 +1315,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
demo_region: '0'
is_grouped: false
group_info:
label: ''
@@ -1430,6 +1424,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -1517,6 +1512,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -2228,8 +2224,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -2270,8 +2264,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -2312,9 +2304,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
demo_region: '0'
is_grouped: false
group_info:
label: ''
@@ -2424,6 +2413,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
@@ -3027,8 +3017,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -3069,8 +3057,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -3111,9 +3097,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
demo_region: '0'
is_grouped: false
group_info:
label: ''
@@ -3223,6 +3206,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
-2
View File
@@ -154,8 +154,6 @@ display:
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
module:
- options
- workflow
_core:
default_config_hash: WVVYWpOBeHeRgm3vCHP0lY65aX-UZx-E_8g6qpFrsHA
@@ -544,6 +545,7 @@ display:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: null
id: 0
@@ -558,7 +560,6 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
pagination_heading_level: h4
exposed_form:
type: basic
options:
@@ -680,6 +681,7 @@ display:
empty_table: false
caption: ''
description: ''
class: ''
row:
type: fields
options:
+92
View File
@@ -0,0 +1,92 @@
diff --git a/src/ExistingSiteBase.php b/src/ExistingSiteBase.php
index b21be6c..476b796 100644
--- a/src/ExistingSiteBase.php
+++ b/src/ExistingSiteBase.php
@@ -50,7 +50,7 @@ abstract class ExistingSiteBase extends TestCase implements LoggerInterface
*/
protected $baseUrl;
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
$this->setupMinkSession();
@@ -60,7 +60,7 @@ abstract class ExistingSiteBase extends TestCase implements LoggerInterface
/**
* @throws \Drupal\Core\Entity\EntityStorageException
*/
- public function tearDown()
+ public function tearDown(): void
{
parent::tearDown();
$this->tearDownDrupal();
diff --git a/tests/Entity/MediaCreationTraitTest.php b/tests/Entity/MediaCreationTraitTest.php
index 1700d67..39213a2 100644
--- a/tests/Entity/MediaCreationTraitTest.php
+++ b/tests/Entity/MediaCreationTraitTest.php
@@ -11,7 +11,7 @@ use weitzman\DrupalTestTraits\ExistingSiteBase;
class MediaCreationTraitTest extends ExistingSiteBase
{
use MediaCreationTrait;
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
$status = \Drupal::service('module_installer')
@@ -33,7 +33,7 @@ class MediaCreationTraitTest extends ExistingSiteBase
$this->assertEquals($media->id(), $this->cleanupEntities[1]->id());
}
- public function tearDown()
+ public function tearDown(): void
{
// Delete all the media content before uninstalling the module.
$this->cleanupEntities[0]->delete();
diff --git a/tests/ExampleTest.php b/tests/ExampleTest.php
index 05428e1..d5e62fe 100644
--- a/tests/ExampleTest.php
+++ b/tests/ExampleTest.php
@@ -13,7 +13,7 @@ use weitzman\DrupalTestTraits\ExistingSiteBase;
class ExampleTest extends ExistingSiteBase
{
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
diff --git a/tests/Mail/MailCollectorTraitTest.php b/tests/Mail/MailCollectorTraitTest.php
index 6f5e753..865e0cc 100644
--- a/tests/Mail/MailCollectorTraitTest.php
+++ b/tests/Mail/MailCollectorTraitTest.php
@@ -18,7 +18,7 @@ class MailCollectorTraitTest extends ExistingSiteBase
/**
* {@inheritdoc}
*/
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
$this->startMailCollection();
@@ -27,7 +27,7 @@ class MailCollectorTraitTest extends ExistingSiteBase
/**
* {@inheritdoc}
*/
- public function tearDown()
+ public function tearDown(): void
{
$this->restoreMailSettings();
parent::tearDown();
diff --git a/tests/ScreenShotTraitTest.php b/tests/ScreenShotTraitTest.php
index 22a7ae8..c1f9278 100644
--- a/tests/ScreenShotTraitTest.php
+++ b/tests/ScreenShotTraitTest.php
@@ -25,7 +25,7 @@ class ScreenShotTraitTest extends ExistingSiteWebDriverTestBase
/**
* {@inheritdoc}
*/
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
@@ -0,0 +1,289 @@
diff --git a/core/modules/config_translation/src/ConfigTranslation/EntityDisplayMapper.php b/core/modules/config_translation/src/ConfigTranslation/EntityDisplayMapper.php
new file mode 100644
index 00000000..98d75c45
--- /dev/null
+++ b/core/modules/config_translation/src/ConfigTranslation/EntityDisplayMapper.php
@@ -0,0 +1,112 @@
+<?php
+
+namespace Drupal\config_translation\ConfigTranslation;
+
+use Drupal\config_translation\ConfigEntityMapper;
+use Drupal\Core\Routing\RouteMatchInterface;
+
+/**
+ * Provides a configuration mapper for entity displays.
+ */
+class EntityDisplayMapper extends ConfigEntityMapper {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getBaseRouteParameters() {
+ $base_entity_info = $this->entityTypeManager
+ ->getDefinition($this->pluginDefinition['base_entity_type']);
+ $bundle_parameter_key = $base_entity_info
+ ->getBundleEntityType() ?: 'bundle';
+
+ $parameters = [];
+ $parameters[$bundle_parameter_key] = $this->entity->getTargetBundle();
+ $parameters[$this->pluginDefinition['display_context'] . '_mode_name'] = $this->entity->getMode();
+
+ return $parameters;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getOverviewRouteName() {
+ return "entity.{$this->entityType}.config_translation_overview.{$this->pluginDefinition['base_entity_type']}";
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getTitle() {
+ $base_entity_info = $this->entityTypeManager
+ ->getDefinition($this->pluginDefinition['base_entity_type']);
+ $bundle = $base_entity_info->getLabel();
+ if ($bundle_type = $base_entity_info->getBundleEntityType()) {
+ $bundle = $this->entityTypeManager
+ ->getStorage($bundle_type)
+ ->load($this->entity->getTargetBundle())
+ ->label();
+ }
+
+ $mode = $this->entityTypeManager
+ ->getStorage("entity_{$this->pluginDefinition['display_context']}_mode")
+ ->load($this->pluginDefinition['base_entity_type'] . '.' . $this->entity->getMode());
+ $mode = $mode ? $mode->label() : $this->t('Default');
+
+ if ($this->entityType == 'entity_view_display') {
+ return $this->t('@bundle @mode display', [
+ '@bundle' => $bundle,
+ '@mode' => $mode,
+ ]);
+ }
+ elseif ($this->entityType == 'entity_form_display') {
+ return $this->t('@bundle @mode form display', [
+ '@bundle' => $bundle,
+ '@mode' => $mode,
+ ]);
+ }
+ parent::getTypeLabel();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getTypeLabel() {
+ $base_entity_info = $this->entityTypeManager
+ ->getDefinition($this->pluginDefinition['base_entity_type']);
+
+ if ($this->entityType == 'entity_view_display') {
+ return $this->t('@label view display', [
+ '@label' => $base_entity_info->getLabel(),
+ ]);
+ }
+ elseif ($this->entityType == 'entity_form_display') {
+ return $this->t('@label form display', [
+ '@label' => $base_entity_info->getLabel(),
+ ]);
+ }
+ parent::getTypeLabel();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function populateFromRouteMatch(RouteMatchInterface $route_match) {
+ $bundle_entity_type = $this->entityTypeManager
+ ->getDefinition($this->pluginDefinition['base_entity_type'])
+ ->getBundleEntityType();
+ $bundle = $route_match->getParameter($bundle_entity_type ?: 'bundle') ?: $this->pluginDefinition['base_entity_type'];
+ $mode = $route_match->getParameter($this->pluginDefinition['display_context'] . '_mode_name') ?: 'default';
+
+ $entity = $this->entityTypeManager
+ ->getStorage($this->entityType)
+ ->load("{$this->pluginDefinition['base_entity_type']}.{$bundle}.{$mode}");
+
+ if ($entity) {
+ $route_match->getParameters()->set($this->entityType, $entity);
+
+ $this->setEntity($entity);
+ parent::populateFromRouteMatch($route_match);
+ }
+ }
+
+}
diff --git a/core/modules/config_translation/src/Controller/ConfigTranslationEntityDisplayListBuilder.php b/core/modules/config_translation/src/Controller/ConfigTranslationEntityDisplayListBuilder.php
new file mode 100644
index 00000000..b24e46f2
--- /dev/null
+++ b/core/modules/config_translation/src/Controller/ConfigTranslationEntityDisplayListBuilder.php
@@ -0,0 +1,117 @@
+<?php
+
+namespace Drupal\config_translation\Controller;
+
+use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Core\Entity\EntityStorageInterface;
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Url;
+
+/**
+ * Defines the config translation list builder for entity display entities.
+ */
+class ConfigTranslationEntityDisplayListBuilder extends ConfigTranslationFieldListBuilder {
+
+ /**
+ * Context display id.
+ *
+ * @var string
+ */
+ protected $displayContext;
+
+ /**
+ * Constructs a new ConfigTranslationEntityDisplayListBuilder object.
+ *
+ * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
+ * The entity type definition.
+ * @param \Drupal\Core\Entity\EntityStorageInterface $storage
+ * The entity storage class.
+ * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+ * The entity type manager.
+ * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_type_bundle_info
+ * The entity type bundle info.
+ */
+ public function __construct(EntityTypeInterface $entity_type, EntityStorageInterface $storage, EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info) {
+ parent::__construct($entity_type, $storage, $entity_type_manager, $entity_type_bundle_info);
+ // @todo There must be a better way to get this information?
+ $this->displayContext = preg_replace('/^entity_(.+)_display$/', '\1', $this->entityType->id());
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function load() {
+ // It is not possible to use the standard load method, because this needs
+ // all display entities only for the given baseEntityType.
+ $ids = \Drupal::entityQuery($this->entityType->id())
+ ->condition('id', $this->baseEntityType . '.', 'STARTS_WITH')
+ ->execute();
+ return $this->storage->loadMultiple($ids);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFilterLabels() {
+ $info = parent::getFilterLabels();
+ $bundle = $this->baseEntityInfo->getBundleLabel() ?: $this->t('Bundle');
+ $bundle = mb_strtolower($bundle);
+ $info['placeholder'] = $this->t('Enter mode or @bundle', [
+ '@bundle' => $bundle,
+ ]);
+ $info['description'] = $this->t('Enter a part of the mode or @bundle to filter by.', [
+ '@bundle' => $bundle,
+ ]);
+ return $info;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildRow(EntityInterface $entity) {
+ $row = parent::buildRow($entity);
+ $row['label']['data'] = $entity->getMode() == 'default' ? $this->t('Default') : $this->entityTypeManager
+ ->getStorage('entity_' . $this->displayContext . '_mode')
+ ->load($entity->getTargetEntityTypeId() . '.' . $entity->getMode())
+ ->label();
+ return $row;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildHeader() {
+ $header = parent::buildHeader();
+ $header['label'] = $this->entityType->getLabel();
+ return $header;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperations(EntityInterface $entity) {
+ // Entity displays have no canonical no direct edit-form links so we
+ // hard-code the route to the translation operation.
+ // @todo Use config-translation-overview link template like field_ui does.
+ $route_parameters = [
+ $this->displayContext . '_mode_name' => $entity->getMode(),
+ ];
+
+ $bundle_type = $this->entityTypeManager
+ ->getDefinition($entity->getTargetEntityTypeId())
+ ->getBundleEntityType();
+ if ($bundle_type) {
+ $route_parameters[$bundle_type] = $entity->getTargetBundle();
+ }
+
+ $operations['translate'] = [
+ 'title' => $this->t('Translate'),
+ 'url' => $this->ensureDestination(Url::fromRoute("entity.{$this->entityType->id()}.config_translation_overview.{$entity->getTargetEntityTypeId()}", $route_parameters)),
+ ];
+
+ return $operations;
+ }
+
+}
diff --git a/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php b/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
index 21daa8b7..bca9d4eb 100644
--- a/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
+++ b/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
@@ -8,6 +8,9 @@
use Drupal\Core\Config\Entity\ConfigEntityInterface;
use Drupal\Core\Url;
use Drupal\Core\Routing\RouteMatchInterface;
+use Drupal\Core\Entity\Display\EntityDisplayInterface;
+use Drupal\config_translation\ConfigTranslation\EntityDisplayMapper;
+use Drupal\config_translation\Controller\ConfigTranslationEntityDisplayListBuilder;
use Drupal\Core\Hook\Attribute\Hook;
/**
@@ -119,6 +122,10 @@ public function entityTypeAlter(array &$entity_types) : void {
// \Drupal\field\Entity\FieldConfig::linkTemplates().
$entity_type->setLinkTemplate('config-translation-overview', $entity_type->getLinkTemplate('edit-form') . '/translate');
}
+ elseif ($entity_type->entityClassImplements(EntityDisplayInterface::class)) {
+ $class = ConfigTranslationEntityDisplayListBuilder::class;
+ // @todo Link template is not used but should be set so other logic can apply.
+ }
else {
$class = 'Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder';
}
@@ -150,6 +157,22 @@ public function configTranslationInfo(&$info): void {
'base_entity_type' => $entity_type_id,
'weight' => 10,
];
+ $info[$entity_type_id . '_form_display'] = [
+ 'base_route_name' => "entity.entity_form_display.{$entity_type_id}.form_mode",
+ 'entity_type' => 'entity_form_display',
+ 'class' => EntityDisplayMapper::class,
+ 'base_entity_type' => $entity_type_id,
+ 'display_context' => 'form',
+ 'weight' => 10,
+ ];
+ $info[$entity_type_id . '_view_display'] = [
+ 'base_route_name' => "entity.entity_view_display.{$entity_type_id}.view_mode",
+ 'entity_type' => 'entity_view_display',
+ 'class' => EntityDisplayMapper::class,
+ 'base_entity_type' => $entity_type_id,
+ 'display_context' => 'view',
+ 'weight' => 10,
+ ];
}
}
}
@@ -0,0 +1,17 @@
diff --git a/core/lib/Drupal/Core/Config/ConfigImporter.php b/core/lib/Drupal/Core/Config/ConfigImporter.php
index 1b590d3..6b5cead 100644
--- a/core/lib/Drupal/Core/Config/ConfigImporter.php
+++ b/core/lib/Drupal/Core/Config/ConfigImporter.php
@@ -981,8 +981,10 @@ protected function checkOp($collection, $op, $name) {
$entity_storage = $this->configManager->getEntityTypeManager()->getStorage($entity_type_id);
$entity_type = $this->configManager->getEntityTypeManager()->getDefinition($entity_type_id);
$entity = $entity_storage->load($entity_storage->getIDFromConfigName($name, $entity_type->getConfigPrefix()));
- $entity->delete();
- $this->logError($this->t('Deleted and replaced configuration entity "@name"', ['@name' => $name]));
+ if ($entity) {
+ $entity->delete();
+ $this->logError($this->t('Deleted and replaced configuration entity "@name"', ['@name' => $name]));
+ }
}
else {
$this->storageComparer->getTargetStorage($collection)->delete($name);
@@ -0,0 +1,39 @@
diff --git a/modules/workflow_field/workflowfield.info.yml b/modules/workflow_field/workflowfield.info.yml
index ae6c27f..6eb99d7 100644
--- a/modules/workflow_field/workflowfield.info.yml
+++ b/modules/workflow_field/workflowfield.info.yml
@@ -3,7 +3,7 @@ type: module
description: 'A residual submodule. No need to enable this module for installations with workflow 8.x-1.0-beta6 and later.'
package: Workflow
core: 8.x
-core_version_requirement: ^8 || ^9 || ^10
+core_version_requirement: ^8 || ^9 || ^10 || ^11
hidden: TRUE
diff --git a/modules/workflow_operations/workflow_operations.info.yml b/modules/workflow_operations/workflow_operations.info.yml
index 166bfe0..4374f5f 100644
--- a/modules/workflow_operations/workflow_operations.info.yml
+++ b/modules/workflow_operations/workflow_operations.info.yml
@@ -3,7 +3,7 @@ type: module
description: 'Adds lesser-used Transition permissions (edit comment, revert transition). Obsolete. Incorporated in main module.'
package: Workflow
core: 8.x
-core_version_requirement: ^8 || ^9 || ^10
+core_version_requirement: ^8 || ^9 || ^10 || ^11
dependencies:
- workflow:workflow
diff --git a/modules/workflow_ui/workflow_ui.info.yml b/modules/workflow_ui/workflow_ui.info.yml
index 67c71c7..f51ab32 100644
--- a/modules/workflow_ui/workflow_ui.info.yml
+++ b/modules/workflow_ui/workflow_ui.info.yml
@@ -3,7 +3,7 @@ type: module
description: 'Administrative UI for Workflow. Obsolete. Incorporated in main module.'
package: Workflow
core: 8.x
-core_version_requirement: ^8 || ^9 || ^10
+core_version_requirement: ^8 || ^9 || ^10 || ^11
configure: entity.workflow_type.collection
dependencies:
+1
View File
@@ -0,0 +1 @@
/README.txt
+2 -1
View File
@@ -2,4 +2,5 @@
/README.txt
/example.gitignore
/.eslintrc.json
/README.md
/README.md
/autoload_runtime.php
+1 -1
View File
@@ -44,7 +44,7 @@ if (str_contains($path, '.php')) {
// fallback to index.php.
do {
$path = dirname($path);
if (preg_match('/\.php$/', $path) && is_file(__DIR__ . $path)) {
if (str_ends_with($path, '.php') && is_file(__DIR__ . $path)) {
// Discovered that the path contains an existing PHP file. Use that as the
// script to include.
$script = ltrim($path, '/');
+24 -5
View File
@@ -3,7 +3,7 @@
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|install|make|module|profile|po|sh|.*sql|theme|twig|tpl(\.php)?|xtmpl|yml)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock)|web\.config|yarn\.lock|package\.json)$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig|\.save)$">
<FilesMatch "\.(engine|inc|install|make|module|profile|po|sh|.*sql|theme|twig|tpl(\.php)?|xtmpl|yml)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock)|web\.config|yarn\.lock|package(-lock)?\.json)$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig|\.save)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
@@ -22,6 +22,9 @@ DirectoryIndex index.php index.html index.htm
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# Add correct encoding for webp.
AddType image/webp .webp
# Most of the following PHP settings cannot be changed at runtime. See
# sites/default/default.settings.php and
# Drupal\Core\DrupalKernel::bootEnvironment() for settings that can be
@@ -137,10 +140,7 @@ AddEncoding gzip svgz
RewriteCond %{REQUEST_URI} !/core/[^/]*\.php$
# Allow access to test-specific PHP files:
RewriteCond %{REQUEST_URI} !/core/modules/system/tests/https?\.php
# Allow access to Statistics module's custom front controller.
# Copy and adapt this rule to directly execute PHP files in contributed or
# custom modules or to run another PHP application in the same directory.
RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics\.php$
RewriteCond %{REQUEST_URI} !/core/modules/system/tests/modules/legacy_front_controller_test/test_index.php
# Deny access to any other PHP files that do not match the rules above.
# Specifically, disallow autoload.php from being served directly.
RewriteRule "^(.+/.*|autoload)\.php($|/)" - [F]
@@ -148,11 +148,21 @@ AddEncoding gzip svgz
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
<IfModule mod_headers.c>
# Serve brotli compressed CSS files if they exist and the client accepts brotli.
RewriteCond %{HTTP:Accept-encoding} br
RewriteCond %{REQUEST_FILENAME}\.br -s
RewriteRule ^(.*css_[a-zA-Z0-9-_]+)\.css$ $1\.css\.br [QSA]
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*css_[a-zA-Z0-9-_]+)\.css$ $1\.css\.gz [QSA]
# Serve brotli compressed JS files if they exist and the client accepts brotli.
RewriteCond %{HTTP:Accept-encoding} br
RewriteCond %{REQUEST_FILENAME}\.br -s
RewriteRule ^(.*js_[a-zA-Z0-9-_]+)\.js$ $1\.js\.br [QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
@@ -161,6 +171,8 @@ AddEncoding gzip svgz
# Serve correct content types, and prevent double compression.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1,E=no-brotli:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1,E=no-brotli:1]
RewriteRule \.css\.br$ - [T=text/css,E=no-gzip:1,E=no-brotli:1]
RewriteRule \.js\.br$ - [T=text/javascript,E=no-gzip:1,E=no-brotli:1]
<FilesMatch "(\.js\.gz|\.css\.gz)$">
# Serve correct encoding type.
@@ -168,6 +180,13 @@ AddEncoding gzip svgz
# Force proxies to cache gzipped & non-gzipped css/js files separately.
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.js\.br|\.css\.br)$">
# Serve correct encoding type.
Header set Content-Encoding br
# Force proxies to cache compressed & non-compressed css/js files separately.
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>
</IfModule>
+4 -9
View File
@@ -9,14 +9,9 @@
*/
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
require_once 'autoload_runtime.php';
$kernel = new DrupalKernel('prod', $autoloader);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
return static function () {
return new DrupalKernel('prod', require 'autoload.php');
};
@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
@@ -0,0 +1,28 @@
# Login Tracker
A simple module that tracks each time a user logs in and stores a historical
record in your database. This data is then exposed to views so you can report on
it if required.
Note: User 1 will not be tracked by default.
## Installation
Install, and activate the module as you would any other module. As soon as the
module is active, then logins will be recorded in your database.
If you wish to exclude certain roles from being tracked, then you can assign the
role the permission *Excluded from login tracking* and their logins will not be
tracked.
## Fine grained control over login tracking
If you need finer grained control over which logins are tracked, then you can
implement your required login in hook_login_tracker_track_login_alter() to
override whether a login is tracked for an individual instance.
## Storage of additional data
You can store additional data along with the login tracking by implementing
hook_login_tracker_login_data. The default value is an empty array, so you may
add to that as required.
## Views integration
You can access the data in the login tracker tables either as a base view, or
more usefully as a relationship against the user table.
@@ -0,0 +1,41 @@
<?php
/**
* @file
* Hooks provided by the Login Tracker module.
*/
/**
* Override whether a login request should be tracked or not.
*
* @param bool $track_login
* Boolean indicating whether to track the login (true), or not (false).
* @param object $account
* The user object on which the operation is being performed.
*
* @see login_tracker_user_login()
*/
function hook_login_tracker_track_login_alter(&$track_login, $account) {
// We only track login requests on the 1st of the month.
if (date('d') != 1) {
return FALSE;
}
else {
return TRUE;
}
}
/**
* Supply, or modify custom data stored with the tracked login.
*
* @param array $data
* Associative array of custom data that will be stored with the login.
* @param object $account
* The user object on which the operation is about to be recorded.
*
* @see login_tracker_user_login()
*/
function hook_login_tracker_login_data_alter(array &$data, $account) {
// Store a random number between 1 and 10 with the tracked login.
$data['my-random-number'] = rand(1, 10);
}
@@ -0,0 +1,8 @@
name: Login Tracker
description: Track user logins
type: module
core_version_requirement: ^8.9 || ^9 || ^10 || ^11
# Maintained locally (takeover, 2026-09-25): upstream has no D11-ready
# release and its 2.0.x-dev branch is not packaged by packages.drupal.org.
# Do not require drupal/login_tracker in composer anymore.

Some files were not shown because too many files have changed in this diff Show More