29 Commits

Author SHA1 Message Date
2bed556c02 restored wrongly commited composer.json commerce patches 2022-11-01 12:17:44 +01:00
27b50d0cba updated contrib modules 2022-11-01 12:14:04 +01:00
685d2dbcbd Merge branch 'prod' 2022-11-01 12:02:41 +01:00
03487b78bf modules update 2022-11-01 09:36:27 +01:00
afb9d13ed8 security updatesn, phpdotenv update, profile update 2022-10-31 14:45:34 +01:00
7ce2e5fb39 updated core to 9.4.8 2022-10-31 13:13:15 +01:00
78a94ed058 fixed #1989, login block hover on ipad 2022-10-31 11:10:51 +01:00
88e9ed16ff improved admin views 2022-10-20 10:33:00 +02:00
c4bf0b7c28 added 'email verified' column on admin user view 2022-10-18 16:11:23 +02:00
17b6581aa6 improved cleanflaglist script 2022-10-18 15:06:33 +02:00
1beb2b4dfa improved cleanflaglist script 2022-10-18 15:03:32 +02:00
4bc00f9b2b forgot to commit structure_sync login_history menu item 2022-09-23 11:20:33 +02:00
7cc9166ddd user_history initialized, granted admin to access login_history view 2022-09-23 11:18:01 +02:00
905c82f59f patched user_history 2022-09-23 11:01:45 +02:00
6c9d750851 changed some labels on commerce 2022-09-23 10:20:00 +02:00
7f0c254d9e added user_history module 2022-09-23 10:19:39 +02:00
895be04b6b admin can access and edit subscriptions 2022-09-21 17:13:17 +02:00
2f6560b88a only one retry for annual licence. Displaying state on licence edit form #1958 2022-09-20 21:44:43 +02:00
306c0d3f94 lightbox switching (modal cards) fix 2022-09-19 16:20:38 +02:00
9f20d34f42 refactored showrooms page 2022-09-19 15:58:11 +02:00
e5c6b871db removed showrooms bad links from home #1909 2022-09-19 11:45:23 +02:00
2e3612badc fixed blabla lightbox #1969 2022-09-19 11:25:38 +02:00
3960310677 improved licences admin page: more filters 2022-09-16 17:26:34 +02:00
76f8e9298a improved licences admin page: more filters 2022-09-16 16:02:56 +02:00
faa589332b changed default ordering for admin licences page 2022-09-16 15:54:11 +02:00
de89f29915 search form micro fixe (comma alone) 2022-09-13 12:40:32 +02:00
7051869819 last commit bug fix 2022-09-13 12:35:15 +02:00
1565ce8aa2 #1906 fixed search multi keys (ajax query params miswrited qs.stringify arrayFormat) 2022-09-13 12:29:38 +02:00
40b7e75d44 #1906, click on header menu base reset search 2022-09-13 11:26:34 +02:00
102 changed files with 6855 additions and 1476 deletions

View File

