diff --git a/commerce-graph.dot b/commerce-graph.dot
new file mode 100644
index 00000000..47db6a96
--- /dev/null
+++ b/commerce-graph.dot
@@ -0,0 +1,17 @@
+digraph commerce {
+ materio_checkout_flow
+ materio_order_type
+ materio_order_item_type
+ materio_product_licence_variatio[label=no subscription>]
+ materio_product_variation_type[label=recurring>]
+
+ materio_product_type
+ materio_product_license_type
+
+ materio_order_type -> materio_checkout_flow
+ materio_order_item_type -> materio_order_type
+ materio_product_licence_variatio -> materio_order_item_type
+ materio_product_variation_type -> materio_order_item_type
+ materio_product_type -> materio_product_variation_type
+ materio_product_license_type -> materio_product_licence_variatio
+}
\ No newline at end of file
diff --git a/composer.json b/composer.json
index fa1437d1..60236eb2 100644
--- a/composer.json
+++ b/composer.json
@@ -74,7 +74,7 @@
"drupal/ckeditor_font": "^1.2",
"drupal/ckeditor_uploadimage": "^2.0",
"drupal/colorbutton": "^1.3",
- "drupal/commerce": "^2.29.0",
+ "drupal/commerce": "2.x-dev@dev",
"drupal/commerce_cart_api": "^1.4",
"drupal/commerce_cart_redirection": "^3.0",
"drupal/commerce_license": "^2.x-dev@dev",
diff --git a/composer.lock b/composer.lock
index 3e02155f..ee6f79d0 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "d52543a5e9c33de597427a41497c8de2",
+ "content-hash": "7e5161e71162b953571789b872f90251",
"packages": [
{
"name": "alchemy/zippy",
@@ -4006,17 +4006,11 @@
},
{
"name": "drupal/commerce",
- "version": "2.29.0",
+ "version": "dev-2.x",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/commerce.git",
- "reference": "8.x-2.29"
- },
- "dist": {
- "type": "zip",
- "url": "https://ftp.drupal.org/files/projects/commerce-8.x-2.29.zip",
- "reference": "8.x-2.29",
- "shasum": "189145431fb4e196b3286c96cae8d7764b8fe7bb"
+ "reference": "48c9dcc538557958f1dcea4bf38e0ba912b8261b"
},
"require": {
"commerceguys/intl": "^1.0.0",
@@ -4050,12 +4044,15 @@
},
"type": "drupal-module",
"extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ },
"drupal": {
- "version": "8.x-2.29",
- "datestamp": "1643900314",
+ "version": "8.x-2.x-dev",
+ "datestamp": "1647003334",
"security-coverage": {
- "status": "covered",
- "message": "Covered by Drupal's security advisory policy"
+ "status": "not-covered",
+ "message": "Dev releases are not covered by Drupal security advisories."
}
}
},
@@ -24788,6 +24785,7 @@
"drupal/advagg": 20,
"drupal/auto_entitylabel": 20,
"drupal/better_messages": 15,
+ "drupal/commerce": 20,
"drupal/commerce_license": 20,
"drupal/commerce_pricelist": 20,
"drupal/commerce_recurring": 20,
diff --git a/config/sync/commerce_checkout.commerce_checkout_flow.default.yml b/config/sync/commerce_checkout.commerce_checkout_flow.default.yml
index 8d5fc792..b702382f 100644
--- a/config/sync/commerce_checkout.commerce_checkout_flow.default.yml
+++ b/config/sync/commerce_checkout.commerce_checkout_flow.default.yml
@@ -4,7 +4,10 @@ status: true
dependencies:
module:
- commerce_payment
+ - commerce_promotion
+ - commerce_stripe
- email_registration
+ - materio_commerce
_core:
default_config_hash: wwkDVBiXUqSzRifJbb71ajFBklJdNJ_DgS67IF-_qgY
label: Default
@@ -12,6 +15,7 @@ id: default
plugin: multistep_default
configuration:
display_checkout_progress: true
+ display_checkout_progress_breadcrumb_links: false
panes:
login:
step: login
@@ -22,16 +26,58 @@ configuration:
step: order_information
weight: 1
double_entry: true
- billing_information:
- step: order_information
- weight: 2
review:
step: review
weight: 3
completion_message:
step: complete
- weight: 4
+ weight: 7
+ message:
+ value: "Your order number is [commerce_order:order_number].\r\nYou can view your order on your account page when logged in."
+ format: plain_text
order_summary:
step: _sidebar
- weight: 5
+ weight: 9
view: commerce_checkout_order_summary
+ completion_register:
+ step: complete
+ weight: 8
+ payment_information:
+ step: order_information
+ weight: 2
+ payment_process:
+ step: payment
+ weight: 6
+ capture: true
+ coupon_redemption:
+ step: _sidebar
+ weight: 10
+ allow_multiple: false
+ stripe_review:
+ step: review
+ weight: 4
+ button_id: edit-actions-next
+ setup_future_usage: ''
+ email_registration_login:
+ step: _disabled
+ weight: 12
+ allow_guest_checkout: true
+ allow_registration: false
+ email_registration_completion_registration:
+ step: _disabled
+ weight: 13
+ materio_commerce_agree_nominative:
+ step: _disabled
+ weight: 11
+ path: null
+ text: null
+ link_text: null
+ invalid_text: 'You must agree with the nominative terms before continuing'
+ materio_commerce_agree_terms:
+ step: review
+ weight: 5
+ path: null
+ link_text: 'Terms and Conditions'
+ prefix_text: 'I agree with the %terms'
+ invalid_text: 'You must agree with the %terms before continuing'
+ new_window: 1
diff --git a/config/sync/commerce_product.commerce_product_type.materio_product_license_type.yml b/config/sync/commerce_product.commerce_product_type.materio_product_license_type.yml
new file mode 100644
index 00000000..03537581
--- /dev/null
+++ b/config/sync/commerce_product.commerce_product_type.materio_product_license_type.yml
@@ -0,0 +1,15 @@
+uuid: a3e1f865-2647-437a-8339-95e9049f2375
+langcode: en
+status: true
+dependencies: { }
+id: materio_product_license_type
+label: 'materio product license type'
+traits: { }
+locked: false
+description: ''
+variationType: materio_product_licence_variatio
+variationTypes:
+ - materio_product_licence_variatio
+ - materio_product_variation_type
+multipleVariations: true
+injectVariationFields: true
diff --git a/config/sync/commerce_product.commerce_product_variation_type.materio_product_licence_variatio.yml b/config/sync/commerce_product.commerce_product_variation_type.materio_product_licence_variatio.yml
new file mode 100644
index 00000000..ca9b7e7f
--- /dev/null
+++ b/config/sync/commerce_product.commerce_product_variation_type.materio_product_licence_variatio.yml
@@ -0,0 +1,21 @@
+uuid: 1e6371d9-c8ab-473c-88b2-a74e6f118d4b
+langcode: fr
+status: true
+dependencies:
+ module:
+ - commerce_license
+third_party_settings:
+ commerce_license:
+ license_types:
+ role: role
+ activate_on_place: false
+ allow_renewal: true
+ interval: '1'
+ period: month
+id: materio_product_licence_variatio
+label: 'materio product licence variation type'
+traits:
+ - commerce_license
+locked: false
+orderItemType: materio_order_item_type
+generateTitle: false
diff --git a/config/sync/commerce_product.commerce_product_variation_type.materio_product_variation_type.yml b/config/sync/commerce_product.commerce_product_variation_type.materio_product_variation_type.yml
index 3aa3d8d9..21c8c9a7 100644
--- a/config/sync/commerce_product.commerce_product_variation_type.materio_product_variation_type.yml
+++ b/config/sync/commerce_product.commerce_product_variation_type.materio_product_variation_type.yml
@@ -13,7 +13,7 @@ third_party_settings:
interval: '1'
period: month
id: materio_product_variation_type
-label: 'materio product variation type'
+label: 'materio product licence subscription variation type'
traits:
- commerce_license
- purchasable_entity_subscription
diff --git a/config/sync/core.entity_form_display.commerce_product.materio_product_license_type.default.yml b/config/sync/core.entity_form_display.commerce_product.materio_product_license_type.default.yml
new file mode 100644
index 00000000..2e8baa70
--- /dev/null
+++ b/config/sync/core.entity_form_display.commerce_product.materio_product_license_type.default.yml
@@ -0,0 +1,96 @@
+uuid: 27dd62b8-f7c5-4397-9f3a-fdb6f136c2f6
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - field.field.commerce_product.materio_product_license_type.body
+ - field.field.commerce_product.materio_product_license_type.field_price_description
+ module:
+ - commerce
+ - path
+ - text
+id: commerce_product.materio_product_license_type.default
+targetEntityType: commerce_product
+bundle: materio_product_license_type
+mode: default
+content:
+ body:
+ type: text_textarea_with_summary
+ weight: 1
+ region: content
+ settings:
+ rows: 9
+ summary_rows: 3
+ placeholder: ''
+ show_summary: false
+ third_party_settings: { }
+ created:
+ type: datetime_timestamp
+ weight: 10
+ region: content
+ settings: { }
+ third_party_settings: { }
+ field_price_description:
+ type: text_textarea
+ weight: 91
+ region: content
+ settings:
+ rows: 5
+ placeholder: ''
+ third_party_settings: { }
+ langcode:
+ type: language_select
+ weight: 2
+ region: content
+ settings:
+ include_locked: true
+ third_party_settings: { }
+ path:
+ type: path
+ weight: 30
+ region: content
+ settings: { }
+ third_party_settings: { }
+ status:
+ type: boolean_checkbox
+ weight: 90
+ region: content
+ settings:
+ display_label: true
+ third_party_settings: { }
+ stores:
+ type: commerce_entity_select
+ weight: -10
+ region: content
+ settings:
+ hide_single_entity: true
+ autocomplete_threshold: 7
+ autocomplete_size: 60
+ autocomplete_placeholder: ''
+ third_party_settings: { }
+ title:
+ type: string_textfield
+ weight: -5
+ region: content
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ translation:
+ weight: 10
+ region: content
+ settings: { }
+ third_party_settings: { }
+ uid:
+ type: entity_reference_autocomplete
+ weight: 5
+ region: content
+ settings:
+ match_operator: CONTAINS
+ match_limit: 10
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+hidden:
+ variations: true
diff --git a/config/sync/core.entity_form_display.commerce_product_variation.materio_product_licence_variatio.default.yml b/config/sync/core.entity_form_display.commerce_product_variation.materio_product_licence_variatio.default.yml
new file mode 100644
index 00000000..13cdebb8
--- /dev/null
+++ b/config/sync/core.entity_form_display.commerce_product_variation.materio_product_licence_variatio.default.yml
@@ -0,0 +1,73 @@
+uuid: 4e26ae2b-7899-4933-9e6a-08a1718e05c8
+langcode: fr
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_variation_type.materio_product_licence_variatio
+ - field.field.commerce_product_variation.materio_product_licence_variatio.license_expiration
+ - field.field.commerce_product_variation.materio_product_licence_variatio.license_type
+ module:
+ - commerce
+ - commerce_price
+id: commerce_product_variation.materio_product_licence_variatio.default
+targetEntityType: commerce_product_variation
+bundle: materio_product_licence_variatio
+mode: default
+content:
+ langcode:
+ type: language_select
+ weight: 2
+ region: content
+ settings:
+ include_locked: true
+ third_party_settings: { }
+ license_expiration:
+ type: commerce_plugin_select
+ weight: 21
+ region: content
+ settings: { }
+ third_party_settings: { }
+ license_type:
+ type: commerce_plugin_select
+ weight: 20
+ region: content
+ settings: { }
+ third_party_settings: { }
+ list_price:
+ type: commerce_list_price
+ weight: -1
+ region: content
+ settings: { }
+ third_party_settings: { }
+ price:
+ type: commerce_price_default
+ weight: 0
+ region: content
+ settings: { }
+ third_party_settings: { }
+ sku:
+ type: string_textfield
+ weight: -4
+ region: content
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ status:
+ type: boolean_checkbox
+ weight: 90
+ region: content
+ settings:
+ display_label: true
+ third_party_settings: { }
+ title:
+ type: string_textfield
+ weight: -5
+ region: content
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+hidden:
+ created: true
+ uid: true
diff --git a/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.default.yml b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.default.yml
new file mode 100644
index 00000000..07a1c8d9
--- /dev/null
+++ b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.default.yml
@@ -0,0 +1,53 @@
+uuid: 9e6ae8d7-9897-4d97-a6ee-8535463fe08b
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - field.field.commerce_product.materio_product_license_type.body
+ - field.field.commerce_product.materio_product_license_type.field_price_description
+ module:
+ - text
+id: commerce_product.materio_product_license_type.default
+targetEntityType: commerce_product
+bundle: materio_product_license_type
+mode: default
+content:
+ body:
+ type: text_default
+ label: above
+ settings: { }
+ third_party_settings: { }
+ weight: 1
+ region: content
+ field_price_description:
+ type: text_default
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ weight: 2
+ region: content
+ title:
+ type: string
+ label: above
+ settings:
+ link_to_entity: false
+ third_party_settings: { }
+ weight: 0
+ region: content
+ variations:
+ type: entity_reference_entity_view
+ label: hidden
+ settings:
+ view_mode: add_to_cart
+ link: false
+ third_party_settings: { }
+ weight: 3
+ region: content
+hidden:
+ created: true
+ langcode: true
+ search_api_excerpt: true
+ stores: true
+ synonyms: true
+ uid: true
diff --git a/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.home_summary.yml b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.home_summary.yml
new file mode 100644
index 00000000..1d0ffbea
--- /dev/null
+++ b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.home_summary.yml
@@ -0,0 +1,48 @@
+uuid: 9e1988a2-8dae-4aeb-915d-46805d6f6298
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - core.entity_view_mode.commerce_product.home_summary
+ - field.field.commerce_product.materio_product_license_type.body
+ - field.field.commerce_product.materio_product_license_type.field_price_description
+ module:
+ - text
+id: commerce_product.materio_product_license_type.home_summary
+targetEntityType: commerce_product
+bundle: materio_product_license_type
+mode: home_summary
+content:
+ body:
+ type: text_default
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ weight: 1
+ region: content
+ title:
+ type: string
+ label: hidden
+ settings:
+ link_to_entity: false
+ third_party_settings: { }
+ weight: 0
+ region: content
+ variations:
+ type: entity_reference_entity_view
+ label: hidden
+ settings:
+ view_mode: add_to_cart
+ link: false
+ third_party_settings: { }
+ weight: 2
+ region: content
+hidden:
+ created: true
+ field_price_description: true
+ langcode: true
+ search_api_excerpt: true
+ stores: true
+ synonyms: true
+ uid: true
diff --git a/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.order_summary.yml b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.order_summary.yml
new file mode 100644
index 00000000..1485335a
--- /dev/null
+++ b/config/sync/core.entity_view_display.commerce_product.materio_product_license_type.order_summary.yml
@@ -0,0 +1,40 @@
+uuid: 6f8bea43-4418-4039-ab29-f1b5803e409f
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - core.entity_view_mode.commerce_product.order_summary
+ - field.field.commerce_product.materio_product_license_type.body
+ - field.field.commerce_product.materio_product_license_type.field_price_description
+ module:
+ - text
+id: commerce_product.materio_product_license_type.order_summary
+targetEntityType: commerce_product
+bundle: materio_product_license_type
+mode: order_summary
+content:
+ body:
+ type: text_default
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ weight: 1
+ region: content
+ title:
+ type: string
+ label: hidden
+ settings:
+ link_to_entity: false
+ third_party_settings: { }
+ weight: 0
+ region: content
+hidden:
+ created: true
+ field_price_description: true
+ langcode: true
+ search_api_excerpt: true
+ stores: true
+ synonyms: true
+ uid: true
+ variations: true
diff --git a/config/sync/field.field.commerce_product.materio_product_license_type.body.yml b/config/sync/field.field.commerce_product.materio_product_license_type.body.yml
new file mode 100644
index 00000000..8ab9efdf
--- /dev/null
+++ b/config/sync/field.field.commerce_product.materio_product_license_type.body.yml
@@ -0,0 +1,23 @@
+uuid: 6be9dad5-a25e-4e00-934d-4147d5a961f3
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - field.storage.commerce_product.body
+ module:
+ - text
+id: commerce_product.materio_product_license_type.body
+field_name: body
+entity_type: commerce_product
+bundle: materio_product_license_type
+label: Body
+description: ''
+required: false
+translatable: true
+default_value: { }
+default_value_callback: null
+settings:
+ display_summary: false
+ required_summary: false
+field_type: text_with_summary
diff --git a/config/sync/field.field.commerce_product.materio_product_license_type.field_price_description.yml b/config/sync/field.field.commerce_product.materio_product_license_type.field_price_description.yml
new file mode 100644
index 00000000..eafde14c
--- /dev/null
+++ b/config/sync/field.field.commerce_product.materio_product_license_type.field_price_description.yml
@@ -0,0 +1,21 @@
+uuid: fef2dd85-4997-4ee0-9dfd-5e443dcd1463
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+ - field.storage.commerce_product.field_price_description
+ module:
+ - text
+id: commerce_product.materio_product_license_type.field_price_description
+field_name: field_price_description
+entity_type: commerce_product
+bundle: materio_product_license_type
+label: 'Price description'
+description: ''
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text_long
diff --git a/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_expiration.yml b/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_expiration.yml
new file mode 100644
index 00000000..0a589d0f
--- /dev/null
+++ b/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_expiration.yml
@@ -0,0 +1,21 @@
+uuid: fdf75672-dcdf-43cd-b8f8-5f993986e07e
+langcode: fr
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_variation_type.materio_product_licence_variatio
+ - field.storage.commerce_product_variation.license_expiration
+ module:
+ - commerce
+id: commerce_product_variation.materio_product_licence_variatio.license_expiration
+field_name: license_expiration
+entity_type: commerce_product_variation
+bundle: materio_product_licence_variatio
+label: 'License Expiration'
+description: ''
+required: true
+translatable: false
+default_value: { }
+default_value_callback: null
+settings: { }
+field_type: 'commerce_plugin_item:recurring_period'
diff --git a/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_type.yml b/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_type.yml
new file mode 100644
index 00000000..bcbb7e17
--- /dev/null
+++ b/config/sync/field.field.commerce_product_variation.materio_product_licence_variatio.license_type.yml
@@ -0,0 +1,21 @@
+uuid: a2390abb-6a52-4285-b01b-a2e43b59c437
+langcode: fr
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_variation_type.materio_product_licence_variatio
+ - field.storage.commerce_product_variation.license_type
+ module:
+ - commerce
+id: commerce_product_variation.materio_product_licence_variatio.license_type
+field_name: license_type
+entity_type: commerce_product_variation
+bundle: materio_product_licence_variatio
+label: 'License Type'
+description: ''
+required: true
+translatable: false
+default_value: { }
+default_value_callback: null
+settings: { }
+field_type: 'commerce_plugin_item:commerce_license_type'
diff --git a/config/sync/language.content_settings.commerce_product.materio_product_license_type.yml b/config/sync/language.content_settings.commerce_product.materio_product_license_type.yml
new file mode 100644
index 00000000..7991918d
--- /dev/null
+++ b/config/sync/language.content_settings.commerce_product.materio_product_license_type.yml
@@ -0,0 +1,11 @@
+uuid: afb95e91-4166-489a-9a13-fecfedc72938
+langcode: en
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_type.materio_product_license_type
+id: commerce_product.materio_product_license_type
+target_entity_type_id: commerce_product
+target_bundle: materio_product_license_type
+default_langcode: site_default
+language_alterable: false
diff --git a/config/sync/language.content_settings.commerce_product_variation.materio_product_licence_variatio.yml b/config/sync/language.content_settings.commerce_product_variation.materio_product_licence_variatio.yml
new file mode 100644
index 00000000..60d1a620
--- /dev/null
+++ b/config/sync/language.content_settings.commerce_product_variation.materio_product_licence_variatio.yml
@@ -0,0 +1,16 @@
+uuid: d8e42c10-738f-4700-bfcc-4c6d7f1152f1
+langcode: fr
+status: true
+dependencies:
+ config:
+ - commerce_product.commerce_product_variation_type.materio_product_licence_variatio
+ module:
+ - content_translation
+third_party_settings:
+ content_translation:
+ enabled: true
+id: commerce_product_variation.materio_product_licence_variatio
+target_entity_type_id: commerce_product_variation
+target_bundle: materio_product_licence_variatio
+default_langcode: site_default
+language_alterable: true