From d09209f19a498681ff12a762c61c2dcaa223aee8 Mon Sep 17 00:00:00 2001 From: dimitriyTsemma Date: Wed, 8 Jan 2025 15:16:35 +0200 Subject: [PATCH] FRW-9686 Integrations --- .git.docker | 2 +- composer.json | 1 + composer.lock | 77 +++++++++++++++---- config/Shared/config_default.php | 2 +- config/install/ci.yml | 3 + config/install/development.yml | 3 + .../install/docker.ci.acceptance.cypress.yml | 3 + ...i.acceptance.dynamic-store-off.cypress.yml | 3 + ....ci.acceptance.dynamic-store-off.robot.yml | 3 + ...docker.ci.acceptance.dynamic-store-off.yml | 3 + config/install/docker.ci.acceptance.robot.yml | 3 + config/install/docker.ci.acceptance.yml | 3 + .../docker.ci.api.dynamic-store-off.yml | 3 + config/install/docker.ci.api.yml | 3 + config/install/docker.yml | 3 + config/install/testing.yml | 3 + data/import/common/common/glossary.csv | 2 + .../Checkout/CheckoutDependencyProvider.php | 4 +- .../Zed/Console/ConsoleDependencyProvider.php | 2 + 19 files changed, 108 insertions(+), 18 deletions(-) diff --git a/.git.docker b/.git.docker index c56a41e984..40ed100bd2 100644 --- a/.git.docker +++ b/.git.docker @@ -1 +1 @@ -ac17ea980d151c6b4dd83b7093c0c05a9205c244 +ad894a70aad294f37781b1c362957822500f061c diff --git a/composer.json b/composer.json index a4213c28fd..8bd0994557 100644 --- a/composer.json +++ b/composer.json @@ -261,6 +261,7 @@ "spryker/products-categories-resource-relationship": "^1.4.0", "spryker/products-rest-api": "^2.15.1", "spryker/push-notifications-backend-api": "^1.0.1", + "spryker/quote-checkout-connector": "^1.0", "spryker/related-products-rest-api": "^1.3.2", "spryker/rest-request-validator": "^1.6.0", "spryker/sales-discount-connector": "^1.0.0", diff --git a/composer.lock b/composer.lock index 144d185c87..dc67d89536 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": "906a4812181a512730702e989b4a239a", + "content-hash": "4076a2d41374d6061a28eda988e06c87", "packages": [ { "name": "async-aws/core", @@ -32008,16 +32008,16 @@ }, { "name": "spryker/locale", - "version": "4.9.0", + "version": "4.9.1", "source": { "type": "git", "url": "https://github.com/spryker/locale.git", - "reference": "d80d43ec2ea8b3c9a1a37b6052e1c0a7c71cc24b" + "reference": "29ba1333c9c1abd924c27ccfb55daaeef8515a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/locale/zipball/d80d43ec2ea8b3c9a1a37b6052e1c0a7c71cc24b", - "reference": "d80d43ec2ea8b3c9a1a37b6052e1c0a7c71cc24b", + "url": "https://api.github.com/repos/spryker/locale/zipball/29ba1333c9c1abd924c27ccfb55daaeef8515a95", + "reference": "29ba1333c9c1abd924c27ccfb55daaeef8515a95", "shasum": "" }, "require": { @@ -32072,9 +32072,9 @@ ], "description": "Locale module", "support": { - "source": "https://github.com/spryker/locale/tree/4.9.0" + "source": "https://github.com/spryker/locale/tree/4.9.1" }, - "time": "2024-11-28T15:34:08+00:00" + "time": "2025-01-07T10:51:37+00:00" }, { "name": "spryker/locale-data-import", @@ -51690,6 +51690,53 @@ }, "time": "2024-08-23T09:01:17+00:00" }, + { + "name": "spryker/quote-checkout-connector", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spryker/quote-checkout-connector.git", + "reference": "f9692c4ecd9691d1027450faa09f7240db32570f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker/quote-checkout-connector/zipball/f9692c4ecd9691d1027450faa09f7240db32570f", + "reference": "f9692c4ecd9691d1027450faa09f7240db32570f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "spryker/checkout-extension": "^1.4.0", + "spryker/kernel": "^3.30.0", + "spryker/storage-redis": "^1.4.0", + "spryker/transfer": "^3.25.0", + "spryker/util-text": "^1.0.0" + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "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": "QuoteCheckoutConnector module", + "support": { + "source": "https://github.com/spryker/quote-checkout-connector/tree/1.0.0" + }, + "time": "2024-08-22T09:11:34+00:00" + }, { "name": "spryker/quote-extension", "version": "1.8.0", @@ -59384,20 +59431,20 @@ }, { "name": "spryker/store-context", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/spryker/store-context.git", - "reference": "80d8de9dc363aec878b5efa45504c6687b908181" + "reference": "a986056939002341b3a4e3dd25c98ddca2226e20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/store-context/zipball/80d8de9dc363aec878b5efa45504c6687b908181", - "reference": "80d8de9dc363aec878b5efa45504c6687b908181", + "url": "https://api.github.com/repos/spryker/store-context/zipball/a986056939002341b3a4e3dd25c98ddca2226e20", + "reference": "a986056939002341b3a4e3dd25c98ddca2226e20", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "spryker/kernel": "^3.30.0", "spryker/store": "^1.25.0", "spryker/store-extension": "^1.0.0", @@ -59428,9 +59475,9 @@ ], "description": "StoreContext module", "support": { - "source": "https://github.com/spryker/store-context/tree/1.0.0" + "source": "https://github.com/spryker/store-context/tree/1.0.1" }, - "time": "2024-06-18T09:53:39+00:00" + "time": "2025-01-08T09:21:29+00:00" }, { "name": "spryker/store-context-data-import", @@ -75518,7 +75565,7 @@ "ext-readline": "*", "ext-redis": "*" }, - "platform-dev": {}, + "platform-dev": [], "platform-overrides": { "php": "8.2" }, diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 3a2c319a8d..ec3977491a 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -256,7 +256,7 @@ $config[CustomerConstants::CUSTOMER_SECURED_PATTERN] = '(^/login_check$|^(/en|/de)?/customer($|/)|^(/en|/de)?/wishlist($|/)|^(/en|/de)?/shopping-list($|/)|^(/en|/de)?/quote-request($|/)|^(/en|/de)?/comment($|/)|^(/en|/de)?/company(?!/register)($|/)|^(/en|/de)?/multi-cart($|/)|^(/en|/de)?/shared-cart($|/)|^(/en|/de)?/cart(?!/add)($|/)|^(/en|/de)?/checkout($|/))'; $config[CustomerConstants::CUSTOMER_ANONYMOUS_PATTERN] = '^/.*'; -$config[CustomerPageConstants::CUSTOMER_REMEMBER_ME_SECRET] = 'hundnase'; +$config[CustomerPageConstants::CUSTOMER_REMEMBER_ME_SECRET] = getenv('SPRYKER_CUSTOMER_REMEMBER_ME_SECRET'); $config[CustomerPageConstants::CUSTOMER_REMEMBER_ME_LIFETIME] = 31536000; $config[LogConstants::LOG_SANITIZE_FIELDS] = [ diff --git a/config/install/ci.yml b/config/install/ci.yml index 075e84c838..4496c3325e 100644 --- a/config/install/ci.yml +++ b/config/install/ci.yml @@ -22,6 +22,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/development.yml b/config/install/development.yml index 3de64466ee..e8fe6497ee 100644 --- a/config/install/development.yml +++ b/config/install/development.yml @@ -90,6 +90,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.cypress.yml b/config/install/docker.ci.acceptance.cypress.yml index 647ae4c09b..8291970bf4 100644 --- a/config/install/docker.ci.acceptance.cypress.yml +++ b/config/install/docker.ci.acceptance.cypress.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.dynamic-store-off.cypress.yml b/config/install/docker.ci.acceptance.dynamic-store-off.cypress.yml index 03556347a3..d0881b56e8 100644 --- a/config/install/docker.ci.acceptance.dynamic-store-off.cypress.yml +++ b/config/install/docker.ci.acceptance.dynamic-store-off.cypress.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.dynamic-store-off.robot.yml b/config/install/docker.ci.acceptance.dynamic-store-off.robot.yml index 03556347a3..d0881b56e8 100644 --- a/config/install/docker.ci.acceptance.dynamic-store-off.robot.yml +++ b/config/install/docker.ci.acceptance.dynamic-store-off.robot.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.dynamic-store-off.yml b/config/install/docker.ci.acceptance.dynamic-store-off.yml index 03556347a3..d0881b56e8 100644 --- a/config/install/docker.ci.acceptance.dynamic-store-off.yml +++ b/config/install/docker.ci.acceptance.dynamic-store-off.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.robot.yml b/config/install/docker.ci.acceptance.robot.yml index 647ae4c09b..8291970bf4 100644 --- a/config/install/docker.ci.acceptance.robot.yml +++ b/config/install/docker.ci.acceptance.robot.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.acceptance.yml b/config/install/docker.ci.acceptance.yml index 21cfcb1e30..0608fc342a 100644 --- a/config/install/docker.ci.acceptance.yml +++ b/config/install/docker.ci.acceptance.yml @@ -13,6 +13,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.api.dynamic-store-off.yml b/config/install/docker.ci.api.dynamic-store-off.yml index 95b8146145..29ec58976b 100644 --- a/config/install/docker.ci.api.dynamic-store-off.yml +++ b/config/install/docker.ci.api.dynamic-store-off.yml @@ -10,6 +10,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.ci.api.yml b/config/install/docker.ci.api.yml index 4e75ac1f90..4c345173e2 100644 --- a/config/install/docker.ci.api.yml +++ b/config/install/docker.ci.api.yml @@ -10,6 +10,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/docker.yml b/config/install/docker.yml index 38e6761447..a8f8f22280 100644 --- a/config/install/docker.yml +++ b/config/install/docker.yml @@ -12,6 +12,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/config/install/testing.yml b/config/install/testing.yml index efac96e8bf..da00141774 100644 --- a/config/install/testing.yml +++ b/config/install/testing.yml @@ -25,6 +25,9 @@ sections: router-cache-warmup-backoffice: command: 'vendor/bin/console router:cache:warm-up:backoffice' + oms-process-cache-warmup: + command: 'vendor/bin/console oms:process-cache:warm-up' + router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' diff --git a/data/import/common/common/glossary.csv b/data/import/common/common/glossary.csv index e8804b33af..d24d3567b7 100644 --- a/data/import/common/common/glossary.csv +++ b/data/import/common/common/glossary.csv @@ -1381,6 +1381,8 @@ checkout.payment.provider.DummyPayment,Payment Methods,en_US checkout.payment.provider.DummyPayment,Zahlungsarten,de_DE checkout.order.duplicate,Order with given reference {{reference}} already exists,en_US checkout.order.duplicate,Bestellung mit gegebener Referenz {{reference}} existiert bereits,de_DE +checkout.order.checkout.error.duplicate-order-processing,Cart with given uid %quote-uid% has already been processing,en_US +checkout.order.checkout.error.duplicate-order-processing,Warenkorb mit der angegebenen UID %quote-uid% wird bereits verarbeitet,de_DE checkout.item.option.pre.condition.validation.error.exists,"Product option of %name% is not available anymore.",en_US checkout.item.option.pre.condition.validation.error.exists,"Produktoption von %name% ist nicht mehr verfügbar.",de_DE cms.preview.access_denied,You are not logged in or you do not have permission to access this page.,en_US diff --git a/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php b/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php index 0bea873182..8556a32de9 100644 --- a/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php +++ b/src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php @@ -36,6 +36,7 @@ use Spryker\Zed\ProductOffer\Communication\Plugin\Checkout\ProductOfferCheckoutPreConditionPlugin; use Spryker\Zed\ProductOption\Communication\Plugin\Checkout\ProductOptionOrderSaverPlugin; use Spryker\Zed\ProductQuantity\Communication\Plugin\Checkout\ProductQuantityRestrictionCheckoutPreConditionPlugin; +use Spryker\Zed\QuoteCheckoutConnector\Communication\Plugin\Checkout\DisallowQuoteCheckoutPreSavePlugin; use Spryker\Zed\Sales\Communication\Plugin\Checkout\DuplicateOrderCheckoutPreConditionPlugin; use Spryker\Zed\Sales\Communication\Plugin\Checkout\OrderItemsSaverPlugin; use Spryker\Zed\Sales\Communication\Plugin\Checkout\OrderSaverPlugin; @@ -136,11 +137,12 @@ protected function getCheckoutPostHooks(Container $container): array // phpcs:ig /** * @param \Spryker\Zed\Kernel\Container $container * - * @return array<\Spryker\Zed\Checkout\Dependency\Plugin\CheckoutPreSaveHookInterface>|array<\Spryker\Zed\Checkout\Dependency\Plugin\CheckoutPreSaveInterface> + * @return array<\Spryker\Zed\Checkout\Dependency\Plugin\CheckoutPreSaveHookInterface|\Spryker\Zed\Checkout\Dependency\Plugin\CheckoutPreSaveInterface|\Spryker\Zed\CheckoutExtension\Dependency\Plugin\CheckoutPreSavePluginInterface> */ protected function getCheckoutPreSaveHooks(Container $container): array // phpcs:ignore SlevomatCodingStandard.Functions.UnusedParameter { return [ + new DisallowQuoteCheckoutPreSavePlugin(), new SalesOrderExpanderPlugin(), ]; } diff --git a/src/Pyz/Zed/Console/ConsoleDependencyProvider.php b/src/Pyz/Zed/Console/ConsoleDependencyProvider.php index 57946988ed..9a23c5fba4 100644 --- a/src/Pyz/Zed/Console/ConsoleDependencyProvider.php +++ b/src/Pyz/Zed/Console/ConsoleDependencyProvider.php @@ -161,6 +161,7 @@ use Spryker\Zed\StateMachine\Communication\Console\CheckConditionConsole as StateMachineCheckConditionConsole; use Spryker\Zed\StateMachine\Communication\Console\CheckTimeoutConsole as StateMachineCheckTimeoutConsole; use Spryker\Zed\StateMachine\Communication\Console\ClearLocksConsole as StateMachineClearLocksConsole; +use Spryker\Zed\Oms\Communication\Console\ProcessCacheWarmUpConsole as OmsProcessCacheWarmUpConsole; use Spryker\Zed\StockDataImport\StockDataImportConfig; use Spryker\Zed\Storage\Communication\Console\StorageDeleteAllConsole; use Spryker\Zed\StorageRedis\Communication\Console\StorageRedisExportRdbConsole; @@ -221,6 +222,7 @@ protected function getConsoleCommands(Container $container): array new OmsCheckConditionConsole(), new OmsCheckTimeoutConsole(), new OmsClearLocksConsole(), + new OmsProcessCacheWarmUpConsole(), new StateMachineCheckTimeoutConsole(), new StateMachineCheckConditionConsole(), new StateMachineClearLocksConsole(),