@@ -4,17 +4,37 @@
// This example demonstrates how to write a drush
// script. These scripts are run with the php-script command.
//
// drush php-script cleanflaglist.script
use Drush\Drush;
$this->output()->writeln("Flagging collection cleaning");
$this->output()->writeln("options : [delete-all | delete-nullname | delete-missing | delete-dups]");
// $this->output()->writeln("Hello world!");
$this->output()->writeln("The extra options/arguments to this command were:");
$this->output()->writeln(print_r($extra, true));
if ($extra[0] === "delete") {
$delete = true;
} else {
$delete = false;
$delete_all = false;
$delete_nullname = false;
$delete_missing = false;
$delete_dups = false;
if ($extra[0] === "delete-all") {
$delete_all = true;
}
if ($extra[0] === "delete-missing") {
$delete_missing = true;
}
if ($extra[0] === "delete-nullname") {
$delete_nullname = true;
}
if ($extra[0] === "delete-dups") {
$delete_dups = true;
}
@@ -43,7 +63,7 @@ foreach ($fcfd_result as $fc) {
$this->output()->writeln($flifd_query->countQuery()->execute()->fetchField() . " items for fc " . $fc->id . ' with baseflag ' . $fc->relatedflag);
// $this->output()->writeln(print_r($flifd_result->fetchAssoc(), true) . " items");
delete_flagingcollection($fc, $database, $delete);
delete_flagingcollection($fc, $database, $delete_all ? true : $delete_nullname);
}
@@ -64,9 +84,9 @@ foreach ($fcfd_result as $fc) {
$conf_result = $flag_query->execute();
$count = $flag_query->countQuery()->execute()->fetchField();
if(!$count){
$this->output()->writeln($fc->id . ' flagging_collection has ' . $count . " relatedflag");
$this->output()->writeln(' flagging_collection' . $fc->id . ' has ' . $count . " relatedflag");
$fc_missing_relatedflag ++;
delete_flagingcollection($fc, $database, $delete);
delete_flagingcollection($fc, $database, $delete_all ? true : $delete_missing);
}
}
$this->output()->writeln($fc_missing_relatedflag .' flagging_collection with missing related_flag');
@@ -96,7 +116,7 @@ foreach ($dup_result as $dup){
$this->output()->writeln($dup->relatedflag . ' relatedflag has ' . $count . ' flagging collection');
foreach ($fcfd_result as $fc) {
delete_flagingcollection($fc, $database, $delete);
delete_flagingcollection($fc, $database, $delete_all ? true : $delete_dups);
}
}

View File

@@ -92,9 +92,9 @@
"drupal/console": "^1.0.2",
"drupal/consumer_image_styles": "^4.0",
"drupal/content_sync": "^2.x-dev@dev",
"drupal/core-composer-scaffold": "9.3.17",
"drupal/core-project-message": "9.3.17",
"drupal/core-recommended": "9.3.17",
"drupal/core-composer-scaffold": "9.4.8",
"drupal/core-project-message": "9.4.8",
"drupal/core-recommended": "9.4.8",
"drupal/ctools": "^3.6",
"drupal/debug_bar": "^1.4",
"drupal/devel": "^4.1",
@@ -111,11 +111,11 @@
"drupal/gdpr": "^3.0@alpha",
"drupal/genpass": "^1.x-dev",
"drupal/google_analytics": "^4.0",
"drupal/graphql": "^4.0",
"drupal/graphql": "4.x-dev@dev",
"drupal/image_delta_formatter": "^1.x-dev",
"drupal/image_effects": "^3.x-dev@dev",
"drupal/js_cache_buster": "^1.0",
"drupal/jsonapi_extras": "^3.7",
"drupal/jsonapi_extras": "^3.21",
"drupal/jsonrpc": "^2.0",
"drupal/login_destination": "^2.x-dev@dev",
"drupal/login_history": "^1.x-dev",
@@ -167,6 +167,7 @@
"drupal/url_to_video_filter": "^2.0",
"drupal/user_csv_import": "^2.0",
"drupal/user_email_verification": "^1.x-dev@dev",
"drupal/user_history": "^1.0",
"drupal/vde_drush": "^2.0",
"drupal/views_conditional": "^1.x-dev",
"drupal/views_data_export": "^1.1",
@@ -178,7 +179,7 @@
"kint-php/kint": "^3.3",
"smalot/pdfparser": "*",
"symfony/mailjet-mailer": "^5.4",
"vlucas/phpdotenv": "^2.4",
"vlucas/phpdotenv": "^4.0",
"w8tcha/ckeditor_codemirror": "v1.17.8",
"wa72/htmlpagedom": "1.3.*",
"webflo/drupal-finder": "^1.0.0",
@@ -307,6 +308,12 @@
"var_dump https://www.drupal.org/project/simplenews_mailjet_subscriptions/issues/3280822#comment-14517416":"https://www.drupal.org/files/issues/2022-05-17/3280822-vardump%231.patch",
"missing argument https://www.drupal.org/project/simplenews_mailjet_subscriptions/issues/3280825": "https://www.drupal.org/files/issues/2022-05-17/3280825-missing-argument%232.patch",
"using mailjet module":"./patches/simplenews_mailjet_subscriptions__usingmailjetmodule.patch"
},
"drupal/graphql": {
"invalid translation language https://github.com/drupal-graphql/graphql/pull/1176": "./patches/graphql-fix-invalid-translation-language-dev.patch"
},
"drupal/user_history": {
"init batch : field_storage_values misses type https://www.drupal.org/project/user_history/issues/3311360": "https://www.drupal.org/files/issues/2022-09-23/user_history__field_storage_values__miss__type.patch"
}
},
"drupal-scaffold": {

2351
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
_core:
default_config_hash: m2pxH8tc4KIlh127R5TYim65W7NBY9gpYQnIXlvDp0M
langcode: fr
enabled: true
timeout: 1800
max_timeout: 172800
padding: 120
@@ -12,6 +13,7 @@ no_dialog: true
message: 'Your session is about to expire. Do you want to reset it?'
inactivity_message: ''
inactivity_message_type: status
modal_width: 450
enforce_admin: false
jstimer_format: '%hours%:%mins%:%secs%'
jstimer_js_load_option: false

View File

@@ -14,7 +14,7 @@ third_party_settings:
_core:
default_config_hash: Q21JtNYYWL-eIfxaX1rm-NvSqPqdDymrDrN08f_QC7M
id: recurring_product_variation
label: 'Recurring (Product variation)'
label: 'Recurring (Product variation) DO NOT USE ME'
traits:
- commerce_license_order_item_type
locked: true

View File

@@ -2,13 +2,18 @@ uuid: 045671c1-aab5-4468-8178-c617dcea16a6
langcode: en
status: true
dependencies:
module:
- commerce_tax
enforced:
module:
- commerce_recurring
third_party_settings:
commerce_tax:
taxable_type: physical_goods
_core:
default_config_hash: iFZgD_z6PSZqyLy65J_OLjA_nnGu-lvKxgPr0BNiCCI
id: recurring_standalone
label: 'Recurring (Standalone)'
label: 'Recurring (Standalone) DO NOT USE ME'
traits: { }
locked: true
purchasableEntityType: ''

View File

@@ -3,10 +3,12 @@ langcode: en
status: true
dependencies: { }
id: materio_product_type
label: 'materio product type'
label: 'materio product type (do not use me)'
traits: { }
locked: false
description: ''
variationType: materio_product_variation_type
variationTypes:
- materio_product_variation_type
multipleVariations: true
injectVariationFields: true

View File

@@ -13,7 +13,7 @@ third_party_settings:
interval: '1'
period: month
id: materio_product_licence_variatio
label: 'materio product licence variation type'
label: 'materio product licence nosub variation type'
traits:
- commerce_license
locked: false

View File

@@ -8,14 +8,12 @@ displayLabel: Annual
billingType: prepaid
retrySchedule:
- 1
- 3
- 5
unpaidSubscriptionState: canceled
plugin: rolling
configuration:
trial_interval: { }
interval:
number: 1
unit: year
unit: month
prorater: full_price
proraterConfiguration: { }

View File

@@ -35,4 +35,9 @@ content:
settings:
include_locked: true
third_party_settings: { }
translation:
weight: 10
region: content
settings: { }
third_party_settings: { }
hidden: { }

View File

@@ -0,0 +1,39 @@
uuid: 0d6fcab7-f639-4dbc-a0d2-bc0e0a45dd76
langcode: fr
status: true
dependencies:
module:
- commerce
- commerce_license
id: commerce_license.role.default
targetEntityType: commerce_license
bundle: role
mode: default
content:
product_variation:
type: entity_reference_autocomplete
weight: 0
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
state:
type: options_select
weight: 2
region: content
settings: { }
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 1
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
hidden: { }

View File

@@ -16,15 +16,9 @@ content:
region: content
settings: { }
third_party_settings: { }
quantity:
type: number
weight: 1
region: content
settings:
placeholder: ''
third_party_settings: { }
hidden:
adjustments: true
created: true
license: true
quantity: true
unit_price: true

View File

@@ -65,11 +65,12 @@ third_party_settings:
region: content
parent_name: ''
weight: 2
format_type: tab
format_type: details
format_settings:
classes: ''
show_empty_fields: false
id: ''
formatter: closed
open: true
description: ''
required_fields: true
group_contents:
@@ -187,7 +188,7 @@ content:
third_party_settings: { }
status:
type: boolean_checkbox
weight: 100
weight: 4
region: content
settings:
display_label: true

View File

@@ -0,0 +1,25 @@
uuid: 82cfb3bb-2c59-4e94-87c2-7ed3fef7d903
langcode: en
status: true
dependencies:
config:
- field.field.user_history.user_history.changed
- field.field.user_history.user_history.field_company
- field.field.user_history.user_history.field_member_type
- field.field.user_history.user_history.field_memo
- field.field.user_history.user_history.field_showroom
module:
- user_history
_core:
default_config_hash: t3pk9G7B-islTarIf5Vn3hst8iT4ymFv2xZC3Pk8s3I
id: user_history.user_history.default
targetEntityType: user_history
bundle: user_history
mode: default
content: { }
hidden:
changed: true
field_company: true
field_member_type: true
field_memo: true
field_showroom: true

View File

@@ -118,6 +118,8 @@ content:
settings:
image_link: ''
image_style: ''
image_loading:
attribute: lazy
third_party_settings: { }
weight: 105
region: content

View File

@@ -118,6 +118,8 @@ content:
settings:
image_link: ''
image_style: ''
image_loading:
attribute: lazy
third_party_settings: { }
weight: 105
region: content

View File

@@ -90,6 +90,8 @@ content:
settings:
image_link: ''
image_style: ''
image_loading:
attribute: lazy
third_party_settings: { }
weight: 7
region: content

View File

@@ -60,6 +60,8 @@ content:
settings:
image_link: ''
image_style: card_full
image_loading:
attribute: lazy
third_party_settings: { }
weight: 3
region: content

View File

@@ -60,6 +60,8 @@ content:
settings:
image_link: ''
image_style: ''
image_loading:
attribute: lazy
third_party_settings: { }
weight: 5
region: content

View File

@@ -53,7 +53,7 @@ content:
settings:
deltas: '0'
image_style: home_showroom
image_link: content
image_link: ''
deltas_reversed: 0
third_party_settings: { }
weight: 0

View File

@@ -0,0 +1,209 @@
uuid: 6159fee5-dea5-4c37-877e-f1d81222e4ef
langcode: en
status: true
dependencies:
config:
- field.field.user_history.user_history.changed
- field.field.user_history.user_history.field_company
- field.field.user_history.user_history.field_member_type
- field.field.user_history.user_history.field_memo
- field.field.user_history.user_history.field_showroom
module:
- user_history
_core:
default_config_hash: rLJ2KvmgjOrIys0VR2ZOuqVSmnAVAyUM4XfjaFEOBNg
id: user_history.user_history.default
targetEntityType: user_history
bundle: user_history
mode: default
content:
action:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 2
region: content
created:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 1
region: content
difference:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 20
region: content
label:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 0
region: content
modified_by:
type: entity_reference_label
label: inline
settings:
link: true
third_party_settings: { }
weight: 3
region: content
user_access:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 14
region: content
user_changed:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 13
region: content
user_created:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 12
region: content
user_deleted:
type: boolean
label: inline
settings:
format: yes-no
format_custom_false: ''
format_custom_true: ''
third_party_settings: { }
weight: 4
region: content
user_id:
type: entity_reference_entity_id
label: inline
settings: { }
third_party_settings: { }
weight: 5
region: content
user_init:
type: basic_string
label: inline
settings: { }
third_party_settings: { }
weight: 16
region: content
user_langcode:
type: language
label: inline
settings:
link_to_entity: false
native_language: false
third_party_settings: { }
weight: 17
region: content
user_login:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 15
region: content
user_mail:
type: basic_string
label: inline
settings: { }
third_party_settings: { }
weight: 8
region: content
user_name:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 6
region: content
user_pass:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 7
region: content
user_preferred_admin_langcode:
type: language
label: inline
settings:
link_to_entity: false
native_language: false
third_party_settings: { }
weight: 19
region: content
user_preferred_langcode:
type: language
label: inline
settings:
link_to_entity: false
native_language: false
third_party_settings: { }
weight: 18
region: content
user_roles:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 11
region: content
user_status:
type: boolean
label: inline
settings:
format: custom
format_custom_false: Blocked
format_custom_true: Active
third_party_settings: { }
weight: 10
region: content
user_timezone:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 9
region: content
hidden:
changed: true
field_company: true
field_member_type: true
field_memo: true
field_showroom: true
search_api_excerpt: true
synonyms: true

View File

@@ -0,0 +1,131 @@
uuid: 91bdd6bf-d214-41c1-9731-f4c5972062a6
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.user_history.tab
- field.field.user_history.user_history.changed
- field.field.user_history.user_history.field_company
- field.field.user_history.user_history.field_member_type
- field.field.user_history.user_history.field_memo
- field.field.user_history.user_history.field_showroom
module:
- user_history
_core:
default_config_hash: 9xmWD-ipJmTwO8v1QpZ37pO4vsMRUJAhpdiMYtViG5c
id: user_history.user_history.tab
targetEntityType: user_history
bundle: user_history
mode: tab
content:
action:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 3
region: content
created:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 1
region: content
difference:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 20
region: content
label:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 0
region: content
modified_by:
type: entity_reference_label
label: inline
settings:
link: true
third_party_settings: { }
weight: 2
region: content
user_login:
type: timestamp
label: inline
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 9
region: content
user_mail:
type: basic_string
label: inline
settings: { }
third_party_settings: { }
weight: 5
region: content
user_name:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 4
region: content
user_roles:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 8
region: content
user_status:
type: boolean
label: inline
settings:
format: custom
format_custom_false: Blocked
format_custom_true: Active
third_party_settings: { }
weight: 7
region: content
user_timezone:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 6
region: content
hidden:
changed: true
field_company: true
field_member_type: true
field_memo: true
field_showroom: true
search_api_excerpt: true
synonyms: true
user_access: true
user_changed: true
user_created: true
user_deleted: true
user_id: true
user_init: true
user_langcode: true
user_pass: true
user_preferred_admin_langcode: true
user_preferred_langcode: true

View File

@@ -0,0 +1,12 @@
uuid: 1a23be2d-497b-4722-a873-8d33fbd3954e
langcode: en
status: true
dependencies:
module:
- user_history
_core:
default_config_hash: ggnLfDKZKWq9-z6LNunoyDsOtcsUSIo0imn2QXKJIbw
id: user_history.tab
label: 'User profile tab'
targetEntityType: user_history
cache: true

View File

@@ -117,7 +117,9 @@ module:
jquery_ui_button: 0
jquery_ui_checkboxradio: 0
jquery_ui_controlgroup: 0
jquery_ui_datepicker: 0
jquery_ui_slider: 0
jquery_ui_touch_punch: 0
js_cache_buster: 0
jsonapi: 0
jsonapi_extras: 0
@@ -150,6 +152,7 @@ module:
menu_ui: 0
message: 0
modules_weight: 0
mysql: 0
node: 0
options: 0
page_cache: 0
@@ -220,6 +223,7 @@ module:
user: 0
user_csv_import: 0
user_email_verification: 0
user_history: 0
vde_drush: 0
video_embed_field: 0
video_embed_wysiwyg: 0

View File

@@ -58,8 +58,6 @@ settings:
linkit_profile: default
stylescombo:
styles: ''
language:
language_list: un
codemirror:
enable: true
mode: htmlmixed
@@ -77,18 +75,8 @@ settings:
autoFormatOnStart: true
autoFormatOnModeChange: true
autoFormatOnUncomment: true
font:
font_names: ''
font_sizes: ''
colorbutton:
colors: ''
video_embed:
defaults:
children:
autoplay: false
responsive: true
width: '854'
height: '480'
image_upload:
status: true
scheme: public

View File

@@ -58,8 +58,6 @@ settings:
linkit_profile: default
stylescombo:
styles: h4.inter-titre|Inter-titre
language:
language_list: un
codemirror:
enable: true
mode: htmlmixed
@@ -77,18 +75,6 @@ settings:
autoFormatOnStart: true
autoFormatOnModeChange: true
autoFormatOnUncomment: true
font:
font_names: ''
font_sizes: ''
colorbutton:
colors: ''
video_embed:
defaults:
children:
autoplay: true
responsive: true
width: '854'
height: '480'
image_upload:
status: true
scheme: public

View File

@@ -0,0 +1,20 @@
uuid: 5ff1c4d4-a0d9-419b-8f1a-fcd4109af235
langcode: en
status: true
dependencies:
config:
- field.storage.user_history.changed
module:
- user_history
id: user_history.user_history.changed
field_name: changed
entity_type: user_history
bundle: user_history
label: Changed
description: 'The time that the user was last edited.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: changed

View File

@@ -0,0 +1,30 @@
uuid: 3c278633-e325-4578-915e-12c4c0962ed9
langcode: en
status: true
dependencies:
config:
- field.storage.user_history.field_company
- taxonomy.vocabulary.company
module:
- user_history
id: user_history.user_history.field_company
field_name: field_company
entity_type: user_history
bundle: user_history
label: Company
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:taxonomy_term'
handler_settings:
target_bundles:
company: company
sort:
field: name
direction: asc
auto_create: false
auto_create_bundle: ''
field_type: entity_reference

View File

@@ -0,0 +1,28 @@
uuid: 294a3939-be0c-4e55-9d67-2f6a85c20aaf
langcode: en
status: true
dependencies:
config:
- field.storage.user_history.field_member_type
module:
- options
- unique_content_field_validation
- user_history
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: user_history.user_history.field_member_type
field_name: field_member_type
entity_type: user_history
bundle: user_history
label: 'Member Type'
description: ''
required: false
translatable: false
default_value:
-
value: 0
default_value_callback: ''
settings: { }
field_type: list_integer

View File

@@ -0,0 +1,25 @@
uuid: 86f32b81-68fa-429f-96bc-78c127614937
langcode: en
status: true
dependencies:
config:
- field.storage.user_history.field_memo
module:
- unique_content_field_validation
- user_history
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: user_history.user_history.field_memo
field_name: field_memo
entity_type: user_history
bundle: user_history
label: Memo
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string_long

View File

@@ -0,0 +1,30 @@
uuid: 4d87baea-bccb-49b0-97bc-7f88227bd591
langcode: en
status: true
dependencies:
config:
- field.storage.user_history.field_showroom
- taxonomy.vocabulary.showroom
module:
- user_history
id: user_history.user_history.field_showroom
field_name: field_showroom
entity_type: user_history
bundle: user_history
label: Showroom
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:taxonomy_term'
handler_settings:
target_bundles:
showroom: showroom
sort:
field: name
direction: asc
auto_create: false
auto_create_bundle: ''
field_type: entity_reference

View File

@@ -0,0 +1,18 @@
uuid: e8488f73-cb96-415c-87df-4354a751d577
langcode: en
status: true
dependencies:
module:
- user_history
id: user_history.changed
field_name: changed
entity_type: user_history
type: changed
settings: { }
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,24 @@
uuid: ab537048-df6b-48f1-ac8d-d868fe1b5368
langcode: en
status: true
dependencies:
module:
- field_permissions
- taxonomy
- user_history
third_party_settings:
field_permissions:
permission_type: custom
id: user_history.field_company
field_name: field_company
entity_type: user_history
type: entity_reference
settings:
target_type: taxonomy_term
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,37 @@
uuid: 5101633f-aba1-4658-bbcf-04e3b199c3f2
langcode: en
status: true
dependencies:
module:
- field_permissions
- options
- user_history
third_party_settings:
field_permissions:
permission_type: custom
id: user_history.field_member_type
field_name: field_member_type
entity_type: user_history
type: list_integer
settings:
allowed_values:
-
value: 0
label: Web
-
value: 1
label: Showroom
-
value: 2
label: Multijoueurs
-
value: 3
label: AAF
allowed_values_function: ''
module: options
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,23 @@
uuid: 5fbd72ac-a63e-4bac-9b91-cfffc8f9a3f1
langcode: en
status: true
dependencies:
module:
- field_permissions
- user_history
third_party_settings:
field_permissions:
permission_type: custom
id: user_history.field_memo
field_name: field_memo
entity_type: user_history
type: string_long
settings:
case_sensitive: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,24 @@
uuid: f6cafa78-778a-409a-af83-29cf5e98e3ee
langcode: en
status: true
dependencies:
module:
- field_permissions
- taxonomy
- user_history
third_party_settings:
field_permissions:
permission_type: custom
id: user_history.field_showroom
field_name: field_showroom
entity_type: user_history
type: entity_reference
settings:
target_type: taxonomy_term
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -3,7 +3,7 @@ langcode: en
status: true
dependencies: { }
name: home_showroom
label: 'home-showroom (800x534)'
label: 'home-showroom (800x450)'
effects:
87ca0333-c2de-4d98-91e1-d65b0263a31e:
uuid: 87ca0333-c2de-4d98-91e1-d65b0263a31e

View File

@@ -0,0 +1,5 @@
content:
user_status:
settings:
format_custom_false: Bloqué
format_custom_true: Actif

View File

@@ -0,0 +1,5 @@
content:
user_status:
settings:
format_custom_false: Bloqué
format_custom_true: Actif

View File

@@ -1,3 +1,4 @@
label: 'Checkout Order Summary'
display:
default:
display_title: Maître

View File

@@ -25,8 +25,6 @@ display:
empty:
area_text_custom:
content: 'Aucun contenu de page d''accueil n''a été créé pour l''instant. Suivre le <a href="https://www.drupal.org/fr/docs/user_guide/fr/index.html">Guide utilisateur</a> pour démarrer la construction de votre site.'
title:
title: 'Bienvenue sur [site:name]'
feed_1:
display_title: Flux
page_1:

View File

@@ -0,0 +1,82 @@
display:
default:
display_title: Maître
display_options:
exposed_form:
options:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
sort_asc_label: Asc
sort_desc_label: Desc
pager:
options:
tags:
previous:
next:
expose:
items_per_page_label: 'Éléments par page'
items_per_page_options_all_label: '- Tout -'
offset_label: Décalage
fields:
action:
label: Action
separator: ', '
user_changed:
label: Modifié
separator: ', '
user_created:
label: Créé
separator: ', '
created:
label: Créé
separator: ', '
user_mail:
label: Courriel
separator: ', '
id:
label: 'Identifiant (ID)'
separator: ', '
user_init:
label: Init
separator: ', '
user_langcode:
label: 'Code de la langue'
separator: ', '
user_access:
label: 'Dernier accès'
separator: ', '
user_login:
separator: ', '
modified_by:
separator: ', '
user_name:
label: Nom
separator: ', '
user_pass:
label: 'Mot de passe'
separator: ', '
user_preferred_admin_langcode:
separator: ', '
user_preferred_langcode:
separator: ', '
user_roles_target_id:
label: Rôles
separator: ', '
user_timezone:
label: 'Fuseau horaire'
separator: ', '
user_deleted:
separator: ', '
user_id:
label: 'Identifiant (ID) utilisateur'
separator: ', '
user_status:
label: 'Statut de l''utilisateur'
separator: ', '
arguments:
user_id:
exception:
title: Tout
page_1:
display_title: Page

View File

@@ -0,0 +1,57 @@
display:
default:
display_title: Maître
display_options:
exposed_form:
options:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
sort_asc_label: Asc
sort_desc_label: Desc
pager:
options:
expose:
items_per_page_label: 'Éléments par page'
items_per_page_options_all_label: '- Tout -'
offset_label: Décalage
tags:
previous:
next:
fields:
label:
separator: ', '
modified_by:
separator: ', '
created:
separator: ', '
user_id:
separator: ', '
user_name:
label: 'Nom d''utilisateur'
separator: ', '
user_mail:
separator: ', '
user_roles:
label: 'Rôles de l''utilisateur'
separator: ', '
user_status:
label: 'Statut de l''utilisateur'
settings:
format_custom_true: Actif
format_custom_false: Bloqué
separator: ', '
user_deleted:
separator: ', '
user_login:
label: 'Dernière connexion'
separator: ', '
filters:
user_name:
expose:
label: 'Nom d''utilisateur'
user_roles:
expose:
label: 'Rôles de l''utilisateur'
page_1:
display_title: Page

View File

@@ -1,3 +1,16 @@
blocks:
-
info: contact
langcode: en
uuid: e202a879-0a6d-4819-a171-15dfac8d7567
bundle: simple_text
revision_id: null
rev_id_current: null
fields:
field_content:
-
value: "<p>contact <a href=\"mailto:hello@materio.com\" title=\"hello@materio.com\">hello@materio.com</a> | developed by&nbsp;<a href=\"https://figureslibres.cc/\" rel=\"noopener\" target=\"_blank\" title=\"figureslibres.cc\">figureslibres.cc</a></p>\r\n"
format: wysiwyg
menus:
-
menu_name: header
@@ -56,7 +69,7 @@ menus:
description: null
enabled: '1'
expanded: '0'
weight: '-50'
weight: '-49'
langcode: en
uuid: 27e5f4e1-1ea7-425e-aabb-81404d40a864
-
@@ -104,19 +117,30 @@ menus:
description: null
enabled: '1'
expanded: '0'
weight: '-49'
weight: '-50'
langcode: en
uuid: 5b14e014-7aba-4e1b-a619-45177584cf80
blocks:
-
info: contact
menu_name: editors
title: Subscriptions
parent: editors_menus.commerce
uri: 'internal:/admin/commerce/subscriptions'
link_title: ''
description: null
enabled: '1'
expanded: '0'
weight: '-45'
langcode: en
uuid: e202a879-0a6d-4819-a171-15dfac8d7567
bundle: simple_text
revision_id: null
rev_id_current: null
fields:
field_content:
-
value: "<p>contact <a href=\"mailto:hello@materio.com\" title=\"hello@materio.com\">hello@materio.com</a> | developed by&nbsp;<a href=\"https://figureslibres.cc/\" rel=\"noopener\" target=\"_blank\" title=\"figureslibres.cc\">figureslibres.cc</a></p>\r\n"
format: wysiwyg
uuid: b87ef278-a92a-47b5-adc2-2bea12fd9b07
-
menu_name: editors
title: 'login history'
parent: editors_menus.users
uri: 'internal:/admin/reports/login-history'
link_title: ''
description: null
enabled: '1'
expanded: '0'
weight: '0'
langcode: en
uuid: 0f3b6054-63b1-4c01-80bb-609d6ab2ac7b

View File

@@ -0,0 +1,17 @@
uuid: 75c4fa38-9c56-488a-b071-fddb06766178
langcode: en
status: true
dependencies:
module:
- user_history
title: 'Default cron handler'
id: user_history_cron
weight: 0
module: user_history
callback: user_history_cron
scheduler:
id: simple
launcher:
id: serial
logger:
id: database

View File

@@ -6,7 +6,6 @@ dependencies:
- node.type.note
module:
- commerce_license
- commerce_order
- eu_cookie_compliance
- field_permissions
- flag_lists
@@ -46,4 +45,3 @@ permissions:
- 'view own flag lists'
- 'view own member profile'
- 'view printer friendly versions'
- 'view recurring commerce_order'

View File

@@ -51,6 +51,7 @@ dependencies:
- system
- taxonomy
- toolbar
- user_history
- workflow
_core:
default_config_hash: oPv8PkAuHYeKKe1c48A3-O9VsF3Nl1XBsMKrgqxo8vs
@@ -64,6 +65,7 @@ permissions:
- 'access commerce_license overview'
- 'access commerce_order overview'
- 'access commerce_product overview'
- 'access commerce_subscription overview'
- 'access files overview'
- 'access materio search'
- 'access profile overview'
@@ -76,6 +78,7 @@ permissions:
- 'administer commerce_license'
- 'administer commerce_order'
- 'administer commerce_payment'
- 'administer commerce_subscription'
- 'administer newsletters'
- 'administer nodes'
- 'administer simplenews subscriptions'
@@ -99,7 +102,6 @@ permissions:
- 'create commerce_subscription'
- 'create content translations'
- 'create customer profile'
- 'create default commerce_order'
- 'create field_attachments'
- 'create field_company'
- 'create field_distributor'
@@ -120,6 +122,7 @@ permissions:
- 'create field_video'
- 'create field_workflow'
- 'create materiau content'
- 'create materio_order_type commerce_order'
- 'create migration workflow_transition'
- 'create note content'
- 'create simplenews_issue content'
@@ -132,7 +135,6 @@ permissions:
- 'create workflow workflow_transition'
- 'delete all revisions'
- 'delete any simplenews_issue content'
- 'delete default commerce_order'
- 'delete terms in assisted_research'
- 'delete terms in company'
- 'delete terms in showroom'
@@ -212,6 +214,7 @@ permissions:
- 'execute views_bulk_edit all'
- 'execute workflow_node_given_state_action node'
- 'execute workflow_node_next_state_action node'
- 'manage materio_order_item_type commerce_order_item'
- materio_samples_edit_any_sample
- materio_samples_edit_materiaux_titles
- 'revert all revisions'
@@ -246,7 +249,6 @@ permissions:
- 'update any member profile'
- 'update any online commerce_store'
- 'update content translations'
- 'update default commerce_order'
- 'use text format full_html'
- 'use text format wysiwyg'
- 'view all login histories'
@@ -308,7 +310,9 @@ permissions:
- 'view own profile'
- 'view own unpublished content'
- 'view printer friendly versions'
- 'view recurring commerce_order'
- 'view simplenews_issue revisions'
- 'view static revisions'
- 'view the administration theme'
- 'view thematique revisions'
- 'view user_history entities'

View File

@@ -6,7 +6,6 @@ dependencies:
- node.type.note
module:
- commerce_license
- commerce_order
- eu_cookie_compliance
- field_permissions
- flag_lists
@@ -46,4 +45,3 @@ permissions:
- 'view own flag lists'
- 'view own member profile'
- 'view printer friendly versions'
- 'view recurring commerce_order'

View File

@@ -22,6 +22,7 @@ dependencies:
- simplenews
- synonyms_autocomplete
- system
- user_history
- workflow
_core:
default_config_hash: NlAJ1uthbRfNcM-M7UCYixmpTNgZnkuQKQymrXPv7UY
@@ -33,6 +34,7 @@ permissions:
- 'access checkout'
- 'access content'
- 'access synonyms entity autocomplete'
- 'add user_history entities'
- 'create workflow workflow_transition'
- 'display eu cookie compliance popup'
- 'execute materio arbitrary graphql requests'

View File

@@ -0,0 +1,33 @@
_core:
default_config_hash: yGCsRJxhYIIfNycJr9z_9QeZXOPIZjI0Qn_3Mvp2Blk
no_change:
ignore: true
delete: ''
base_fields:
uid: true
name: true
pass: true
mail: true
timezone: true
status: true
roles: true
created: true
changed: true
access: true
login: true
init: true
langcode: true
preferred_langcode: true
preferred_admin_langcode: true
attached_fields:
changed: 1
path: 0
commerce_remote_id: 0
field_company: 1
field_member_type: 1
field_memo: 1
field_showroom: 1
archive:
directory: user-history/archive/
filename: user-history-archive
max_cardinality: 3

View File

@@ -199,6 +199,8 @@ display:
settings:
image_link: ''
image_style: medium
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true
@@ -263,6 +265,8 @@ display:
settings:
image_link: ''
image_style: medium
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true
@@ -1747,12 +1751,12 @@ display:
default_row_class: true
columns:
views_bulk_operations_bulk_form: views_bulk_operations_bulk_form
field_materiau_images: title
field_visuel: field_visuel
field_reference: title
nid: nid
title: title
field_reference: title
field_materiau_images: title
operations: title
is_locked: title
field_thesaurus: field_thesaurus
field_tags: field_tags
field_manufacturer: field_manufacturer
@@ -1762,6 +1766,7 @@ display:
field_samples: field_samples
field_workflow: field_workflow
field_migration: field_migration
is_locked: title
field_memo: field_memo
changed: changed
default: '-1'
@@ -1771,6 +1776,23 @@ display:
separator: ''
empty_column: false
responsive: ''
field_materiau_images:
align: ''
separator: ''
empty_column: false
responsive: ''
field_visuel:
align: ''
separator: ''
empty_column: false
responsive: ''
field_reference:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
nid:
sortable: false
default_sort_order: asc
@@ -1785,30 +1807,11 @@ display:
separator: ''
empty_column: false
responsive: ''
field_reference:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_materiau_images:
align: ''
separator: ''
empty_column: false
responsive: ''
operations:
align: ''
separator: ''
empty_column: false
responsive: ''
is_locked:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_thesaurus:
align: ''
separator: '<br/>'
@@ -1858,7 +1861,16 @@ display:
separator: ''
empty_column: false
responsive: ''
is_locked:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_memo:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
@@ -1871,7 +1883,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -2407,6 +2419,8 @@ display:
settings:
image_link: ''
image_style: card_small
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true
@@ -4707,6 +4721,8 @@ display:
settings:
image_link: ''
image_style: card_small
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true
@@ -5754,12 +5770,12 @@ display:
field_tags: field_tags
field_linked_materials: field_linked_materials
field_showroom: field_showroom
field_date: field_date
field_workflow: field_workflow
field_migration: field_migration
created: created
changed: changed
field_memo: field_memo
field_date: field_date
default: '-1'
info:
views_bulk_operations_bulk_form:
@@ -5813,6 +5829,13 @@ display:
separator: ''
empty_column: false
responsive: ''
field_date:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
field_workflow:
sortable: false
default_sort_order: asc
@@ -5848,13 +5871,6 @@ display:
separator: ''
empty_column: false
responsive: ''
field_date:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
override: true
sticky: true
summary: ''
@@ -6303,6 +6319,8 @@ display:
settings:
image_link: ''
image_style: card_small
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true

View File

@@ -920,13 +920,10 @@ display:
default_row_class: true
columns:
views_bulk_operations_bulk_form: views_bulk_operations_bulk_form
field_visuels: name
tid: name
name: name
operations: name
field_public_address: field_public_address
translation_count: translation_count
langcode_1: langcode_1
break: break
is_locked: is_locked
langcode: langcode
field_workflow: field_workflow
@@ -939,11 +936,6 @@ display:
separator: ''
empty_column: false
responsive: ''
field_visuels:
align: ''
separator: ''
empty_column: false
responsive: ''
tid:
sortable: false
default_sort_order: asc
@@ -963,21 +955,7 @@ display:
separator: ''
empty_column: false
responsive: ''
field_public_address:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
translation_count:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
langcode_1:
break:
sortable: false
default_sort_order: asc
align: ''
@@ -1020,7 +998,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -2906,6 +2884,8 @@ display:
settings:
image_link: ''
image_style: medium
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true

View File

@@ -43,6 +43,7 @@ dependencies:
- taxonomy
- telephone_formatter
- user
- user_email_verification
- views_bulk_operations
- views_data_export
id: admin_users
@@ -2835,17 +2836,15 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
status:
id: status
table: users_field_data
field: status
verified:
id: verified
table: user_email_verification
field: verified
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: status
plugin_id: field
label: 'Statut de l''utilisateur'
plugin_id: boolean
label: 'Email Verified'
exclude: false
alter:
alter_text: false
@@ -2886,12 +2885,67 @@ display:
hide_empty: false
empty_zero: false
hide_alter_empty: true
type: unicode-yes-no
type_custom_true: ''
type_custom_false: ''
not: false
status:
id: status
table: users_field_data
field: status
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: status
plugin_id: field
label: 'Statut de l''utilisateur'
exclude: false
alter:
alter_text: true
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: boolean
settings:
format: default
format_custom_false: ''
format_custom_true: ''
format: unicode-yes-no
format_custom_false: '<span style="color:red;">✖</span>'
format_custom_true: '<span style="color:green;">✔</span>'
group_column: value
group_columns: { }
group_rows: true
@@ -3013,6 +3067,444 @@ display:
separator: ', '
custom_date_format: 'Y-m-d H:i'
timezone: ''
filters:
status:
id: status
table: users_field_data
field: status
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: status
plugin_id: boolean
operator: '='
value: All
group: 1
exposed: true
expose:
operator_id: ''
label: Active
description: ''
use_operator: false
operator: status_op
operator_limit_selection: false
operator_list: { }
identifier: status
required: false
remember: false
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: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
roles_target_id:
id: roles_target_id
table: user__roles
field: roles_target_id
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: roles
plugin_id: user_roles
operator: or
value: { }
group: 1
exposed: true
expose:
operator_id: roles_target_id_op
label: Roles
description: ''
use_operator: false
operator: roles_target_id_op
operator_limit_selection: false
operator_list: { }
identifier: roles_target_id
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
reduce_duplicates: false
field_member_type_value:
id: field_member_type_value
table: user__field_member_type
field: field_member_type_value
relationship: none
group_type: group
admin_label: ''
plugin_id: list_field
operator: or
value:
all: all
0: '0'
1: '1'
2: '2'
group: 1
exposed: true
expose:
operator_id: field_member_type_value_op
label: 'Member Type'
description: ''
use_operator: false
operator: field_member_type_value_op
operator_limit_selection: false
operator_list: { }
identifier: field_member_type_value
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
reduce_duplicates: false
mail:
id: mail
table: users_field_data
field: mail
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: mail_op
label: Email
description: ''
use_operator: false
operator: mail_op
operator_limit_selection: false
operator_list: { }
identifier: mail
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
uid:
id: uid
table: users_field_data
field: uid
relationship: none
group_type: group
admin_label: ''
entity_type: user
entity_field: uid
plugin_id: user_name
operator: in
value: { }
group: 1
exposed: true
expose:
operator_id: uid_op
label: Name
description: ''
use_operator: false
operator: uid_op
operator_limit_selection: false
operator_list: { }
identifier: uid
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
field_company_target_id:
id: field_company_target_id
table: user__field_company
field: field_company_target_id
relationship: none
group_type: group
admin_label: ''
plugin_id: taxonomy_index_tid
operator: or
value: { }
group: 1
exposed: true
expose:
operator_id: field_company_target_id_op
label: Company
description: ''
use_operator: false
operator: field_company_target_id_op
operator_limit_selection: false
operator_list: { }
identifier: field_company_target_id
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
reduce_duplicates: false
vid: company
type: textfield
hierarchy: false
limit: true
error_message: true
force_deepest: false
parent: 0
level_labels: ''
field_showroom_target_id:
id: field_showroom_target_id
table: user__field_showroom
field: field_showroom_target_id
relationship: none
group_type: group
admin_label: ''
plugin_id: taxonomy_index_tid
operator: or
value: { }
group: 1
exposed: true
expose:
operator_id: field_showroom_target_id_op
label: Showroom
description: ''
use_operator: false
operator: field_showroom_target_id_op
operator_limit_selection: false
operator_list: { }
identifier: field_showroom_target_id
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
reduce_duplicates: false
vid: showroom
type: textfield
hierarchy: false
limit: true
error_message: true
force_deepest: false
parent: 0
level_labels: ''
field_memo_value:
id: field_memo_value
table: user__field_memo
field: field_memo_value
relationship: none
group_type: group
admin_label: ''
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: field_memo_value_op
label: Memo
description: ''
use_operator: false
operator: field_memo_value_op
operator_limit_selection: false
operator_list: { }
identifier: field_memo_value
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
filter_groups:
operator: AND
groups:
1: AND
style:
type: table
options:
@@ -3031,6 +3523,7 @@ display:
access: access
created: created
field_memo: field_memo
verified: verified
status: status
record_id: record_id
role_expire_expiry_data: role_expire_expiry_data
@@ -3109,6 +3602,13 @@ display:
separator: ''
empty_column: false
responsive: ''
verified:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
status:
sortable: false
default_sort_order: asc
@@ -3131,7 +3631,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -3143,6 +3643,8 @@ display:
style: false
row: false
fields: false
filters: false
filter_groups: false
display_description: ''
display_extenders:
views_ef_fieldset:
@@ -4334,7 +4836,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -5554,7 +6056,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -6934,7 +7436,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''
@@ -8015,7 +8517,7 @@ display:
empty_column: false
responsive: ''
override: true
sticky: false
sticky: true
summary: ''
empty_table: false
caption: ''

View File

@@ -361,6 +361,8 @@ display:
settings:
image_link: ''
image_style: article_card_medium
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true

View File

@@ -469,7 +469,7 @@ display:
click_sort_column: value
type: timestamp
settings:
date_format: custom
date_format: short
custom_date_format: 'M jS Y H:i:s'
timezone: ''
group_column: value
@@ -536,7 +536,7 @@ display:
click_sort_column: value
type: timestamp
settings:
date_format: custom
date_format: short
custom_date_format: 'M jS Y H:i:s'
timezone: ''
group_column: value
@@ -625,7 +625,7 @@ display:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button: true
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
@@ -698,6 +698,58 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: mail_op
label: Courriel
description: ''
use_operator: false
operator: mail_op
operator_limit_selection: false
operator_list: { }
identifier: mail
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
state:
id: state
table: commerce_subscription
@@ -741,6 +793,122 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
starts:
id: starts
table: commerce_subscription
field: starts
relationship: none
group_type: group
admin_label: ''
entity_type: commerce_subscription
entity_field: starts
plugin_id: date
operator: between
value:
min: ''
max: ''
value: ''
type: date
group: 1
exposed: true
expose:
operator_id: starts_op
label: Starts
description: ''
use_operator: false
operator: starts_op
operator_limit_selection: false
operator_list: { }
identifier: starts
required: false
remember: false
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: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
ends:
id: ends
table: commerce_subscription
field: ends
relationship: none
group_type: group
admin_label: ''
entity_type: commerce_subscription
entity_field: ends
plugin_id: date
operator: between
value:
min: ''
max: ''
value: ''
type: date
group: 1
exposed: true
expose:
operator_id: ends_op
label: Ends
description: ''
use_operator: false
operator: ends_op
operator_limit_selection: false
operator_list: { }
identifier: ends
required: false
remember: false
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: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
filter_groups:
operator: AND
groups:
@@ -854,7 +1022,70 @@ display:
required: false
header: { }
footer: { }
display_extenders: { }
display_extenders:
views_ef_fieldset:
views_ef_fieldset:
enabled: 0
options:
sort:
root:
container_type: details
title: Filtres
description: ''
open: '1'
weight: '0'
id: root
pid: ''
depth: '0'
type: container
uid:
weight: '-6'
id: uid
pid: root
depth: '1'
type: filter
state:
weight: '-6'
id: state
pid: root
depth: '1'
type: filter
submit:
weight: '-6'
id: submit
pid: root
depth: '1'
type: buttons
container-0:
container_type: details
title: 'Container 0'
description: ''
weight: '-5'
open: 0
id: container-0
pid: root
depth: '1'
type: container
container-1:
container_type: details
title: 'Container 1'
description: ''
weight: '-4'
open: 0
id: container-1
pid: root
depth: '1'
type: container
container-2:
container_type: details
title: 'Container 2'
description: ''
weight: '-3'
open: 0
id: container-2
pid: root
depth: '1'
type: container
cache_metadata:
max-age: -1
contexts:

View File

@@ -82,6 +82,8 @@ display:
settings:
image_link: ''
image_style: card_small
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true

View File

@@ -10,8 +10,10 @@ dependencies:
- commerce
- commerce_license
- options
- pagerer
- state_machine
- user
- views_conditional
id: licences
label: Licences
module: views
@@ -418,7 +420,74 @@ display:
entity_field: expires
plugin_id: field
label: Expire
exclude: false
exclude: true
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: 'no expiration'
hide_empty: false
empty_zero: true
hide_alter_empty: true
click_sort_column: value
type: timestamp
settings:
date_format: medium
custom_date_format: ''
timezone: ''
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
expires_1:
id: expires_1
table: commerce_license
field: expires
relationship: none
group_type: group
admin_label: ''
entity_type: commerce_license
entity_field: expires
plugin_id: field
label: 'Expire year'
exclude: true
alter:
alter_text: false
text: ''
@@ -461,7 +530,7 @@ display:
click_sort_column: value
type: timestamp
settings:
date_format: medium
date_format: html_year
custom_date_format: ''
timezone: ''
group_column: value
@@ -474,6 +543,63 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
views_conditional_field:
id: views_conditional_field
table: views_conditional
field: views_conditional_field
relationship: none
group_type: group
admin_label: ''
plugin_id: views_conditional_field
label: Expiration
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
if: expires_1
condition: eq
equalto: '1970'
then: 'no expiration'
then_translate: 1
or: '{{ expires }}'
or_translate: 1
strip_tags: 0
license_role_target_id:
id: license_role_target_id
table: commerce_license__license_role
@@ -540,28 +666,26 @@ display:
separator: ', '
field_api_classes: false
pager:
type: mini
type: pagerer
options:
offset: 0
items_per_page: 20
total_pages: null
id: 0
tags:
next:
previous:
items_per_page: 50
preset: default
id: '0'
total_pages: ''
expose:
items_per_page: false
items_per_page: 0
items_per_page_label: 'Éléments par page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all: 0
items_per_page_options_all_label: '- Tout -'
offset: false
offset: 0
offset_label: Décalage
exposed_form:
type: basic
options:
submit_button: Appliquer
reset_button: false
reset_button: true
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
expose_sort_order: true
@@ -589,9 +713,126 @@ display:
plugin_id: commerce_entity_bundle
value:
role: role
group: 1
expose:
operator_limit_selection: false
operator_list: { }
granted:
id: granted
table: commerce_license
field: granted
relationship: none
group_type: group
admin_label: ''
entity_type: commerce_license
entity_field: granted
plugin_id: date
operator: between
value:
min: ''
max: ''
value: ''
type: date
group: 1
exposed: true
expose:
operator_id: granted_op
label: Accordé(e)
description: ''
use_operator: false
operator: granted_op
operator_limit_selection: false
operator_list: { }
identifier: granted
required: false
remember: false
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: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
expires:
id: expires
table: commerce_license
field: expires
relationship: none
group_type: group
admin_label: ''
entity_type: commerce_license
entity_field: expires
plugin_id: date
operator: between
value:
min: ''
max: ''
value: ''
type: date
group: 1
exposed: true
expose:
operator_id: expires_op
label: Expire
description: ''
use_operator: false
operator: expires_op
operator_limit_selection: false
operator_list: { }
identifier: expires
required: false
remember: false
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: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
product_variation:
id: product_variation
table: commerce_license
@@ -701,6 +942,62 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: mail_op
label: Courriel
description: ''
use_operator: false
operator: mail_op
operator_limit_selection: false
operator_list: { }
identifier: mail
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
filter_groups:
operator: AND
groups:
1: AND
style:
type: table
options:
@@ -710,13 +1007,15 @@ display:
columns:
uid: uid
operations: uid
granted: granted
created: created
expires: expires
state: state
product_variation: product_variation
state: state
created: created
granted: granted
expires: expires
expires_1: expires_1
views_conditional_field: views_conditional_field
license_role_target_id: license_role_target_id
default: expires
default: granted
info:
uid:
sortable: false
@@ -730,22 +1029,8 @@ display:
separator: ''
empty_column: false
responsive: ''
granted:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
created:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
expires:
sortable: true
product_variation:
sortable: false
default_sort_order: asc
align: ''
separator: ''
@@ -758,13 +1043,39 @@ display:
separator: ''
empty_column: false
responsive: ''
product_variation:
created:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
granted:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
expires:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
expires_1:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
views_conditional_field:
align: ''
separator: ''
empty_column: false
responsive: ''
license_role_target_id:
sortable: false
default_sort_order: asc
@@ -788,10 +1099,126 @@ display:
distinct: false
replica: false
query_tags: { }
relationships: { }
header: { }
relationships:
uid:
id: uid
table: commerce_license
field: uid
relationship: none
group_type: group
admin_label: Utilisateur
entity_type: commerce_license
entity_field: uid
plugin_id: standard
required: true
header:
result:
id: result
table: views
field: result
relationship: none
group_type: group
admin_label: ''
plugin_id: result
empty: false
content: 'Affichage de @start à @end sur @total'
footer: { }
display_extenders: { }
display_extenders:
views_ef_fieldset:
views_ef_fieldset:
enabled: 0
options:
sort:
root:
container_type: details
title: Filtres
description: ''
open: '1'
weight: '0'
id: root
pid: ''
depth: '0'
type: container
expires:
weight: '-10'
id: expires
pid: root
depth: '1'
type: filter
product_variation:
weight: '-10'
id: product_variation
pid: root
depth: '1'
type: filter
state:
weight: '-10'
id: state
pid: root
depth: '1'
type: filter
mail:
weight: '-10'
id: mail
pid: root
depth: '1'
type: filter
submit:
weight: '-10'
id: submit
pid: root
depth: '1'
type: buttons
container-0:
container_type: details
title: 'Container 0'
description: ''
weight: '-9'
open: 0
id: container-0
pid: root
depth: '1'
type: container
container-1:
container_type: details
title: 'Container 1'
description: ''
weight: '-8'
open: 0
id: container-1
pid: root
depth: '1'
type: container
container-2:
container_type: details
title: 'Container 2'
description: ''
weight: '-7'
open: 0
id: container-2
pid: root
depth: '1'
type: container
container-3:
container_type: details
title: 'Container 3'
description: ''
weight: '-6'
open: 0
id: container-3
pid: root
depth: '1'
type: container
container-4:
container_type: details
title: 'Container 4'
description: ''
weight: '-5'
open: 0
id: container-4
pid: root
depth: '1'
type: container
cache_metadata:
max-age: -1
contexts:
@@ -814,7 +1241,7 @@ display:
type: normal
title: Licences
description: ''
weight: 3
weight: -44
expanded: false
menu_name: editors
parent: editors_menus.commerce

View File

@@ -140,6 +140,70 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: field
label: Email
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: basic_string
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
hostname:
id: hostname
table: login_history
@@ -316,7 +380,7 @@ display:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button: true
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
@@ -332,7 +396,59 @@ display:
empty: { }
sorts: { }
arguments: { }
filters: { }
filters:
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: mail_op
label: Email
description: ''
use_operator: false
operator: mail_op
operator_limit_selection: false
operator_list: { }
identifier: mail
required: false
remember: false
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:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
style:
type: table
options:
@@ -342,6 +458,7 @@ display:
columns:
login: login
name: name
mail: mail
hostname: hostname
one_time: one_time
user_agent: user_agent
@@ -361,6 +478,13 @@ display:
separator: ''
empty_column: false
responsive: ''
mail:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
hostname:
sortable: true
default_sort_order: asc
@@ -415,12 +539,60 @@ display:
required: false
header: { }
footer: { }
display_extenders: { }
display_extenders:
views_ef_fieldset:
views_ef_fieldset:
enabled: 0
options:
sort:
root:
container_type: details
title: Filters
description: ''
open: '1'
weight: '0'
id: root
pid: ''
depth: '0'
type: container
mail:
weight: '-4'
id: mail
pid: root
depth: '1'
type: filter
submit:
weight: '-4'
id: submit
pid: root
depth: '1'
type: buttons
container-0:
container_type: details
title: 'Container 0'
description: ''
weight: '-3'
open: 0
id: container-0
pid: root
depth: '1'
type: container
container-1:
container_type: details
title: 'Container 1'
description: ''
weight: '-2'
open: 0
id: container-1
pid: root
depth: '1'
type: container
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.permissions
tags: { }
@@ -438,6 +610,7 @@ display:
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.permissions
tags: { }

View File

@@ -8,7 +8,6 @@ dependencies:
- field.storage.taxonomy_term.field_public_phone
- field.storage.taxonomy_term.field_visuels
- field.storage.taxonomy_term.field_website
- image.style.card_big
- image.style.home_showroom
- system.menu.header
- taxonomy.vocabulary.showroom
@@ -584,6 +583,8 @@ display:
settings:
image_link: ''
image_style: home_showroom
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true
@@ -1131,7 +1132,9 @@ display:
type: image
settings:
image_link: ''
image_style: card_big
image_style: home_showroom
image_loading:
attribute: lazy
group_column: ''
group_columns: { }
group_rows: true

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,20 @@
<?php
/**
* This file is included very early. See autoload.files in composer.json and
* https://getcomposer.org/doc/04-schema.md#files
*/
use Dotenv\Dotenv;
use Dotenv\Exception\InvalidPathException;
/**
* Load any .env file. See /.env.example.
*/
$dotenv = new Dotenv(__DIR__);
$dotenv = Dotenv::createImmutable(__DIR__);
try {
$dotenv->load();
}
catch (InvalidPathException $e) {
// Do nothing. Production environments rarely use .env files.
}
}

