diff --git a/composer.json b/composer.json index 96b8632d36..eff784b58e 100644 --- a/composer.json +++ b/composer.json @@ -121,6 +121,7 @@ "spryker/content-banners-rest-api": "^2.2.0", "spryker/content-product-abstract-lists-rest-api": "^1.2.0", "spryker/customer-access-rest-api": "^1.1.2", + "spryker/customer-data-change-request": "^1.0.0", "spryker/customer-group-discount-connector": "^2.2.1", "spryker/customer-user-connector": "^1.0.4", "spryker/customer-user-connector-gui": "^1.5.0", diff --git a/composer.lock b/composer.lock index 9f01b7ade3..553ec748f8 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": "3d37c903d5a25baf23d4eb2e1152f937", + "content-hash": "382d047afb66e9ed61abf5f03f588e05", "packages": [ { "name": "async-aws/core", @@ -8389,23 +8389,23 @@ }, { "name": "spryker-shop/catalog-page", - "version": "1.28.1", + "version": "1.29.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/catalog-page.git", - "reference": "512d7546162dc8394640915aca111781352b96f2" + "reference": "25aaafe06d2530278356a2cee4708c541d09a111" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/512d7546162dc8394640915aca111781352b96f2", - "reference": "512d7546162dc8394640915aca111781352b96f2", + "url": "https://api.github.com/repos/spryker-shop/catalog-page/zipball/25aaafe06d2530278356a2cee4708c541d09a111", + "reference": "25aaafe06d2530278356a2cee4708c541d09a111", "shasum": "" }, "require": { "php": ">=8.2", "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", - "spryker-shop/shop-ui": "^1.63.0", + "spryker-shop/shop-ui": "^1.84.0", "spryker-shop/storage-router-extension": "^1.0.0", "spryker-shop/tabs-widget-extension": "^1.0.0", "spryker/catalog": "^5.4.0", @@ -8454,9 +8454,9 @@ ], "description": "CatalogPage module", "support": { - "source": "https://github.com/spryker-shop/catalog-page/tree/1.28.1" + "source": "https://github.com/spryker-shop/catalog-page/tree/1.29.0" }, - "time": "2024-11-28T15:34:10+00:00" + "time": "2025-01-24T10:32:32+00:00" }, { "name": "spryker-shop/category-image-storage-widget", @@ -9718,16 +9718,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "2.57.0", + "version": "2.59.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "a917d93303c788e7f820cb19ce13364d9e906bd6" + "reference": "4714984703f8bf951457e17e177008b131957bca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/a917d93303c788e7f820cb19ce13364d9e906bd6", - "reference": "a917d93303c788e7f820cb19ce13364d9e906bd6", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4714984703f8bf951457e17e177008b131957bca", + "reference": "4714984703f8bf951457e17e177008b131957bca", "shasum": "" }, "require": { @@ -9735,7 +9735,7 @@ "spryker-shop/checkout-page-extension": "^1.0.0", "spryker-shop/customer-page-extension": "^1.6.0", "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-ui": "^1.70.0", + "spryker-shop/shop-ui": "^1.84.0", "spryker/application": "^3.8.0", "spryker/application-extension": "^1.0.0", "spryker/customer": "^7.30.0", @@ -9811,9 +9811,9 @@ ], "description": "CustomerPage module", "support": { - "source": "https://github.com/spryker-shop/customer-page/tree/2.57.0" + "source": "https://github.com/spryker-shop/customer-page/tree/2.59.0" }, - "time": "2024-12-11T18:16:29+00:00" + "time": "2025-02-14T09:42:35+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -11927,16 +11927,16 @@ }, { "name": "spryker-shop/product-group-widget", - "version": "1.11.0", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-group-widget.git", - "reference": "cca1b5eff33dd3061685bb7172f14005af55453b" + "reference": "ef3ee474979ee8526dc4649f51be191a42b2fc6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/cca1b5eff33dd3061685bb7172f14005af55453b", - "reference": "cca1b5eff33dd3061685bb7172f14005af55453b", + "url": "https://api.github.com/repos/spryker-shop/product-group-widget/zipball/ef3ee474979ee8526dc4649f51be191a42b2fc6f", + "reference": "ef3ee474979ee8526dc4649f51be191a42b2fc6f", "shasum": "" }, "require": { @@ -11967,9 +11967,9 @@ ], "description": "ProductGroupWidget module", "support": { - "source": "https://github.com/spryker-shop/product-group-widget/tree/1.11.0" + "source": "https://github.com/spryker-shop/product-group-widget/tree/1.11.1" }, - "time": "2024-12-24T10:22:59+00:00" + "time": "2025-01-24T10:32:32+00:00" }, { "name": "spryker-shop/product-group-widget-extension", @@ -12326,16 +12326,16 @@ }, { "name": "spryker-shop/product-review-widget", - "version": "1.16.1", + "version": "1.16.2", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-review-widget.git", - "reference": "c5540d8b57c9099b9276cc2bce974de44718a985" + "reference": "dc58e624ca14d2f59cb55a7eaa67b7768a8cb223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/c5540d8b57c9099b9276cc2bce974de44718a985", - "reference": "c5540d8b57c9099b9276cc2bce974de44718a985", + "url": "https://api.github.com/repos/spryker-shop/product-review-widget/zipball/dc58e624ca14d2f59cb55a7eaa67b7768a8cb223", + "reference": "dc58e624ca14d2f59cb55a7eaa67b7768a8cb223", "shasum": "" }, "require": { @@ -12384,9 +12384,9 @@ ], "description": "ProductReviewWidget module", "support": { - "source": "https://github.com/spryker-shop/product-review-widget/tree/1.16.1" + "source": "https://github.com/spryker-shop/product-review-widget/tree/1.16.2" }, - "time": "2024-11-21T09:26:18+00:00" + "time": "2025-01-24T10:32:32+00:00" }, { "name": "spryker-shop/product-search-widget", @@ -13854,16 +13854,16 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.83.0", + "version": "1.84.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "06ff04ecca736968e335a84bdaea69e8c213f5d7" + "reference": "f1c5b9b4432a696b865fc63c0f85e871cd07a401" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/06ff04ecca736968e335a84bdaea69e8c213f5d7", - "reference": "06ff04ecca736968e335a84bdaea69e8c213f5d7", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/f1c5b9b4432a696b865fc63c0f85e871cd07a401", + "reference": "f1c5b9b4432a696b865fc63c0f85e871cd07a401", "shasum": "" }, "require": { @@ -13911,9 +13911,9 @@ ], "description": "ShopUi module", "support": { - "source": "https://github.com/spryker-shop/shop-ui/tree/1.83.0" + "source": "https://github.com/spryker-shop/shop-ui/tree/1.84.0" }, - "time": "2024-12-24T10:22:59+00:00" + "time": "2025-01-24T10:32:32+00:00" }, { "name": "spryker-shop/shopping-list-page-extension", @@ -15802,16 +15802,16 @@ }, { "name": "spryker/availability", - "version": "9.24.0", + "version": "9.26.0", "source": { "type": "git", "url": "https://github.com/spryker/availability.git", - "reference": "6201007bd6284d2832f02b128ab1c1711876790f" + "reference": "90e39c4133cb39d154ddc23438e66d071300d7a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/availability/zipball/6201007bd6284d2832f02b128ab1c1711876790f", - "reference": "6201007bd6284d2832f02b128ab1c1711876790f", + "url": "https://api.github.com/repos/spryker/availability/zipball/90e39c4133cb39d154ddc23438e66d071300d7a6", + "reference": "90e39c4133cb39d154ddc23438e66d071300d7a6", "shasum": "" }, "require": { @@ -15826,7 +15826,7 @@ "spryker/locale": "^3.0.0 || ^4.0.0", "spryker/oms": "^11.0.0", "spryker/oms-extension": "^1.2.0", - "spryker/product": "^5.0.0 || ^6.0.0", + "spryker/product": "^5.0.0 || ^6.4.0", "spryker/product-alternative-extension": "^1.0.0", "spryker/product-page-search-extension": "^1.3.0", "spryker/propel-orm": "^1.16.0", @@ -15868,9 +15868,9 @@ ], "description": "Availability module", "support": { - "source": "https://github.com/spryker/availability/tree/9.24.0" + "source": "https://github.com/spryker/availability/tree/9.26.0" }, - "time": "2024-11-04T14:07:47+00:00" + "time": "2025-01-28T09:43:14+00:00" }, { "name": "spryker/availability-cart-connector", @@ -23684,16 +23684,16 @@ }, { "name": "spryker/customer", - "version": "7.66.0", + "version": "7.67.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "07e30cfafe82ff627fc09178c0527b110f4293dc" + "reference": "19697e5a7b42f012c76fdeb4f229207dc036afc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/07e30cfafe82ff627fc09178c0527b110f4293dc", - "reference": "07e30cfafe82ff627fc09178c0527b110f4293dc", + "url": "https://api.github.com/repos/spryker/customer/zipball/19697e5a7b42f012c76fdeb4f229207dc036afc6", + "reference": "19697e5a7b42f012c76fdeb4f229207dc036afc6", "shasum": "" }, "require": { @@ -23765,9 +23765,9 @@ ], "description": "Customer module", "support": { - "source": "https://github.com/spryker/customer/tree/7.66.0" + "source": "https://github.com/spryker/customer/tree/7.67.0" }, - "time": "2024-12-23T10:13:47+00:00" + "time": "2025-02-14T09:42:33+00:00" }, { "name": "spryker/customer-access", @@ -24015,22 +24015,80 @@ }, "time": "2024-05-06T12:15:28+00:00" }, + { + "name": "spryker/customer-data-change-request", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/customer-data-change-request.git", + "reference": "dca526e4945f79c2ae41de0086db5b45adb40b50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/customer-data-change-request/zipball/dca526e4945f79c2ae41de0086db5b45adb40b50", + "reference": "dca526e4945f79c2ae41de0086db5b45adb40b50", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "spryker/customer": "^7.33.0", + "spryker/customer-extension": "^1.6.0", + "spryker/glossary": "^3.0.0", + "spryker/kernel": "^3.52.0", + "spryker/log": "^3.17.0", + "spryker/mail": "^4.6.0", + "spryker/mail-extension": "^1.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/symfony": "^3.15.0", + "spryker/transfer": "^3.27.0", + "spryker/util-text": "^1.2.0", + "spryker/zed-request": "^3.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/router": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/router": "Use this module when you want to use the Router." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "CustomerDataChangeRequest module", + "support": { + "source": "https://github.com/spryker/customer-data-change-request/tree/1.0.0" + }, + "time": "2025-02-14T09:42:33+00:00" + }, { "name": "spryker/customer-extension", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-extension.git", - "reference": "83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20" + "reference": "da4992d5181cd4f7eabc5ef8ca5477229b9678fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-extension/zipball/83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20", - "reference": "83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20", + "url": "https://api.github.com/repos/spryker/customer-extension/zipball/da4992d5181cd4f7eabc5ef8ca5477229b9678fa", + "reference": "da4992d5181cd4f7eabc5ef8ca5477229b9678fa", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "spryker/code-sniffer": "*" @@ -24052,9 +24110,9 @@ ], "description": "CustomerExtension module", "support": { - "source": "https://github.com/spryker/customer-extension/tree/1.5.0" + "source": "https://github.com/spryker/customer-extension/tree/1.6.0" }, - "time": "2023-12-11T16:59:08+00:00" + "time": "2025-02-14T09:42:33+00:00" }, { "name": "spryker/customer-group", @@ -25514,16 +25572,16 @@ }, { "name": "spryker/dynamic-entity", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/spryker/dynamic-entity.git", - "reference": "07d76289f12d6d36940ed2b02fd40d2c21a384f1" + "reference": "f767b80073d5cb249b07ee0eadfd7c0a507b8b4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/dynamic-entity/zipball/07d76289f12d6d36940ed2b02fd40d2c21a384f1", - "reference": "07d76289f12d6d36940ed2b02fd40d2c21a384f1", + "url": "https://api.github.com/repos/spryker/dynamic-entity/zipball/f767b80073d5cb249b07ee0eadfd7c0a507b8b4d", + "reference": "f767b80073d5cb249b07ee0eadfd7c0a507b8b4d", "shasum": "" }, "require": { @@ -25559,9 +25617,9 @@ ], "description": "DynamicEntity module", "support": { - "source": "https://github.com/spryker/dynamic-entity/tree/1.17.0" + "source": "https://github.com/spryker/dynamic-entity/tree/1.18.0" }, - "time": "2024-12-26T14:23:31+00:00" + "time": "2025-01-28T09:43:14+00:00" }, { "name": "spryker/dynamic-entity-backend-api", @@ -33657,16 +33715,16 @@ }, { "name": "spryker/product", - "version": "6.46.0", + "version": "6.47.0", "source": { "type": "git", "url": "https://github.com/spryker/product.git", - "reference": "6796e8278ecddf19ae11ea086db8950cfe997d46" + "reference": "f41bbddd7e04df215307d44e3c934dff0e4413d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product/zipball/6796e8278ecddf19ae11ea086db8950cfe997d46", - "reference": "6796e8278ecddf19ae11ea086db8950cfe997d46", + "url": "https://api.github.com/repos/spryker/product/zipball/f41bbddd7e04df215307d44e3c934dff0e4413d6", + "reference": "f41bbddd7e04df215307d44e3c934dff0e4413d6", "shasum": "" }, "require": { @@ -33687,7 +33745,7 @@ "spryker/symfony": "^3.0.0", "spryker/touch": "^3.0.0 || ^4.0.0", "spryker/transfer": "^3.27.0", - "spryker/url": "^3.2.1", + "spryker/url": "^3.16.0", "spryker/util-encoding": "^2.0.0", "spryker/util-text": "^1.1.0" }, @@ -33717,9 +33775,9 @@ ], "description": "Product module", "support": { - "source": "https://github.com/spryker/product/tree/6.46.0" + "source": "https://github.com/spryker/product/tree/6.47.0" }, - "time": "2025-01-22T12:05:10+00:00" + "time": "2025-01-28T09:43:14+00:00" }, { "name": "spryker/product-abstract-data-feed", @@ -36507,23 +36565,23 @@ }, { "name": "spryker/product-dynamic-entity-connector", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/product-dynamic-entity-connector.git", - "reference": "299040e99abbb168554072cafcb3eaf0e9174499" + "reference": "9be937f02f56721c576e40bd96d35a863dc13daa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-dynamic-entity-connector/zipball/299040e99abbb168554072cafcb3eaf0e9174499", - "reference": "299040e99abbb168554072cafcb3eaf0e9174499", + "url": "https://api.github.com/repos/spryker/product-dynamic-entity-connector/zipball/9be937f02f56721c576e40bd96d35a863dc13daa", + "reference": "9be937f02f56721c576e40bd96d35a863dc13daa", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "spryker/dynamic-entity-extension": "^1.0.0", "spryker/kernel": "^3.30.0", - "spryker/product": "^6.40.0", + "spryker/product": "^6.47.0", "spryker/transfer": "^3.27.0" }, "require-dev": { @@ -36546,9 +36604,9 @@ ], "description": "ProductDynamicEntityConnector module", "support": { - "source": "https://github.com/spryker/product-dynamic-entity-connector/tree/1.0.0" + "source": "https://github.com/spryker/product-dynamic-entity-connector/tree/1.1.0" }, - "time": "2024-04-24T15:34:08+00:00" + "time": "2025-01-28T09:43:14+00:00" }, { "name": "spryker/product-extension", @@ -48954,16 +49012,16 @@ }, { "name": "spryker/url", - "version": "3.15.0", + "version": "3.16.0", "source": { "type": "git", "url": "https://github.com/spryker/url.git", - "reference": "d4bd24d2f2f0adf1cbbdb87eebcfc8446c717a40" + "reference": "f735e0ea9e93578144a03a57ffb768061a05ad1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/url/zipball/d4bd24d2f2f0adf1cbbdb87eebcfc8446c717a40", - "reference": "d4bd24d2f2f0adf1cbbdb87eebcfc8446c717a40", + "url": "https://api.github.com/repos/spryker/url/zipball/f735e0ea9e93578144a03a57ffb768061a05ad1f", + "reference": "f735e0ea9e93578144a03a57ffb768061a05ad1f", "shasum": "" }, "require": { @@ -49008,9 +49066,9 @@ ], "description": "Url module", "support": { - "source": "https://github.com/spryker/url/tree/3.15.0" + "source": "https://github.com/spryker/url/tree/3.16.0" }, - "time": "2024-11-04T14:07:47+00:00" + "time": "2025-01-28T09:43:14+00:00" }, { "name": "spryker/url-storage", @@ -62129,7 +62187,7 @@ "source": { "type": "git", "url": "https://github.com/spryker/cypress-tests.git", - "reference": "e1d61c834cb643d0dd32c0af99f91dd9e250e62c" + "reference": "69d40c36093856e0296ff1c3e5803a85c8dc90d2" }, "default-branch": true, "type": "library", @@ -62137,7 +62195,7 @@ "MIT" ], "description": "This repository is dedicated to housing an extensive collection of UI end-to-end tests, meticulously crafted using Cypress for Spryker applications. These tests are designed to thoroughly evaluate the user interface, ensuring that all interactions and visual elements function as intended in real-world scenarios. By leveraging Cypress's advanced browser automation capabilities, this suite provides an efficient and effective means of validating the user experience, confirming the seamless operation and aesthetic integrity of Spryker's front-end components. Our commitment to rigorous UI testing helps maintain the high standard of quality and reliability that Spryker users expect.", - "time": "2024-12-16T19:13:04+00:00" + "time": "2025-02-17T17:04:43+00:00" }, { "name": "spryker/development", @@ -63190,7 +63248,7 @@ "ext-readline": "*", "ext-redis": "*" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "8.2.0" }, diff --git a/data/import/common/AT/cms_block_store.csv b/data/import/common/AT/cms_block_store.csv index 6b804bced9..7796c20752 100644 --- a/data/import/common/AT/cms_block_store.csv +++ b/data/import/common/AT/cms_block_store.csv @@ -61,3 +61,7 @@ cms-block-email--order-confirmation--html,AT cms-block-email--order-confirmation--text,AT cms-block-email--order-shipped--html,AT cms-block-email--order-shipped--text,AT +cms-block-email--customer_email_change_verification--html,AT +cms-block-email--customer_email_change_verification--text,AT +cms-block-email--customer_email_change_notification--html,AT +cms-block-email--customer_email_change_notification--text,AT diff --git a/data/import/common/DE/cms_block_store.csv b/data/import/common/DE/cms_block_store.csv index 5aadae21ed..3d79a38f35 100644 --- a/data/import/common/DE/cms_block_store.csv +++ b/data/import/common/DE/cms_block_store.csv @@ -61,3 +61,7 @@ cms-block-email--order-confirmation--html,DE cms-block-email--order-confirmation--text,DE cms-block-email--order-shipped--html,DE cms-block-email--order-shipped--text,DE +cms-block-email--customer_email_change_verification--html,DE +cms-block-email--customer_email_change_verification--text,DE +cms-block-email--customer_email_change_notification--html,DE +cms-block-email--customer_email_change_notification--text,DE diff --git a/data/import/common/US/cms_block_store.csv b/data/import/common/US/cms_block_store.csv index d2038f75e9..20f79f6882 100644 --- a/data/import/common/US/cms_block_store.csv +++ b/data/import/common/US/cms_block_store.csv @@ -61,3 +61,7 @@ cms-block-email--order-confirmation--html,US cms-block-email--order-confirmation--text,US cms-block-email--order-shipped--html,US cms-block-email--order-shipped--text,US +cms-block-email--customer_email_change_verification--html,US +cms-block-email--customer_email_change_verification--text,US +cms-block-email--customer_email_change_notification--html,US +cms-block-email--customer_email_change_notification--text,US diff --git a/data/import/common/common/cms_block.csv b/data/import/common/common/cms_block.csv index 424ab720c6..a6e82f7028 100644 --- a/data/import/common/common/cms_block.csv +++ b/data/import/common/common/cms_block.csv @@ -213,3 +213,7 @@ cms-block-email--order-confirmation--text,order-confirmation--text,TEXT Email Te cms-block-email--order-shipped--text,order-shipped--text,TEXT Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.text.twig,1,,,,,,,"{{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.order.firstName }} {{ mail.order.lastName }}, {{ 'mail.trans.order_shipped.title' | trans }} ----- {{ 'mail.trans.order.shipment_for_number.part1' | trans }} {{ loop.index }} {{ 'mail.trans.order.shipment_for_number.part2' | trans }} {{ mail.shipmentGroups | length }} {{ 'mail.trans.order.delivery_address' | trans }}: {{ shipmentGroup.shipment.shippingAddress.firstName }} {{ shipmentGroup.shipment.shippingAddress.lastName }}, {{ shipmentGroup.shipment.shippingAddress.address1 }} {{ shipmentGroup.shipment.shippingAddress.address2 }} {{ shipmentGroup.shipment.shippingAddress.address3 }} {{ shipmentGroup.shipment.shippingAddress.zipCode }} {{ shipmentGroup.shipment.shippingAddress.city }} {{ shipmentGroup.shipment.shippingAddress.region }} {{ 'mail.trans.order.delivery_method' | trans }}: {{ shipmentGroup.shipment.method.name }} {{ 'mail.trans.order.requested_delivery_date' | trans }}: {{ shipmentGroup.shipment.requestedDeliveryDate }} * {{ item.name }} - {{ 'customer.order.item_sku' | trans }}: {{ item.sku }} {{ 'mail.trans.order.quantity' | trans }}: {{ item.quantity | executeFilterIfExists('formatInt', app.locale) }} {{ 'mail.trans.order.item_price' | trans }}: {{ item.sumPrice | money(true, mail.order.currencyIsoCode) }} + {{ option.groupName }} - {{ option.sumPrice | money(true, mail.order.currencyIsoCode) }} ","{{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.order.firstName }} {{ mail.order.lastName }}, {{ 'mail.trans.order_shipped.title' | trans }} ----- {{ 'mail.trans.order.shipment_for_number.part1' | trans }} {{ loop.index }} {{ 'mail.trans.order.shipment_for_number.part2' | trans }} {{ mail.shipmentGroups | length }} {{ 'mail.trans.order.delivery_address' | trans }}: {{ shipmentGroup.shipment.shippingAddress.firstName }} {{ shipmentGroup.shipment.shippingAddress.lastName }}, {{ shipmentGroup.shipment.shippingAddress.address1 }} {{ shipmentGroup.shipment.shippingAddress.address2 }} {{ shipmentGroup.shipment.shippingAddress.address3 }} {{ shipmentGroup.shipment.shippingAddress.zipCode }} {{ shipmentGroup.shipment.shippingAddress.city }} {{ shipmentGroup.shipment.shippingAddress.region }} {{ 'mail.trans.order.delivery_method' | trans }}: {{ shipmentGroup.shipment.method.name }} {{ 'mail.trans.order.requested_delivery_date' | trans }}: {{ shipmentGroup.shipment.requestedDeliveryDate }} * {{ item.name }} - {{ 'customer.order.item_sku' | trans }}: {{ item.sku }} {{ 'mail.trans.order.quantity' | trans }}: {{ item.quantity | executeFilterIfExists('formatInt', app.locale) }} {{ 'mail.trans.order.item_price' | trans }}: {{ item.sumPrice | money(true, mail.order.currencyIsoCode) }} + {{ option.groupName }} - {{ option.sumPrice | money(true, mail.order.currencyIsoCode) }} " cms-block-email--customer-registration_token--html,customer-registration_token--html,HTML Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.html.twig,1,,,,,,,"


{{ 'mail.trans.customer_registration.title' | trans }}

{{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.customer.firstName }} {{ mail.customer.lastName }},

{{ 'mail.trans.customer_registration.registration_success' | trans }}
{{ 'mail.trans.customer_registration.confirmation_link' | trans }}
","


{{ 'mail.trans.customer_registration.title' | trans }}

{{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.customer.firstName }} {{ mail.customer.lastName }},

{{ 'mail.trans.customer_registration.registration_success' | trans }}
{{ 'mail.trans.customer_registration.confirmation_link' | trans }}
" cms-block-email--customer-registration_token--text,customer-registration_token--text,TEXT Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.text.twig,1,,,,,,,"{{ 'mail.trans.customer_registration.title' | trans }} {{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.customer.firstName }} {{ mail.customer.lastName }}, {{ 'mail.trans.customer_registration.registration_success' | trans }} {{ 'mail.trans.customer_registration.confirmation_link' | trans }} ({{ mail.customer.confirmationLink }}) ","{{ 'mail.trans.customer_registration.title' | trans }} {{ 'mail.trans.common.hello_for_first_name' | trans }} {{ mail.customer.firstName }} {{ mail.customer.lastName }}, {{ 'mail.trans.customer_registration.registration_success' | trans }} {{ 'mail.trans.customer_registration.confirmation_link' | trans }} ({{ mail.customer.confirmationLink }}) " +cms-block-email--customer_email_change_verification--html,customer_email_change_verification--html,HTML Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.html.twig,1,,,,,,,"

{{ 'mail.customer.customer_email_change_verification.text' | trans }} link


","

{{ 'mail.customer.customer_email_change_verification.text' | trans }} link


" +cms-block-email--customer_email_change_notification--html,customer_email_change_notification--html,HTML Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.html.twig,1,,,,,,,"

{{ 'mail.customer.customer_email_change_notification.text' | trans }}


","

{{ 'mail.customer.customer_email_change_notification.text' | trans }}


" +cms-block-email--customer_email_change_verification--text,customer_email_change_verification--text,TEXT Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.text.twig,1,,,,,,,"{{ 'mail.customer.customer_email_change_verification.text' | trans }} link","{{ 'mail.customer.customer_email_change_verification.text' | trans }} link" +cms-block-email--customer_email_change_notification--text,customer_email_change_notification--text,TEXT Email Template With Header And Footer,@CmsBlock/template/email-template-with-header-and-footer.text.twig,1,,,,,,,"{{ 'mail.customer.customer_email_change_notification.text' | trans }}","{{ 'mail.customer.customer_email_change_notification.text' | trans }}" diff --git a/data/import/common/common/glossary.csv b/data/import/common/common/glossary.csv index 356fdea4df..cd7d3e8f83 100644 --- a/data/import/common/common/glossary.csv +++ b/data/import/common/common/glossary.csv @@ -751,6 +751,14 @@ customer.login.failed,Login failed,en_US customer.login.failed,Login fehlgeschlagen,de_DE customer.email.already.used,"If this E-mail address is already in use, you will receive a password reset link. Otherwise, you must first validate your E-mail address to finish registration. Please check your E-mail.",en_US customer.email.already.used,"Wenn die E-Mail bereits genutzt wird, werden Sie einen Passwortresetlink erhalten. Wenn nicht dann müssen Sie erst Ihre Emailadresse verifizieren. Bitte prüfen Sie ihre Email.",de_DE +customer.data_change_request.email_change.success,"Your email address was successfully changed.",en_US +customer.data_change_request.email_change.success,"Ihre E-Mail-Adresse wurde erfolgreich geändert.",de_DE +customer.data_change_request.email_change.requested,"You requested to change your e-mail to `%newEmail%` confirm it by clicking the verification link in the e-mail sent to it.",en_US +customer.data_change_request.email_change.requested,"Sie haben eine Änderung Ihrer E-Mail-Adresse zu `%newEmail%` angefordert. Bestätigen Sie dies, indem Sie auf den Verifizierungslink in der E-Mail klicken, die an diese Adresse gesendet wurde.",de_DE +customer.data_change_request.email_change.error,"Something went wrong. Please try again.",en_US +customer.data_change_request.email_change.error,"Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",de_DE +customer.data_change_request.invalid,"No valid data change request found.",en_US +customer.data_change_request.invalid,"Keine gültige Datenänderungsanforderung gefunden.",de_DE general.back.button,Back,en_US general.back.button,Zurück,de_DE general.cancel.button,Cancel,en_US @@ -2938,6 +2946,14 @@ mail.trans.company_status.title,The status of your company has been changed to,e mail.trans.company_status.title,Der Status deines Unternehmens wurde geändert auf,de_DE mail.trans.customer_registration.confirmation_link,Validate your email address,en_US mail.trans.customer_registration.confirmation_link,Bestätigen Sie Ihre E-Mail-Adresse,de_DE +mail.customer.customer_email_change_verification.text,"Please validate your email address by clicking the",en_US +mail.customer.customer_email_change_verification.text,"Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf den",de_DE +mail.customer.customer_email_change_notification.text,"We would like to inform you that the email address associated with your account has been successfully changed. If you made this change, no further action is required. However, if you did not request this change, please contact the store owner immediately to secure your account.",en_US +mail.customer.customer_email_change_notification.text,"Wir möchten Sie darüber informieren, dass die mit Ihrem Konto verknüpfte E-Mail-Adresse erfolgreich geändert wurde. Wenn Sie diese Änderung vorgenommen haben, ist keine weitere Aktion erforderlich. Wenn Sie diese Änderung jedoch nicht angefordert haben, wenden Sie sich bitte umgehend an den Shop-Besitzer, um Ihr Konto zu sichern.",de_DE +mail.customer.customer_email_change_notification.subject,Your Email Address Has Been Changed,en_US +mail.customer.customer_email_change_notification.subject,Ihre E-Mail-Adresse wurde geändert,de_DE +mail.customer.customer_email_change_verification.subject,Validate your email address,en_US +mail.customer.customer_email_change_verification.subject,Valideer uw e-mailadre,de_DE customer.error.confirm_email_link.invalid_or_used,This email verification link is invalid or has been already used.,en_US customer.error.confirm_email_link.invalid_or_used,Dieser E-Mail-Verifizierungslink ist ungültig oder wurde bereits verwendet.,de_DE customer.authorization.validate_email_address,"Almost there! We send you an email to validate your email address. Please confirm it to be able to log in.",en_US @@ -3084,3 +3100,5 @@ payment_app_widget.error.payment_failed,Payment failed,en_US payment_app_widget.error.payment_failed,Zahlung fehlgeschlagen,de_DE payment_app_widget.error.incorrect_quote,"Quote not found, session may have expired",en_US payment_app_widget.error.incorrect_quote,"Angebot nicht gefunden, Sitzung ist möglicherweise abgelaufen",de_DE +customer.change_customer_email_mail_sent,"Almost there! We send you an email to validate your email address. Please confirm it to be able to log in.",en_US +customer.change_customer_email_mail_sent,"Fast dort! Wir senden Ihnen eine E-Mail, um Ihre E-Mail-Adresse zu bestätigen. Bitte bestätigen Sie dies, um sich anmelden zu können.",de_DE diff --git a/package-lock.json b/package-lock.json index e3d7ee1110..3a504e137b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6364,9 +6364,9 @@ } }, "node_modules/cypress": { - "version": "13.16.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.16.1.tgz", - "integrity": "sha512-17FtCaz0cx7ssWYKXzGB0Vub8xHwpVPr+iPt2fHhLMDhVAPVrplD+rTQsZUsfb19LVBn5iwkEUFjQ1yVVJXsLA==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", + "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15641,7 +15641,7 @@ "@faker-js/faker": "^8.4.1", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", - "cypress": "^13.15.2", + "cypress": "^13.17.0", "dotenv": "^16.4.5", "eslint": "^8.57.0", "eslint-plugin-cypress": "^2.15.2", @@ -20542,9 +20542,9 @@ } }, "cypress": { - "version": "13.16.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.16.1.tgz", - "integrity": "sha512-17FtCaz0cx7ssWYKXzGB0Vub8xHwpVPr+iPt2fHhLMDhVAPVrplD+rTQsZUsfb19LVBn5iwkEUFjQ1yVVJXsLA==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", + "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", "dev": true, "requires": { "@cypress/request": "^3.0.6", @@ -20704,7 +20704,7 @@ "@faker-js/faker": "^8.4.1", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", - "cypress": "^13.15.2", + "cypress": "^13.17.0", "dotenv": "^16.4.5", "eslint": "^8.57.0", "eslint-plugin-cypress": "^2.15.2", diff --git a/src/Orm/Zed/CustomerDataChangeRequest/Persistence/SpyCustomerDataChangeRequest.php b/src/Orm/Zed/CustomerDataChangeRequest/Persistence/SpyCustomerDataChangeRequest.php new file mode 100644 index 0000000000..36207c61d2 --- /dev/null +++ b/src/Orm/Zed/CustomerDataChangeRequest/Persistence/SpyCustomerDataChangeRequest.php @@ -0,0 +1,25 @@ +
- + */ + protected function getCustomerPreUpdatePlugins(): array + { + return [ + new EmailChangeRequestSendVerificationCustomerPreUpdatePlugin(), + ]; + } } diff --git a/src/Pyz/Zed/DynamicEntity/data/installer/configuration.json b/src/Pyz/Zed/DynamicEntity/data/installer/configuration.json index 6d90a602d3..52614febc8 100644 --- a/src/Pyz/Zed/DynamicEntity/data/installer/configuration.json +++ b/src/Pyz/Zed/DynamicEntity/data/installer/configuration.json @@ -427,6 +427,19 @@ } ] }, + { + "name": "productAbstractUrls", + "isEditable": false, + "childDynamicEntityConfiguration": { + "tableAlias": "urls" + }, + "relationFieldMappings": [ + { + "childFieldName": "fk_resource_product_abstract", + "parentFieldName": "fk_product_abstract" + } + ] + }, { "name": "productStocks", "isEditable": true, diff --git a/src/Pyz/Zed/Mail/MailDependencyProvider.php b/src/Pyz/Zed/Mail/MailDependencyProvider.php index 404a3b06ed..608ea9ced9 100644 --- a/src/Pyz/Zed/Mail/MailDependencyProvider.php +++ b/src/Pyz/Zed/Mail/MailDependencyProvider.php @@ -16,6 +16,8 @@ use Spryker\Zed\Customer\Communication\Plugin\Mail\CustomerRegistrationMailTypeBuilderPlugin; use Spryker\Zed\Customer\Communication\Plugin\Mail\CustomerRestoredPasswordConfirmationMailTypeBuilderPlugin; use Spryker\Zed\Customer\Communication\Plugin\Mail\CustomerRestorePasswordMailTypeBuilderPlugin; +use Spryker\Zed\CustomerDataChangeRequest\Communication\Plugin\Mail\CustomerEmailChangeNotificationMailTypePlugin; +use Spryker\Zed\CustomerDataChangeRequest\Communication\Plugin\Mail\CustomerEmailChangeVerificationMailTypePlugin; use Spryker\Zed\GiftCardMailConnector\Communication\Plugin\Mail\GiftCardDeliveryMailTypeBuilderPlugin; use Spryker\Zed\GiftCardMailConnector\Communication\Plugin\Mail\GiftCardUsageMailTypeBuilderPlugin; use Spryker\Zed\Kernel\Container; @@ -86,6 +88,8 @@ protected function getMailTypeBuilderPlugins(): array new GiftCardDeliveryMailTypeBuilderPlugin(), new GiftCardUsageMailTypeBuilderPlugin(), new OrderInvoiceMailTypeBuilderPlugin(), + new CustomerEmailChangeVerificationMailTypePlugin(), + new CustomerEmailChangeNotificationMailTypePlugin(), ]; } }