"
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(),
];
}
}