View File

@@ -0,0 +1,98 @@
diff --git a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoad.php b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoad.php
index 867a28c..386b2b3 100644
--- a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoad.php
+++ b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoad.php
@@ -172,8 +172,10 @@ class EntityLoad extends DataProducerPluginBase implements ContainerFactoryPlugi
// Get the correct translation.
if (isset($language) && $language !== $entity->language()->getId() && $entity instanceof TranslatableInterface) {
- $entity = $entity->getTranslation($language);
- $entity->addCacheContexts(["static:language:{$language}"]);
+ if ($entity->hasTranslation($language)) {
+ $entity = $entity->getTranslation($language);
+ $entity->addCacheContexts(["static:language:{$language}"]);
+ }
}
// Check if the passed user (or current user if none is passed) has access
diff --git a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadByUuid.php b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadByUuid.php
index 10e2d40..e4e6ed0 100644
--- a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadByUuid.php
+++ b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadByUuid.php
@@ -165,8 +165,10 @@ class EntityLoadByUuid extends DataProducerPluginBase implements ContainerFactor
// Get the correct translation.
if (isset($language) && $language != $entity->language()->getId() && $entity instanceof TranslatableInterface) {
- $entity = $entity->getTranslation($language);
- $entity->addCacheContexts(["static:language:{$language}"]);
+ if ($entity->hasTranslation($language)) {
+ $entity = $entity->getTranslation($language);
+ $entity->addCacheContexts(["static:language:{$language}"]);
+ }
}
// Check if the passed user (or current user if none is passed) has access
diff --git a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadMultiple.php b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadMultiple.php
index 2a0259c..27a19e5 100644
--- a/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadMultiple.php
+++ b/src/Plugin/GraphQL/DataProducer/Entity/EntityLoadMultiple.php
@@ -172,8 +172,10 @@ class EntityLoadMultiple extends DataProducerPluginBase implements ContainerFact
}
if (isset($language) && $language !== $entities[$id]->language()->getId() && $entities[$id] instanceof TranslatableInterface) {
- $entities[$id] = $entities[$id]->getTranslation($language);
- $entities[$id]->addCacheContexts(["static:language:{$language}"]);
+ if ($entities[$id]->hasTranslation($language)) {
+ $entities[$id] = $entities[$id]->getTranslation($language);
+ $entities[$id]->addCacheContexts(["static:language:{$language}"]);
+ }
}
if ($access) {
diff --git a/src/Plugin/GraphQL/DataProducer/Entity/EntityTranslation.php b/src/Plugin/GraphQL/DataProducer/Entity/EntityTranslation.php
index 633bdc2..3773a9b 100644
--- a/src/Plugin/GraphQL/DataProducer/Entity/EntityTranslation.php
+++ b/src/Plugin/GraphQL/DataProducer/Entity/EntityTranslation.php
@@ -101,7 +101,7 @@ class EntityTranslation extends DataProducerPluginBase implements ContainerFacto
* @return \Drupal\Core\Entity\EntityInterface|null
*/
public function resolve(EntityInterface $entity, $language, ?bool $access, ?AccountInterface $accessUser, ?string $accessOperation) {
- if ($entity instanceof TranslatableInterface && $entity->isTranslatable()) {
+ if ($entity instanceof TranslatableInterface && $entity->isTranslatable() && $entity->hasTranslation($language)) {
$entity = $entity->getTranslation($language);
$entity->addCacheContexts(["static:language:{$language}"]);
// Check if the passed user (or current user if none is passed) has access
diff --git a/src/Plugin/GraphQL/DataProducer/Routing/RouteEntity.php b/src/Plugin/GraphQL/DataProducer/Routing/RouteEntity.php
index 10ea4e6..1eef22a 100644
--- a/src/Plugin/GraphQL/DataProducer/Routing/RouteEntity.php
+++ b/src/Plugin/GraphQL/DataProducer/Routing/RouteEntity.php
@@ -126,8 +126,10 @@ class RouteEntity extends DataProducerPluginBase implements ContainerFactoryPlug
// Get the correct translation.
if (isset($language) && $language != $entity->language()->getId() && $entity instanceof TranslatableInterface) {
- $entity = $entity->getTranslation($language);
- $entity->addCacheContexts(["static:language:{$language}"]);
+ if ($entity->hasTranslation($language)) {
+ $entity = $entity->getTranslation($language);
+ $entity->addCacheContexts(["static:language:{$language}"]);
+ }
}
$access = $entity->access('view', NULL, TRUE);
diff --git a/src/Plugin/GraphQL/DataProducer/Taxonomy/TaxonomyLoadTree.php b/src/Plugin/GraphQL/DataProducer/Taxonomy/TaxonomyLoadTree.php
index 1bcd624..8b2caf2 100644
--- a/src/Plugin/GraphQL/DataProducer/Taxonomy/TaxonomyLoadTree.php
+++ b/src/Plugin/GraphQL/DataProducer/Taxonomy/TaxonomyLoadTree.php
@@ -175,8 +175,10 @@ class TaxonomyLoadTree extends DataProducerPluginBase implements ContainerFactor
$context->addCacheableDependency($entities[$id]);
if (isset($language) && $language !== $entities[$id]->language()->getId() && $entities[$id] instanceof TranslatableInterface) {
- $entities[$id] = $entities[$id]->getTranslation($language);
- $entities[$id]->addCacheContexts(["static:language:{$language}"]);
+ if ($entities[$id]->hasTranslation($language)) {
+ $entities[$id] = $entities[$id]->getTranslation($language);
+ $entities[$id]->addCacheContexts(["static:language:{$language}"]);
+ }
}
if ($access) {

View File

@@ -32,6 +32,11 @@ AddEncoding gzip svgz
php_value assert.active 0
</IfModule>
# PHP 8, Apache 1 and 2.
<IfModule mod_php.c>
php_value assert.active 0
</IfModule>
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
# Enable expirations.

View File

@@ -167,10 +167,13 @@ type Showroom {
id: Int!
uuid: String!
name: String!
description: String
images: [Image]
email: String
address: Address
country: Country
phone: String
website: Link
}
type Company {
@@ -247,6 +250,8 @@ type Image {
style_articlecardmedium_url: String
style_hd: ImageStyle
style_hd_url: String
style_showroomhome: ImageStyle
style_showroomhome_url: String
}
type ImageStyle {

View File

@@ -26,6 +26,10 @@ extend type Query {
thematique(id: Int!, lang: String): Thematique
}
extend type Query {
allshowrooms(lang: String): [Showroom]
}
extend type Query {
showroom(id: Int!, lang: String): Showroom
}

View File

@@ -902,6 +902,22 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
})
));
$registry->addFieldResolver('Image', 'style_showroomhome',
$builder->produce('image_derivative')
->map('entity', $builder->fromParent())
->map('style', $builder->fromValue('home_showroom'))
);
$registry->addFieldResolver('Image', 'style_showroomhome_url',
$builder->compose(
$builder->produce('image_derivative')
->map('entity', $builder->fromParent())
->map('style', $builder->fromValue('home_showroom')),
$builder->callback(function($parent, $args){
return $parent['url'];
})
));
}
// __ ___ _ _ _ _
@@ -979,11 +995,31 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
// \__ \ ' \/ _ \ V V / '_/ _ \/ _ \ ' \
// |___/_||_\___/\_/\_/|_| \___/\___/_|_|_|
protected function addShowroom(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
$registry->addFieldResolver('Query', 'allshowrooms',
$builder->compose(
$builder->callback(function($parent, $arg){
$entity_storage = \Drupal::entityTypeManager()->getStorage('taxonomy_term');
$query = $entity_storage->getQuery()
->condition('vid', ['showroom'], 'IN')
->sort('tid')
->accessCheck(TRUE);
$results = $query->execute();
return $results;
}),
$builder->produce('entity_load_multiple')
->map('type', $builder->fromValue('taxonomy_term'))
->map('ids', $builder->fromParent())
->map('language', $builder->fromArgument('lang'))
)
);
$registry->addFieldResolver('Query', 'showroom',
$builder->produce('entity_load')
->map('type', $builder->fromValue('taxonomy_term'))
->map('bundles', $builder->fromValue(['showroom']))
->map('id', $builder->fromArgument('id'))
->map('language', $builder->fromArgument('lang'))
);
$registry->addFieldResolver('Showroom', 'id',
@@ -1001,6 +1037,12 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
->map('entity', $builder->fromParent())
);
$registry->addFieldResolver('Showroom', 'description',
$builder->callback(function($parent, $args){
return $parent->getDescription();
})
);
$registry->addFieldResolver('Showroom', 'email',
$builder->produce('property_path')
->map('type', $builder->fromValue('entity:taxonomy_term'))
@@ -1022,6 +1064,26 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
->map('path', $builder->fromValue('field_public_phone.value'))
);
$registry->addFieldResolver('Showroom', 'images',
$builder->produce('entity_reference')
->map('entity', $builder->fromParent())
->map('field', $builder->fromValue('field_visuels'))
);
$registry->addFieldResolver('Showroom', 'website',
$builder->produce('property_path')
->map('type', $builder->fromValue('entity:taxonomy_term'))
->map('value', $builder->fromParent())
->map('path', $builder->fromValue('field_website'))
);
$registry->addFieldResolver('Showroom', 'country',
$builder->produce('property_path')
->map('type', $builder->fromValue('entity:taxonomy_term'))
->map('value', $builder->fromParent())
->map('path', $builder->fromValue('field_public_address'))
);
}
// _ _ _

View File

@@ -43,8 +43,19 @@ class Base extends ControllerBase {
'uuids' => [],
'nids' => []
];
// PHRASE QUERY
// ,---.| ,---.
// |---'|---.,---.,---.,---.,---. | |. .,---.,---., .
// | | || ,---|`---.|---' | || ||---'| | |
// ` ` '` `---^`---'`---' `---\`---'`---'` `---|
// `---'
// (to match exact materials names (like "wood-skin"))
$this->phrase_query = $this->index->query(['offset'=>0,'limit'=>10000]);
// set parse mode and conjunction
@@ -82,7 +93,12 @@ class Base extends ControllerBase {
}
// AND QUERY
// ,---. | ,---.
// |---|,---.,---| | |. .,---.,---., .
// | || || | | || ||---'| | |
// ` '` '`---' `---\`---'`---'` `---|
// `---'
$this->and_query = $this->index->query(['offset'=>0,'limit'=>10000]);
// set parse mode and conjunction
$parse_mode = \Drupal::service('plugin.manager.search_api.parse_mode')
@@ -95,7 +111,7 @@ class Base extends ControllerBase {
}
// in case of term id provided restrict the keys to taxo fields
if ($this->terms && count($this->terms)) {
if ($this->terms && is_array($this->terms) && count($this->terms)) {
$term_conditions = $this->and_query->createConditionGroup('OR');
// $term = (int) $this->term;
foreach ($this->terms as $term) {
@@ -191,9 +207,12 @@ class Base extends ControllerBase {
$this->exactematch_count = count($this->results['nids']);
//
// OR QUERY
//
// ,---. ,---.
// | |,---. | |. .,---.,---., .
// | || | || ||---'| | |
// `---'` `---\`---'`---'` `---|
// `---'
$this->or_query = $this->index->query(['offset'=>0,'limit'=>10000]);
// Change the parse mode for the search.

View File

@@ -93,6 +93,21 @@ parameters:
# Disabling the Twig cache is not recommended in production environments.
# @default true
cache: true
# File extensions:
#
# List of file extensions the Twig system is allowed to load via the
# twig.loader.filesystem service. Files with other extensions will not be
# loaded unless they are added here. For example, to allow a file named
# 'example.partial' to be loaded, add 'partial' to this list. To load files
# with no extension, add an empty string '' to the list.
#
# @default ['css', 'html', 'js', 'svg', 'twig']
allowed_file_extensions:
- css
- html
- js
- svg
- twig
renderer.config:
# Renderer required cache contexts:
#

View File

@@ -170,9 +170,9 @@ $databases = [];
* information on these defaults and the potential issues.
*
* More details can be found in the constructor methods for each driver:
* - \Drupal\Core\Database\Driver\mysql\Connection::__construct()
* - \Drupal\Core\Database\Driver\pgsql\Connection::__construct()
* - \Drupal\Core\Database\Driver\sqlite\Connection::__construct()
* - \Drupal\mysql\Driver\Database\mysql\Connection::__construct()
* - \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct()
* - \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct()
*
* Sample Database configuration format for PostgreSQL (pgsql):
* @code
@@ -490,6 +490,29 @@ $settings['update_free_access'] = FALSE;
*/
# $settings['file_public_path'] = 'sites/default/files';
/**
* Additional public file schemes:
*
* Public schemes are URI schemes that allow download access to all users for
* all files within that scheme.
*
* The "public" scheme is always public, and the "private" scheme is always
* private, but other schemes, such as "https", "s3", "example", or others,
* can be either public or private depending on the site. By default, they're
* private, and access to individual files is controlled via
* hook_file_download().
*
* Typically, if a scheme should be public, a module makes it public by
* implementing hook_file_download(), and granting access to all users for all
* files. This could be either the same module that provides the stream wrapper
* for the scheme, or a different module that decides to make the scheme
* public. However, in cases where a site needs to make a scheme public, but
* is unable to add code in a module to do so, the scheme may be added to this
* variable, the result of which is that system_file_download() grants public
* access to all files within that scheme.
*/
# $settings['file_additional_public_schemes'] = ['example'];
/**
* Private file path:
*
@@ -703,6 +726,8 @@ $settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml';
* @endcode
* will allow the site to run off of all variants of example.com and
* example.org, with all subdomains included.
*
* @see https://www.drupal.org/docs/installing-drupal/trusted-host-settings
*/
/**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(self.webpackChunkmaterio_com=self.webpackChunkmaterio_com||[]).push([[204],{281:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var o=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{attrs:{id:"showrooms"}},[e.items.length?e._l(e.items,(function(e){return s("Showroom",{key:e.uuid,attrs:{item:e}})})):s("div",{staticClass:"loading"},[s("span",[e._v(e._s(e.$t("default.Loading…")))])])],2)};o._withStripped=!0;var i=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("article",{staticClass:"showroom"},[s("section",{directives:[{name:"switcher",rawName:"v-switcher"}],staticClass:"images"},e._l(e.item.images,(function(t,o){return s("figure",{directives:[{name:"lazy",rawName:"v-lazy",value:o,expression:"index"}],key:t.url,staticClass:"lazy"},[s("img",{attrs:{"data-src":t.style_showroomhome.url},on:{click:function(t){return e.setLightBox(o)}}})])})),0),e._v(" "),s("section",{staticClass:"content"},[s("header",[s("h1",[e._v(e._s(e.item.name))])]),e._v(" "),s("section",{staticClass:"description",domProps:{innerHTML:e._s(e.item.description)}}),e._v(" "),s("address",[e.item.address.organization?s("span",[e._v(e._s(e.item.address.organization)),s("br")]):e._e(),e._v(" "),e.item.address.address_line1?s("span",[e._v(e._s(e.item.address.address_line1)),s("br")]):e._e(),e._v(" "),e.item.address.locality?s("span",[e._v(e._s(e.item.address.locality)),s("br")]):e._e(),e._v(" "),e.item.country.country_name?s("span",[e._v(e._s(e.item.country.country_name))]):e._e()]),e._v(" "),s("div",{staticClass:"phone",domProps:{innerHTML:e._s(e.item.phone)}}),e._v(" "),s("a",{staticClass:"email",attrs:{href:"mailto:"+e.item.email},domProps:{innerHTML:e._s(e.item.email)}}),e._v(" "),s("div",{staticClass:"website"},[s("a",{attrs:{_target:"_blank",href:e.item.website.url}},[e._v(e._s(e.item.website.title))])])])])};i._withStripped=!0;var r=s(629),a=s(4408),n=s(8357);drupalSettings.path.baseUrl,drupalSettings.path.pathPrefix;const m={name:"Showroom",router:a.Z,mixins:[n.Z],props:["item"],computed:{...(0,r.rn)({coolLightBoxItems:e=>e.Common.coolLightBoxItems,coolLightBoxIndex:e=>e.Common.coolLightBoxIndex})},methods:{...(0,r.nv)({setcoolLightBoxItems:"Common/setcoolLightBoxItems",setcoolLightBoxIndex:"Common/setcoolLightBoxIndex"}),setLightBox(e){this.setcoolLightBoxItems(this.item.images),this.setcoolLightBoxIndex(e)}}};var l=s(1900),c=(0,l.Z)(m,i,[],!1,null,"695652b0",null);c.options.__file="web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue";const h=c.exports,d={name:"Showrooms",computed:{...(0,r.rn)({items:e=>e.Showrooms.items})},created(){this.items.length||this.getShowrooms()},methods:{...(0,r.nv)({getShowrooms:"Showrooms/getShowrooms"})},components:{Showroom:h}};var _=(0,l.Z)(d,o,[],!1,null,"7566e5fe",null);_.options.__file="web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue";const u=_.exports}}]);

View File

@@ -1 +0,0 @@
(self.webpackChunkmaterio_com=self.webpackChunkmaterio_com||[]).push([[204],{281:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var o=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{attrs:{id:"showrooms"}},[e.items.length?e._l(e.items,(function(e){return s("Showroom",{key:e.uuid,attrs:{item:e}})})):s("div",{staticClass:"loading"},[s("span",[e._v(e._s(e.$t("default.Loading…")))])])],2)};o._withStripped=!0;var i=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("article",{staticClass:"showroom"},[s("header",[s("h1",{domProps:{innerHTML:e._s(e.item.name)}})]),e._v(" "),s("section",{staticClass:"images"},[s("figure",{domProps:{innerHTML:e._s(e.item.field_visuels)}})]),e._v(" "),s("section",{staticClass:"content"},[s("address",{domProps:{innerHTML:e._s(e.item.field_public_address)}}),e._v(" "),s("div",{staticClass:"phone",domProps:{innerHTML:e._s(e.item.field_public_phone)}}),e._v(" "),s("a",{staticClass:"email",attrs:{href:"mailto:"+e.item.field_public_email},domProps:{innerHTML:e._s(e.item.field_public_email)}}),e._v(" "),s("div",{staticClass:"website",domProps:{innerHTML:e._s(e.item.field_website)}})])])};i._withStripped=!0;var r=s(4408);drupalSettings.path.baseUrl,drupalSettings.path.pathPrefix;const n={name:"Showroom",router:r.Z,props:["item"]};var m=s(1900),a=(0,m.Z)(n,i,[],!1,null,"695652b0",null);a.options.__file="web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue";const l=a.exports;var c=s(629);const _={name:"Showrooms",computed:{...(0,c.rn)({items:e=>e.Showrooms.items})},created(){this.items.length||this.getItems()},methods:{...(0,c.nv)({getItems:"Showrooms/getItems"})},components:{Showroom:l}};var d=(0,m.Z)(_,o,[],!1,null,"7566e5fe",null);d.options.__file="web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue";const p=d.exports}}]);

View File

@@ -50,6 +50,7 @@ import VMainContent from 'vuejs/components/Content/MainContent'
import VSearchBlock from 'vuejs/components/Block/SearchBlock'
import VLeftContent from 'vuejs/components/Content/LeftContent'
import VHeaderMenu from 'vuejs/components/Content/HeaderMenu'
import VLanguageSwitcher from 'vuejs/components/Content/LanguageSwitcher'
import GlobCoolLightBox from 'vuejs/components/Content/GlobCoolLightBox'
import { mapState } from 'vuex'
@@ -62,7 +63,7 @@ import 'theme/assets/styles/print.scss'
import MA from 'vuejs/api/ma-axios'
export let _v_sitebranding_block, _v_user_block, _v_header_menu,
export let _v_sitebranding_block, _v_user_block, _v_header_menu, _v_language_switcher,
_v_pagetitle_block, _v_search_block,
_v_main_content, _v_left_content,
_v_glob_coollightbox
@@ -119,6 +120,7 @@ export let _v_sitebranding_block, _v_user_block, _v_header_menu,
initVSiteBrandingBlock()
initVPagetitleBlock()
initVHeaderMenu()
initVLanguageSwitcher()
initHamburgerMenu()
initVSearchBlock()
initVMainContent()
@@ -140,7 +142,7 @@ export let _v_sitebranding_block, _v_user_block, _v_header_menu,
}
function initVStore () {
store.dispatch('Showrooms/getItems')
store.dispatch('Showrooms/getShowrooms')
}
function initVRouter () {
@@ -206,6 +208,21 @@ export let _v_sitebranding_block, _v_user_block, _v_header_menu,
})
}
function initVLanguageSwitcher () {
console.log('initVLanguageSwitcher')
const id = 'block-languageswitcher'
const $html_obj = document.querySelector('#' + id)
console.log('initVLanguageSwitcher $html_obj', $html_obj)
const html = $html_obj.outerHTML
console.log('initVLanguageSwitcher html', html)
_v_language_switcher = new Vue({
store,
i18n,
router,
render: h => h(VLanguageSwitcher, { props: { id: id, dom_html: html } })
}).$mount('#' + id)
}
function updateLanguageLinksBlock (path) {
// update block language selection
console.log('router beforeEach path ', path)

View File

@@ -2158,6 +2158,7 @@ article.card{
margin:0 $column_goutiere 0 0;
img{
width:100%;
cursor: pointer;
}
}
}
@@ -2178,6 +2179,7 @@ article.card{
margin:0 $column_goutiere $column_goutiere*0.6 0;
height:$card_height / 2;
background-size: cover;
cursor: pointer;
}
@include col-mediaquery-max(3){
display: flex;
@@ -2304,22 +2306,57 @@ article.card{
#showrooms{
width: calc(100% + #{$column_goutiere});
article.showroom{
width: $column_width * 2 + $column_goutiere;
display: inline-block;
vertical-align: top;
margin: 0 $column_goutiere $column_goutiere 0;
h1{
margin:0;
font-weight: 4;
display: flex;
flex-direction: row;
margin-bottom: 1em;
section.images{
flex:0 0 auto;
}
p{ margin:0; }
figure{
margin:0;
img{
max-width: 100%;
section.content{
flex:0 0 100%;
padding: 0 1em;
}
section.images{
position: relative;
width: 800px;
height: 450px;
*{width: 100%; height:100%;}
figure{
cursor: pointer;
margin:0;
position: absolute;
top:0; left:0;
background-color: #fff;
// width: 100%; height:100%;
&:first-of-type{
z-index:5
}
transition: opacity 0.2s ease-in-out;
&.show{opacity: 1; z-index:6;}
&.hide{opacity: 0;}
img{
// width: 100%; height:100%;
&.blank{
position: absolute;
top:0; left:0;
z-index: 20;
}
}
}
}
section.content{
h1{
margin:0;
font-weight: 4;
}
p{
margin:0 0 1em 0!important;
max-width: 30em;
}
}
}
}

View File

@@ -0,0 +1,44 @@
{#
/**
* @file
* Theme override to display a block.
*
* Available variables:
* - plugin_id: The ID of the block implementation.
* - label: The configured label of the block if visible.
* - configuration: A list of the block's configuration values.
* - label: The configured label for the block.
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
*
* @see template_preprocess_block()
*/
#}
{%
set classes = [
'block',
'block-' ~ configuration.provider|clean_class,
'block-' ~ plugin_id|clean_class,
]
%}
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }} v-touch.prevent.stop="onTapLanguageSwitcher">{{ label }}</h2>
{% endif %}
{{ title_suffix }}
{% block content %}
{{ content }}
{% endblock %}
</div>

View File

@@ -35,7 +35,7 @@
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }}>{{ label }}</h2>
<h2{{ title_attributes }} v-touch.prevent.stop="onTapLoginBlock">{{ label }}</h2>
{% endif %}
{{ title_suffix }}
<section>

View File

@@ -34,7 +34,8 @@
{{ content.field_visuels }}
</div>
<section class="text">
<h2><a href="{{ url }}">{{ name }}</a></h2>
{# <h2><a href="{{ url }}">{{ name }}</a></h2> #}
<h2>{{ name }}</h2>
{{ content|without('field_visuels') }}
</section>
</div>

View File

@@ -0,0 +1,42 @@
fragment ShowroomFields on Showroom {
uuid
id
name
description
images {
alt
id
style_showroomhome {
height
url
width
}
style_showroomhome_url
url
}
website {
title
url
}
phone
email
country {
country_code
country_name
}
address {
additional_name
address_line1
address_line2
administrative_area
dependent_locality
country_code
family_name
given_name
langcode
locality
organization
postal_code
sorting_code
}
}

View File

@@ -26,19 +26,19 @@ export default {
userLogin: 'User/userLogin',
openCloseHamMenu: 'Common/openCloseHamMenu'
}),
onTapLoginBlock (e) {
console.log('onTapLoginBlock', e)
let tapped = e.target.parentNode.parentNode.querySelectorAll('.tapped')
tapped.forEach((item, i) => {
item.classList.remove('tapped')
})
e.target.parentNode.classList.add('tapped')
},
login () {
this.userLogin({
mail: this.mail,
pass: this.password
})
// moved to user.js store
// .then(() => {
// console.log('LoginBlock user logged-in')
// this.openCloseHamMenu(false)
// this.$router.push({
// name: 'base'
// })
// })
}
},
beforeMount() {

View File

@@ -54,7 +54,14 @@ export default {
// console.log("Clicked on header menu link", event)
const href = event.target.getAttribute('href')
// this.openCloseHamMenu(false)
this.$router.push(href)
// this.$router.push({name:'base', query:{
// keys:this.typed,
// // terms:this.autocomplete.join(','),
// terms: JSON.stringify(this.autocomplete),
// filters:filters.join(',')
// }})
this.$router.push({path: href, query: {}})
}
},
render(h) {

View File

@@ -0,0 +1,59 @@
<script>
import Vue from 'vue'
import router from 'vuejs/route'
export default {
name: "LanguageSwitcher",
router,
props:['id','dom_html'],
data() {
return {
html: null,
template: null
}
},
beforeMount() {
console.log("beforeMount languageSwitcher", this.dom_html)
if (!this.template) {
console.log('no languageswitcher template')
if (this.dom_html) { // if html prop is available
this.html = this.dom_html
this.compileTemplate()
}
}
},
methods: {
compileTemplate(){
console.log("languageSwitcher compileTemplate html", this.html)
this.template = Vue.compile(this.html)
// https://github.com/vuejs/vue/issues/9911
this.$options.staticRenderFns = [];
this._staticTrees = [];
this.template.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));
console.log("languageSwitcher compileTemplate template", this.template)
},
onTapLanguageSwitcher (e) {
console.log('onTapLanguageSwitcher', e)
let tapped = e.target.parentNode.parentNode.querySelectorAll('.tapped')
tapped.forEach((item, i) => {
item.classList.remove('tapped')
})
e.target.parentNode.classList.add('tapped')
}
},
render(h) {
console.log('languageswitcher render')
if (!this.template) {
return h('span', $t('default.Loading…'))
} else {
return this.template.render.call(this)
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -275,7 +275,7 @@
<img
class="blank"
:src="blanksrc"
@click="setcoolLightBoxIndex(index)"
@click="setLightBox(index)"
>
</figure>
</section>
@@ -589,6 +589,10 @@ export default {
console.log('item', item)
item.classList.remove('tapped')
})
},
setLightBox(index){
this.setcoolLightBoxItems(this.material.images)
this.setcoolLightBoxIndex(index)
}
}
}

View File

@@ -1,36 +1,76 @@
<template>
<article class="showroom">
<header>
<h1 v-html="item.name" />
</header>
<section class="images">
<figure v-html="item.field_visuels"></figure>
<section class="images" v-switcher>
<!-- <figure v-html="item.field_visuels"></figure> -->
<figure
v-for="(img, index) in item.images"
:key="img.url"
class="lazy"
v-lazy="index"
>
<img
:data-src="img.style_showroomhome.url"
@click="setLightBox(index)"
/>
</figure>
</section>
<section class="content">
<address v-html="item.field_public_address" />
<div class="phone" v-html="item.field_public_phone" />
<a class="email" :href="'mailto:'+item.field_public_email" v-html="item.field_public_email" />
<div class="website" v-html="item.field_website" />
<header>
<h1>{{item.name}}</h1>
</header>
<section class="description" v-html="item.description" />
<address>
<span v-if="item.address.organization">{{ item.address.organization }}</br></span>
<span v-if="item.address.address_line1">{{ item.address.address_line1 }}</br></span>
<span v-if="item.address.locality">{{ item.address.locality }}</br></span>
<span v-if="item.country.country_name">{{ item.country.country_name }}</span>
</address>
<div class="phone" v-html="item.phone" />
<a class="email" :href="'mailto:'+item.email" v-html="item.email" />
<div class="website">
<a _target="_blank" :href="item.website.url">{{ item.website.title }}</a>
</div>
</section>
</article>
</template>
<script>
import { mapState, mapActions } from 'vuex'
// import JSONAPI from 'vuejs/api/json-axios'
import router from 'vuejs/route'
import cardMixins from 'vuejs/components/cardMixins'
let basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;
export default {
name: "Showroom",
router,
mixins: [cardMixins],
props: ['item'],
// data(){
// return {
// alias: this.item.view_node.replace(/^.?\/showroom\//g, '')
// }
// },
// methods:{}
computed: {
...mapState({
coolLightBoxItems: state => state.Common.coolLightBoxItems,
coolLightBoxIndex: state => state.Common.coolLightBoxIndex
}),
},
methods:{
...mapActions({
setcoolLightBoxItems: 'Common/setcoolLightBoxItems',
setcoolLightBoxIndex: 'Common/setcoolLightBoxIndex'
}),
setLightBox (index) {
this.setcoolLightBoxItems(this.item.images)
this.setcoolLightBoxIndex(index)
}
}
}
</script>

View File

@@ -123,9 +123,16 @@ export default {
},
watch: {
typed(n, o){
console.log('watch typed changed o:' + o + ' n:' +n)
console.log(`watch typed changed o:(${typeof o})${o} | n:(${typeof n})${n}`, o, n)
// if (typeof n === 'string') {
// // remove terms from autocomplete if removed from typed
// const r = /,\s?$/ // remove last comma space
// let tag_list = n.replace(r,'').split(', ')
// }else{
// let tag_list = n
// }
// remove terms from autocomplete if removed from typed
const r = /,\s?$/
const r = /,\s?$/ // remove last comma space
let tag_list = n.replace(r,'').split(', ')
console.log('watch typed tag_list', tag_list)
console.log('watch typed autocomplete before', this.autocomplete)
@@ -136,11 +143,11 @@ export default {
}
});
console.log('watch typed autocomplete after', this.autocomplete)
}
// keys(n, o){
// console.log('watch keys changed', o, n)
// this.typed = n
// },
},
keys(n, o){
console.log('watch keys changed', o, n)
this.typed = n.length ? n.join(', ') + ', ' : ''
},
// terms(n, o){
// // if term change from store
// console.log('watch terms changed', o, n)

View File

@@ -31,7 +31,7 @@
:src="image_accroche.url"
:alt="image_accroche.alt"
:title="image_accroche.title"
@click="setLightboxIndex(0)"
@click="setLightBox(0)"
/>
</figure>
</section>
@@ -62,20 +62,13 @@
</div> <!-- //col-left -->
<div class="col col-right">
<section class="body" v-html="article.body"></section>
<CoolLightBox
:items="lightbox_items"
:index="lightbox_index"
:loop="true"
srcName="url"
@close="lightbox_index = null">
</CoolLightBox>
<div class="gallery-wrapper">
<div
class="image"
v-for="(image, imageIndex) in lightbox_items"
v-if="imageIndex > 0"
:key="imageIndex"
@click="setLightboxIndex(imageIndex)"
@click="setLightBox(imageIndex)"
:style="{ backgroundImage: 'url(' + image.thumb + ')' }"
></div>
</div>
@@ -156,7 +149,9 @@ export default {
},
computed: {
...mapState({
items: state => state.Blabla.items
items: state => state.Blabla.items,
coolLightBoxItems: state => state.Common.coolLightBoxItems,
coolLightBoxIndex: state => state.Common.coolLightBoxIndex
})
},
created(){
@@ -166,7 +161,9 @@ export default {
...mapActions({
getItems: 'Blabla/getItems',
getItemIndex: 'Blabla/getItemIndex',
getPrevNextItems: 'Blabla/getPrevNextItems'
getPrevNextItems: 'Blabla/getPrevNextItems',
setcoolLightBoxItems: 'Common/setcoolLightBoxItems',
setcoolLightBoxIndex: 'Common/setcoolLightBoxIndex'
}),
getArticle(){
console.log('getArticle', this.$route)
@@ -278,6 +275,7 @@ export default {
}
console.log('Article this.content.lightbox_items', this.lightbox_items)
this.setcoolLightBoxItems(this.lightbox_items)
// update main page title
this.$store.commit('Common/setPagetitle', article.title)
@@ -294,8 +292,9 @@ export default {
params: { alias:alias, id: pn.nid }
})
},
setLightboxIndex(index) {
this.lightbox_index = index
setLightBox(index){
this.setcoolLightBoxItems(this.lightbox_items)
this.setcoolLightBoxIndex(index)
}
},
components: {

View File

@@ -72,7 +72,7 @@ export default {
this.$store.commit('Search/setKeys', keys)
this.pagetitle = keys.join(', ') //params.get('keys')
} else {
this.$store.commit('Search/setKeys', '')
this.$store.commit('Search/reSetKeys')
this.pagetitle = 'Base'
}
@@ -81,13 +81,13 @@ export default {
// this.$store.commit('Search/setTerms', params.get('terms').split(','))
this.$store.commit('Search/setTerms', JSON.parse(params.get('terms')))
} else {
this.$store.commit('Search/setTerms', [])
this.$store.commit('Search/reSetTerms')
}
if (params.has('filters')) {
this.$store.commit('Search/setFilters', params.get('filters').split(','))
} else {
this.$store.commit('Search/setFilters', [])
this.$store.commit('Search/reSetFilters')
}
this.newSearch()
@@ -95,16 +95,27 @@ export default {
beforeRouteUpdate (to, from, next) {
// when query change launch a new search
console.log('Base beforeRouteUpdate', to, from, next)
// todo text field of search form is not emptying on clicking on base after a search
// this.$store.commit('Search/setKeys', to.query.keys)
const r = /,\s?$/
let keys = to.query.keys.replace(r,'').split(', ')
console.log('Base created, keys', keys)
this.$store.commit('Search/setKeys', keys)
this.$store.commit('Search/setTerms', to.query.terms)
this.$store.commit('Search/setFilters', to.query.filters)
this.pagetitle = to.query.keys
if (to.query.hasOwnProperty('terms')) {
this.$store.commit('Search/setTerms', to.query.terms)
}else{
this.$store.commit('Search/reSetTerms')
}
if (to.query.hasOwnProperty('filters')) {
this.$store.commit('Search/setFilters', to.query.filters)
}else{
this.$store.commit('Search/reSetFilters')
}
if (to.query.hasOwnProperty('keys')) {
const r = /,\s?$/
let keys = to.query.keys.replace(r,'').split(', ')
console.log('Base created, keys', keys)
this.$store.commit('Search/setKeys', keys)
this.pagetitle = to.query.keys
}else{
this.$store.commit('Search/reSetKeys')
}
this.newSearch()
next()
},

View File

@@ -32,11 +32,11 @@ export default {
},
created(){
if(!this.items.length)
this.getItems()
this.getShowrooms()
},
methods: {
...mapActions({
getItems: 'Showrooms/getItems'
getShowrooms: 'Showrooms/getShowrooms'
})
},
components: {

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