From 97e4edd948d7d253440577124f07c00ae2aae1a1 Mon Sep 17 00:00:00 2001 From: Dmitriy Krainiy Date: Mon, 6 Nov 2023 16:31:18 +0100 Subject: [PATCH 01/64] added deploy.scos-b2c.yml file --- deploy.scos-b2c.yml | 181 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 deploy.scos-b2c.yml diff --git a/deploy.scos-b2c.yml b/deploy.scos-b2c.yml new file mode 100644 index 0000000000..56ffe9cd7f --- /dev/null +++ b/deploy.scos-b2c.yml @@ -0,0 +1,181 @@ +version: "0.1" + +namespace: spryker-cloud +tag: '1.0' + +environment: docker.production +image: + tag: spryker/php:8.1 + environment: + SPRYKER_DEFAULT_STORE: "DE" + SPRYKER_ACTIVE_STORES: "DE,AT" + SPRYKER_HOOK_BEFORE_DEPLOY: "vendor/bin/install -r EU/pre-deploy -vvv " + SPRYKER_HOOK_AFTER_DEPLOY: "true" + SPRYKER_HOOK_INSTALL: "vendor/bin/install -r EU/production --no-ansi -vvv" + SPRYKER_HOOK_DESTRUCTIVE_INSTALL: "vendor/bin/install -r EU/destructive --no-ansi -vvv" + SPRYKER_PRODUCT_CONFIGURATOR_HOST: dtc.b2c.latest.demo-spryker.com + SPRYKER_PRODUCT_CONFIGURATOR_PORT: 443 + SPRYKER_YVES_HOST_DE: www.de.b2c.latest.demo-spryker.com + SPRYKER_YVES_HOST_AT: www.at.b2c.latest.demo-spryker.com + node: + version: 18 + npm: 9 + +composer: + mode: --no-dev + autoload: --classmap-authoritative + +assets: + image: spryker/nginx-brotli:latest + mode: production + compression: + brotli: + static: on + level: 5 + +regions: + EU: + services: + database: + database: spryker_b2clatest + username: spryker + password: secret + + stores: + DE: + services: + broker: + namespace: de_queue + key_value_store: + namespace: 1 + search: + namespace: de_search + session: + namespace: 2 + AT: + services: + broker: + namespace: at_queue + key_value_store: + namespace: 1 + search: + namespace: at_search + session: + namespace: 2 + +groups: + EU: + region: EU + applications: + yves: + application: yves + endpoints: + dtc.b2c.latest.demo-spryker.com: + entry-point: Configurator + www.de.b2c.latest.demo-spryker.com: + store: DE + www.at.b2c.latest.demo-spryker.com: + store: AT + boffice: + application: backoffice + endpoints: + backoffice.de.b2c.latest.demo-spryker.com: + store: DE + backoffice.at.b2c.latest.demo-spryker.com: + store: AT + backgw: + application: backend-gateway + endpoints: + backend-gateway.de.b2c.latest.demo-spryker.com: + store: DE + backend-gateway.at.b2c.latest.demo-spryker.com: + store: AT + backapi: + application: zed + endpoints: + backend-api.de.b2c.latest.demo-spryker.com: + store: DE + entry-point: BackendApi + backend-api.at.b2c.latest.demo-spryker.com: + store: AT + entry-point: BackendApi + glue: + application: glue + endpoints: + glue.de.b2c.latest.demo-spryker.com: + store: DE + glue.at.b2c.latest.demo-spryker.com: + store: AT + gluestorefront: + application: glue-storefront + endpoints: + glue-storefront.de.b2c.latest.demo-spryker.com: + store: DE + glue-storefront.at.b2c.latest.demo-spryker.com: + store: AT + gluebackend: + application: glue-backend + endpoints: + glue-backend.de.b2c.latest.demo-spryker.com: + store: DE + glue-backend.at.b2c.latest.demo-spryker.com: + store: AT +services: + database: + engine: mysql + version: mariadb-10.4 + root: + username: "root" + password: "secret" + endpoints: + localhost:3306: + protocol: tcp + broker: + engine: rabbitmq + version: '3.9' + api: + username: "spryker" + password: "secret" + endpoints: + queue.b2c.latest.demo-spryker.com: + localhost:5672: + protocol: tcp + session: + engine: redis + key_value_store: + engine: redis + endpoints: + localhost:16379: + protocol: tcp + search: + engine: elastic + version: '7.10' + endpoints: + localhost:9200: + protocol: tcp + scheduler: + engine: jenkins + version: '2.401' + endpoints: + scheduler.latest.demo-spryker.com: + mail_catcher: + engine: mailhog + endpoints: + mail.latest.demo-spryker.com: + +docker: + + ssl: + enabled: true + redirect: true + + debug: + enabled: false + xdebug: + enabled: false + + testing: + store: DE + + mount: + baked: From 444b02910abf6bb25810f977c14ab8015d97f4be Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Fri, 17 Nov 2023 16:57:16 +0100 Subject: [PATCH 02/64] CC-31839: updated product configuration api validation. --- composer.json | 8 ++++---- composer.lock | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/composer.json b/composer.json index e44b9c8d5f..738923c325 100644 --- a/composer.json +++ b/composer.json @@ -169,9 +169,9 @@ "spryker/product-bundle-discount-connector": "^1.1.0", "spryker/product-bundles-rest-api": "^1.0.1", "spryker/product-cart-connector": "^4.10.3", - "spryker/product-configuration-wishlists-rest-api": "^1.1.3", + "spryker/product-configuration-wishlists-rest-api": "^1.1.4", "spryker/product-configurations-price-product-volumes-rest-api": "^1.0.0", - "spryker/product-configurations-rest-api": "^1.0.3", + "spryker/product-configurations-rest-api": "^1.0.4", "spryker/product-discontinued-product-bundle-connector": "^1.2.2", "spryker/product-discontinued-product-label-connector": "^1.4.0", "spryker/product-discontinued-rest-api": "^1.0.1", @@ -854,10 +854,10 @@ "spryker/product-configuration-shopping-lists-rest-api-extension": "1.0.0", "spryker/product-configuration-storage": "1.1.1", "spryker/product-configuration-wishlist": "1.0.2", - "spryker/product-configuration-wishlists-rest-api": "1.1.3", + "spryker/product-configuration-wishlists-rest-api": "1.1.4", "spryker/product-configuration-wishlists-rest-api-extension": "1.0.1", "spryker/product-configurations-price-product-volumes-rest-api": "1.0.0", - "spryker/product-configurations-rest-api": "1.0.3", + "spryker/product-configurations-rest-api": "1.0.4", "spryker/product-configurations-rest-api-extension": "1.0.0", "spryker/product-discontinued": "1.11.0", "spryker/product-discontinued-data-import": "1.2.0", diff --git a/composer.lock b/composer.lock index 0c065a9151..e8e4cfa057 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": "a3e8ad583b4331de2c1495878b23bc83", + "content-hash": "6a0350c09623b39c37299b57118933d7", "packages": [ { "name": "async-aws/core", @@ -34179,20 +34179,20 @@ }, { "name": "spryker/product-configuration-wishlists-rest-api", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/spryker/product-configuration-wishlists-rest-api.git", - "reference": "bff3dc43ef050889feefeac1f2cf0c49c631eed2" + "reference": "4aeeba6e5cd19262ea7bafdd3a6f602e5e9dfeba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-configuration-wishlists-rest-api/zipball/bff3dc43ef050889feefeac1f2cf0c49c631eed2", - "reference": "bff3dc43ef050889feefeac1f2cf0c49c631eed2", + "url": "https://api.github.com/repos/spryker/product-configuration-wishlists-rest-api/zipball/4aeeba6e5cd19262ea7bafdd3a6f602e5e9dfeba", + "reference": "4aeeba6e5cd19262ea7bafdd3a6f602e5e9dfeba", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/kernel": "^3.30.0", "spryker/product-configuration": "^1.0.0", "spryker/product-configuration-wishlists-rest-api-extension": "^1.0.0", @@ -34227,9 +34227,9 @@ ], "description": "ProductConfigurationWishlistsRestApi module", "support": { - "source": "https://github.com/spryker/product-configuration-wishlists-rest-api/tree/1.1.3" + "source": "https://github.com/spryker/product-configuration-wishlists-rest-api/tree/1.1.4" }, - "time": "2023-05-05T18:20:59+00:00" + "time": "2023-11-17T13:40:35+00:00" }, { "name": "spryker/product-configuration-wishlists-rest-api-extension", @@ -34323,20 +34323,20 @@ }, { "name": "spryker/product-configurations-rest-api", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/spryker/product-configurations-rest-api.git", - "reference": "238c2cc872406b93c147ce6d5ccf81178b0dbaa2" + "reference": "3be9bbc3926f868d559b0cb993c1e692d305595c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/product-configurations-rest-api/zipball/238c2cc872406b93c147ce6d5ccf81178b0dbaa2", - "reference": "238c2cc872406b93c147ce6d5ccf81178b0dbaa2", + "url": "https://api.github.com/repos/spryker/product-configurations-rest-api/zipball/3be9bbc3926f868d559b0cb993c1e692d305595c", + "reference": "3be9bbc3926f868d559b0cb993c1e692d305595c", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/carts-rest-api-extension": "^1.5.0", "spryker/glue-application": "^1.6.0", "spryker/glue-application-extension": "^1.1.0", @@ -34373,9 +34373,9 @@ ], "description": "ProductConfigurationsRestApi module", "support": { - "source": "https://github.com/spryker/product-configurations-rest-api/tree/1.0.3" + "source": "https://github.com/spryker/product-configurations-rest-api/tree/1.0.4" }, - "time": "2023-05-05T18:20:59+00:00" + "time": "2023-11-17T13:40:35+00:00" }, { "name": "spryker/product-configurations-rest-api-extension", From 6266a71503a11cbef971f5dd5bcd3a711ffacf76 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Mon, 20 Nov 2023 09:35:02 +0000 Subject: [PATCH 03/64] PBC-3543: Update spryker/catalog --- composer.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.lock b/composer.lock index 2113335609..f3c03bf576 100644 --- a/composer.lock +++ b/composer.lock @@ -16406,20 +16406,20 @@ }, { "name": "spryker/catalog", - "version": "5.9.0", + "version": "5.10.0", "source": { "type": "git", "url": "https://github.com/spryker/catalog.git", - "reference": "066e7fed831fc69e7285a44269ea44d5bb489ba4" + "reference": "b358c8f367c0b240a67cfd92788f0e120522bee5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/catalog/zipball/066e7fed831fc69e7285a44269ea44d5bb489ba4", - "reference": "066e7fed831fc69e7285a44269ea44d5bb489ba4", + "url": "https://api.github.com/repos/spryker/catalog/zipball/b358c8f367c0b240a67cfd92788f0e120522bee5", + "reference": "b358c8f367c0b240a67cfd92788f0e120522bee5", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/catalog-extension": "^1.0.0", "spryker/kernel": "^3.30.0", "spryker/search": "^6.0.0 || ^7.0.0 || ^8.0.0", @@ -16455,9 +16455,9 @@ ], "description": "Catalog module", "support": { - "source": "https://github.com/spryker/catalog/tree/5.9.0" + "source": "https://github.com/spryker/catalog/tree/5.10.0" }, - "time": "2023-09-11T11:36:57+00:00" + "time": "2023-11-17T13:33:28+00:00" }, { "name": "spryker/catalog-extension", @@ -60774,5 +60774,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } From d8aee9d28eec990226890c7fc4e7c06224b0f54b Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Wed, 22 Nov 2023 11:47:49 +0100 Subject: [PATCH 04/64] Updated composer --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 687757fe50..835f8960d0 100644 --- a/composer.json +++ b/composer.json @@ -234,7 +234,7 @@ "codeception/module-webdriver": "^3.1.1", "composer/package-versions-deprecated": "^1.10.0", "filp/whoops": "^2.7", - "phpstan/phpstan": "^1.9.16", + "phpstan/phpstan": "1.9.16", "phpunit/phpunit": "^9.5.2", "spryker-feature/development-tools": "^202311.0", "spryker-sdk/benchmark": "^0.2.2", diff --git a/composer.lock b/composer.lock index b1d5eee854..c1897696b6 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": "a8bce07f7032442fb447df3df2bfd3fb", + "content-hash": "b9aee9bff79d99f241c724486b751975", "packages": [ { "name": "async-aws/core", From f08030d28f068a16e0cd1fa62c80f3767359272d Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Wed, 22 Nov 2023 11:56:16 +0100 Subject: [PATCH 05/64] Updated composer --- composer.json | 1 + composer.lock | 63 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 56 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 835f8960d0..344f93cdaf 100644 --- a/composer.json +++ b/composer.json @@ -239,6 +239,7 @@ "spryker-feature/development-tools": "^202311.0", "spryker-sdk/benchmark": "^0.2.2", "spryker-sdk/composer-constrainer": "^0.2.6", + "spryker-sdk/evaluator": "^0.1.9", "spryker-sdk/phpstan-spryker": "^0.4.0", "spryker/architecture-sniffer": "^0.5.5", "spryker/code-sniffer": "^0.17.18", diff --git a/composer.lock b/composer.lock index c1897696b6..842c3da7a9 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": "b9aee9bff79d99f241c724486b751975", + "content-hash": "96aec6308f057c3b876520222c9c21af", "packages": [ { "name": "async-aws/core", @@ -7066,16 +7066,16 @@ }, { "name": "spryker-sdk/evaluator", - "version": "0.1.11", + "version": "0.1.15", "source": { "type": "git", "url": "https://github.com/spryker-sdk/evaluator.git", - "reference": "e875c3ff60eb09c192f4ca7d8c2cee7d8bb5c0ca" + "reference": "cdd63f1a0b44ec82f37d1644f9981cf93d9a357a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-sdk/evaluator/zipball/e875c3ff60eb09c192f4ca7d8c2cee7d8bb5c0ca", - "reference": "e875c3ff60eb09c192f4ca7d8c2cee7d8bb5c0ca", + "url": "https://api.github.com/repos/spryker-sdk/evaluator/zipball/cdd63f1a0b44ec82f37d1644f9981cf93d9a357a", + "reference": "cdd63f1a0b44ec82f37d1644f9981cf93d9a357a", "shasum": "" }, "require": { @@ -7084,9 +7084,9 @@ "ext-iconv": "*", "ext-json": "*", "guzzlehttp/guzzle": "^7.5", - "laminas/laminas-filter": "^2.11.0", "php": ">=7.4", "spryker-sdk/security-checker": "^0.2.0", + "spryker-sdk/utils": "^0.1.1", "symfony/console": "^5.4|^6.0", "symfony/dotenv": "^5.4|^6.0", "symfony/filesystem": "^5.4|^6.0", @@ -7135,9 +7135,9 @@ "description": "The tool for evaluating Spryker shops", "support": { "issues": "https://github.com/spryker-sdk/evaluator/issues", - "source": "https://github.com/spryker-sdk/evaluator/tree/0.1.11" + "source": "https://github.com/spryker-sdk/evaluator/tree/0.1.15" }, - "time": "2023-10-09T13:31:51+00:00" + "time": "2023-11-16T15:12:17+00:00" }, { "name": "spryker-sdk/security-checker", @@ -7187,6 +7187,53 @@ }, "time": "2023-04-24T11:24:18+00:00" }, + { + "name": "spryker-sdk/utils", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/spryker-sdk/utils.git", + "reference": "1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spryker-sdk/utils/zipball/1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa", + "reference": "1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "ext-mbstring": "*", + "laminas/laminas-filter": "^2.11.0", + "php": ">=7.4", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "symfony/filesystem": "^5.3.0 || ^6.0.0", + "symfony/finder": "^5.3.0 || ^6.0.0", + "symfony/process": "^5.0.0 || ^6.0.0" + }, + "require-dev": { + "ext-zip": "*", + "phpstan/phpstan": "^1.0.0", + "phpunit/phpunit": "^9.5.0", + "spryker/code-sniffer": "0.17.18" + }, + "type": "library", + "autoload": { + "psr-4": { + "SprykerSdk\\Utils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "description": "Spryker SDK Utils Module", + "support": { + "issues": "https://github.com/spryker-sdk/utils/issues", + "source": "https://github.com/spryker-sdk/utils/tree/0.1.1" + }, + "time": "2023-11-14T12:52:26+00:00" + }, { "name": "spryker-shop/agent-page", "version": "1.13.0", From c5a8622777dfb80d548d0686ff3025f9a5e1b48a Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Wed, 22 Nov 2023 15:58:48 +0200 Subject: [PATCH 06/64] FRW-1421 Updated deploy files --- deploy.aws-env-template.yml | 18 ++++++++++++++++++ deploy.ci.api.dynamic-store.yml | 10 ++++++++++ deploy.ci.api.mariadb.dynamic-store.yml | 11 ++++++++++- deploy.ci.api.mariadb.yml | 15 ++++++++++++++- deploy.ci.api.yml | 15 ++++++++++++++- deploy.dynamic-store.yml | 10 ++++++++++ 6 files changed, 76 insertions(+), 3 deletions(-) diff --git a/deploy.aws-env-template.yml b/deploy.aws-env-template.yml index ed66bc5953..fec7243aab 100644 --- a/deploy.aws-env-template.yml +++ b/deploy.aws-env-template.yml @@ -122,6 +122,24 @@ groups: glue.de.example.demo-spryker.com: store: DE primal: true + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.de.example.demo-spryker.com: + store: DE + glue-storefront.at.example.demo-spryker.com: + store: AT + glue-storefront.us.example.demo-spryker.com: + store: US + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.de.example.demo-spryker.com: + store: DE + glue-backend.at.example.demo-spryker.com: + store: AT + glue-backend.us.example.demo-spryker.com: + store: US services: database: engine: mysql diff --git a/deploy.ci.api.dynamic-store.yml b/deploy.ci.api.dynamic-store.yml index eac485a501..46c887f130 100644 --- a/deploy.ci.api.dynamic-store.yml +++ b/deploy.ci.api.dynamic-store.yml @@ -78,6 +78,16 @@ groups: backend-api.eu.spryker.local: region: EU entry-point: BackendApi + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.eu.spryker.local: + region: EU + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.eu.spryker.local: + region: EU services: database: engine: postgres diff --git a/deploy.ci.api.mariadb.dynamic-store.yml b/deploy.ci.api.mariadb.dynamic-store.yml index 1fd67ed1e5..f7500777c4 100644 --- a/deploy.ci.api.mariadb.dynamic-store.yml +++ b/deploy.ci.api.mariadb.dynamic-store.yml @@ -77,7 +77,16 @@ groups: backend-api.eu.spryker.local: region: EU entry-point: BackendApi - + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.eu.spryker.local: + region: EU + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.eu.spryker.local: + region: EU services: database: engine: mysql diff --git a/deploy.ci.api.mariadb.yml b/deploy.ci.api.mariadb.yml index c593694d82..268e24d571 100644 --- a/deploy.ci.api.mariadb.yml +++ b/deploy.ci.api.mariadb.yml @@ -113,7 +113,20 @@ groups: backend-api.at.spryker.local: store: AT entry-point: BackendApi - + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.de.spryker.local: + store: DE + glue-storefront.at.spryker.local: + store: AT + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.de.spryker.local: + store: DE + glue-backend.at.spryker.local: + store: AT services: database: engine: mysql diff --git a/deploy.ci.api.yml b/deploy.ci.api.yml index 6532946467..0489086615 100644 --- a/deploy.ci.api.yml +++ b/deploy.ci.api.yml @@ -109,7 +109,20 @@ groups: backend-api.at.spryker.local: store: AT entry-point: BackendApi - + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.de.spryker.local: + store: DE + glue-storefront.at.spryker.local: + store: AT + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.de.spryker.local: + store: DE + glue-backend.at.spryker.local: + store: AT services: database: engine: postgres diff --git a/deploy.dynamic-store.yml b/deploy.dynamic-store.yml index da51e5a26a..88fb618f60 100644 --- a/deploy.dynamic-store.yml +++ b/deploy.dynamic-store.yml @@ -172,6 +172,16 @@ groups: backend-api.us.spryker.local: region: US entry-point: BackendApi + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.eu.spryker.local: + region: EU + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.eu.spryker.local: + region: EU services: database: engine: mysql From 3fc95ffebf443cc66b200722377b79911bd103dd Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Wed, 22 Nov 2023 17:13:34 +0200 Subject: [PATCH 07/64] FRW-1421 Fixed deploy files --- deploy.aws-env-template.yml | 8 -------- deploy.dynamic-store.yml | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/deploy.aws-env-template.yml b/deploy.aws-env-template.yml index fec7243aab..143d013457 100644 --- a/deploy.aws-env-template.yml +++ b/deploy.aws-env-template.yml @@ -127,19 +127,11 @@ groups: endpoints: glue-storefront.de.example.demo-spryker.com: store: DE - glue-storefront.at.example.demo-spryker.com: - store: AT - glue-storefront.us.example.demo-spryker.com: - store: US glue_backend_eu: application: glue-backend endpoints: glue-backend.de.example.demo-spryker.com: store: DE - glue-backend.at.example.demo-spryker.com: - store: AT - glue-backend.us.example.demo-spryker.com: - store: US services: database: engine: mysql diff --git a/deploy.dynamic-store.yml b/deploy.dynamic-store.yml index 88fb618f60..e3994e4d9b 100644 --- a/deploy.dynamic-store.yml +++ b/deploy.dynamic-store.yml @@ -118,6 +118,16 @@ groups: backend-api.eu.spryker.local: region: EU entry-point: BackendApi + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.eu.spryker.local: + region: EU + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.eu.spryker.local: + region: EU US: region: US applications: @@ -172,16 +182,6 @@ groups: backend-api.us.spryker.local: region: US entry-point: BackendApi - glue_storefront_eu: - application: glue-storefront - endpoints: - glue-storefront.eu.spryker.local: - region: EU - glue_backend_eu: - application: glue-backend - endpoints: - glue-backend.eu.spryker.local: - region: EU services: database: engine: mysql From 3de1a0d73c20a972cb07252808cbbd881a234ec6 Mon Sep 17 00:00:00 2001 From: upgrader Date: Fri, 24 Nov 2023 13:14:21 +0000 Subject: [PATCH 08/64] Applied release group `CC-31112 Fixed several calls of cart recalculation in Checkout API.`, RG link https://api.release.spryker.com/release-group/5145 --- composer.lock | 30 +++++++++---------- .../CheckoutRestApi/CheckoutRestApiConfig.php | 15 ++++++++++ 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/composer.lock b/composer.lock index 842c3da7a9..ba189309dd 100644 --- a/composer.lock +++ b/composer.lock @@ -17803,20 +17803,20 @@ }, { "name": "spryker/checkout-rest-api", - "version": "3.9.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/spryker/checkout-rest-api.git", - "reference": "574f5fd9bb0c530596d58adfd18934a46b1f3a2c" + "reference": "2febb7bcb599684982ce56bbeb6622dcf5df2ef0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/checkout-rest-api/zipball/574f5fd9bb0c530596d58adfd18934a46b1f3a2c", - "reference": "574f5fd9bb0c530596d58adfd18934a46b1f3a2c", + "url": "https://api.github.com/repos/spryker/checkout-rest-api/zipball/2febb7bcb599684982ce56bbeb6622dcf5df2ef0", + "reference": "2febb7bcb599684982ce56bbeb6622dcf5df2ef0", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/calculation": "^4.9.0", "spryker/cart": "^5.0.0 || ^7.0.0", "spryker/carts-rest-api": "^2.2.0 || ^3.0.0 || ^5.0.0", @@ -17831,7 +17831,7 @@ "spryker/quote": "^2.0.0", "spryker/shipment": "^7.0.0 || ^8.0.0", "spryker/symfony": "^3.0.0", - "spryker/transfer": "^3.25.0", + "spryker/transfer": "^3.27.0", "spryker/zed-request": "^3.0.0" }, "require-dev": { @@ -17858,9 +17858,9 @@ ], "description": "CheckoutRestApi module", "support": { - "source": "https://github.com/spryker/checkout-rest-api/tree/3.9.0" + "source": "https://github.com/spryker/checkout-rest-api/tree/3.10.0" }, - "time": "2023-10-25T07:06:24+00:00" + "time": "2023-11-24T10:18:08+00:00" }, { "name": "spryker/checkout-rest-api-extension", @@ -43650,20 +43650,20 @@ }, { "name": "spryker/shipment", - "version": "8.18.0", + "version": "8.19.0", "source": { "type": "git", "url": "https://github.com/spryker/shipment.git", - "reference": "8db63fbda1343fb0eb5af35d59e94061d9ce6d52" + "reference": "4f575b31cf7bf500750e71e3fda53a0663644088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipment/zipball/8db63fbda1343fb0eb5af35d59e94061d9ce6d52", - "reference": "8db63fbda1343fb0eb5af35d59e94061d9ce6d52", + "url": "https://api.github.com/repos/spryker/shipment/zipball/4f575b31cf7bf500750e71e3fda53a0663644088", + "reference": "4f575b31cf7bf500750e71e3fda53a0663644088", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl-merchant-portal-extension": "^1.0.0", "spryker/calculation": "^4.9.0", "spryker/calculation-extension": "^1.0.0", @@ -43716,9 +43716,9 @@ ], "description": "Shipment module", "support": { - "source": "https://github.com/spryker/shipment/tree/8.18.0" + "source": "https://github.com/spryker/shipment/tree/8.19.0" }, - "time": "2023-10-25T07:06:24+00:00" + "time": "2023-11-24T10:18:08+00:00" }, { "name": "spryker/shipment-cart-connector", diff --git a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php index 14dd5bfc45..51e4e16795 100644 --- a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php +++ b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php @@ -18,4 +18,19 @@ public function shouldExecuteQuotePostRecalculationPlugins(): bool { return false; } + + /** + * Specification: + * - If set to `true`, quote recalculation in a stack of {@link \Spryker\Zed\CheckoutRestApiExtension\Dependency\Plugin\QuoteMapperPluginInterface} will be enabled. + * - Impacts {@link \Spryker\Zed\CheckoutRestApi\Business\CheckoutRestApiFacade::getCheckoutData()} method. + * - Impacts {@link \Spryker\Zed\CheckoutRestApi\Business\CheckoutRestApiFacade::placeOrder()} method. + * + * @api + * + * @return bool + */ + public function isRecalculationEnabledForQuoteMapperPlugins(): bool + { + return false; + } } From 3bef24cea4e2f416197b0e433b8a84ebd7add95a Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Fri, 24 Nov 2023 14:17:33 +0100 Subject: [PATCH 09/64] CC-31112: removed specification. --- src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php index 51e4e16795..ba5548e5c8 100644 --- a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php +++ b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiConfig.php @@ -20,13 +20,6 @@ public function shouldExecuteQuotePostRecalculationPlugins(): bool } /** - * Specification: - * - If set to `true`, quote recalculation in a stack of {@link \Spryker\Zed\CheckoutRestApiExtension\Dependency\Plugin\QuoteMapperPluginInterface} will be enabled. - * - Impacts {@link \Spryker\Zed\CheckoutRestApi\Business\CheckoutRestApiFacade::getCheckoutData()} method. - * - Impacts {@link \Spryker\Zed\CheckoutRestApi\Business\CheckoutRestApiFacade::placeOrder()} method. - * - * @api - * * @return bool */ public function isRecalculationEnabledForQuoteMapperPlugins(): bool From 131e25858c5b91fae0da7a26a7ef912fbe400508 Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Fri, 24 Nov 2023 15:41:03 +0100 Subject: [PATCH 10/64] CC-32019 Updated phpstan --- composer.json | 2 +- composer.lock | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 344f93cdaf..01d1c38952 100644 --- a/composer.json +++ b/composer.json @@ -234,7 +234,7 @@ "codeception/module-webdriver": "^3.1.1", "composer/package-versions-deprecated": "^1.10.0", "filp/whoops": "^2.7", - "phpstan/phpstan": "1.9.16", + "phpstan/phpstan": "^1.10.44", "phpunit/phpunit": "^9.5.2", "spryker-feature/development-tools": "^202311.0", "spryker-sdk/benchmark": "^0.2.2", diff --git a/composer.lock b/composer.lock index 842c3da7a9..083ddc6022 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": "96aec6308f057c3b876520222c9c21af", + "content-hash": "b40ffac147ec6d916e8007eaf3d484d1", "packages": [ { "name": "async-aws/core", @@ -57774,16 +57774,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.9.16", + "version": "1.10.44", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "922e2689bb180575d0f57de0443c431a5a698e8f" + "reference": "bf84367c53a23f759513985c54ffe0d0c249825b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/922e2689bb180575d0f57de0443c431a5a698e8f", - "reference": "922e2689bb180575d0f57de0443c431a5a698e8f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/bf84367c53a23f759513985c54ffe0d0c249825b", + "reference": "bf84367c53a23f759513985c54ffe0d0c249825b", "shasum": "" }, "require": { @@ -57812,8 +57812,11 @@ "static analysis" ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.9.16" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -57829,7 +57832,7 @@ "type": "tidelift" } ], - "time": "2023-02-07T10:42:21+00:00" + "time": "2023-11-21T16:30:46+00:00" }, { "name": "phpunit/php-code-coverage", From ea643ddedb2b78a56d79dbbb6509bffbce9e3fbe Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Fri, 24 Nov 2023 17:36:06 +0100 Subject: [PATCH 11/64] CC-31112: updated packages versions. --- composer.json | 4 ++-- composer.lock | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 344f93cdaf..bb397d8dff 100644 --- a/composer.json +++ b/composer.json @@ -59,7 +59,7 @@ "spryker-feature/return-management": "^202311.0", "spryker-feature/scheduled-prices": "^202311.0", "spryker-feature/search": "^202311.0", - "spryker-feature/shipment": "^202311.0", + "spryker-feature/shipment": "dev-master as 202403.0", "spryker-feature/spryker-core": "^202311.0", "spryker-feature/spryker-core-back-office": "^202311.0", "spryker-feature/state-machine": "^202311.0", @@ -96,7 +96,7 @@ "spryker/category-discount-connector": "^1.3.0", "spryker/category-navigation-connector": "^1.0.3", "spryker/chart-gui": "^1.1.1", - "spryker/checkout-rest-api": "^3.9.0", + "spryker/checkout-rest-api": "^3.10.0", "spryker/cms-content-widget-cms-block-connector": "^1.4.0", "spryker/cms-content-widget-content-connector": "^1.0.0", "spryker/cms-content-widget-product-connector": "^1.2.0", diff --git a/composer.lock b/composer.lock index ba189309dd..d3739157cc 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": "96aec6308f057c3b876520222c9c21af", + "content-hash": "5dab494481b8081d35b16e8450250213", "packages": [ { "name": "async-aws/core", @@ -6680,7 +6680,7 @@ }, { "name": "spryker-feature/shipment", - "version": "202311.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/shipment.git", @@ -6704,6 +6704,7 @@ "spryker/shipment-type-data-import": "^0.2.0", "spryker/shipment-type-storage": "^1.0.0" }, + "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -60839,9 +60840,17 @@ "time": "2022-06-03T18:03:27+00:00" } ], - "aliases": [], + "aliases": [ + { + "package": "spryker-feature/shipment", + "version": "9999999-dev", + "alias": "202403.0", + "alias_normalized": "202403.0" + } + ], "minimum-stability": "dev", "stability-flags": { + "spryker-feature/shipment": 20, "spryker/docker-chromedriver": 20, "spryker/robotframework-suite-tests": 20 }, From 64fa628cbffbcc3696ff9bd50d6844d3a313a6a4 Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Mon, 27 Nov 2023 11:28:00 +0100 Subject: [PATCH 12/64] CC-32019 Fixed phpstan --- phpstan.neon | 1 + .../Catalog/CatalogDependencyProvider.php | 7 +- ...ampleProductSalePageDependencyProvider.php | 5 +- .../ProductNewDependencyProvider.php | 7 +- .../Business/DataImportBusinessFactory.php | 164 ++++++++++-------- .../Model/CmsBlock/CmsBlockWriterStep.php | 1 + .../Product/Repository/ProductRepository.php | 17 +- .../ProductAbstractHydratorStep.php | 7 +- .../ProductConcreteHydratorStep.php | 17 +- .../ProductStockPropelDataSetWriter.php | 8 +- .../Model/Tax/TaxSetNameToIdTaxSetStep.php | 2 +- .../Model/ExampleStateMachineItemReader.php | 1 + .../ExampleStateMachineQueryContainer.php | 13 +- 13 files changed, 141 insertions(+), 109 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index acb7596e61..d0a5baf4f7 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -20,6 +20,7 @@ parameters: - '#Call to an undefined method .+DataSetStepBrokerAwareInterface::addAfterImportHook\(\).#' - '#Parameter \#1 \$rawCatalogSearchResultFormatterPlugin of class .+CurrencyAwareSuggestionByTypeResultFormatter constructor expects .+ResultFormatterPluginInterface, .+SuggestionByTypeResultFormatterPlugin given.#' - '#Method .+CheckoutPageDependencyProvider::.+\(\) return type has no value type specified in iterable type .+FormInterface.#' + - '#PHPDoc tag .+with type string is not subtype of native type mixed.#' reportUnmatchedIgnoredErrors: false diff --git a/src/Pyz/Client/Catalog/CatalogDependencyProvider.php b/src/Pyz/Client/Catalog/CatalogDependencyProvider.php index a109c622a9..736f5a7ddf 100644 --- a/src/Pyz/Client/Catalog/CatalogDependencyProvider.php +++ b/src/Pyz/Client/Catalog/CatalogDependencyProvider.php @@ -128,21 +128,16 @@ protected function createCatalogSearchQueryExpanderPlugins(): array } /** - * @phpstan-return array<\Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface> - * * @return array<\Spryker\Client\Search\Dependency\Plugin\ResultFormatterPluginInterface|\Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface> */ protected function createCatalogSearchResultFormatterPlugins(): array { - /** @phpstan-var \Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface $rawCatalogSearchResultFormatterPlugin */ - $rawCatalogSearchResultFormatterPlugin = new RawCatalogSearchResultFormatterPlugin(); - return [ new FacetResultFormatterPlugin(), new SortedResultFormatterPlugin(), new PaginatedResultFormatterPlugin(), new CurrencyAwareCatalogSearchResultFormatterPlugin( - $rawCatalogSearchResultFormatterPlugin, + new RawCatalogSearchResultFormatterPlugin(), ), new SpellingSuggestionResultFormatterPlugin(), new CategoryTreeFilterPageSearchResultFormatterPlugin(), diff --git a/src/Pyz/Client/ExampleProductSalePage/ExampleProductSalePageDependencyProvider.php b/src/Pyz/Client/ExampleProductSalePage/ExampleProductSalePageDependencyProvider.php index 4a2cbb9edc..bbdd22736b 100644 --- a/src/Pyz/Client/ExampleProductSalePage/ExampleProductSalePageDependencyProvider.php +++ b/src/Pyz/Client/ExampleProductSalePage/ExampleProductSalePageDependencyProvider.php @@ -166,15 +166,12 @@ protected function addSaleSearchResultFormatterPlugins(Container $container): Co */ protected function getSaleSearchResultFormatterPlugins(): array { - /** @phpstan-var \Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface $rawCatalogSearchResultFormatterPlugin */ - $rawCatalogSearchResultFormatterPlugin = new RawCatalogSearchResultFormatterPlugin(); - return [ new FacetResultFormatterPlugin(), new SortedResultFormatterPlugin(), new PaginatedResultFormatterPlugin(), new CurrencyAwareCatalogSearchResultFormatterPlugin( - $rawCatalogSearchResultFormatterPlugin, + new RawCatalogSearchResultFormatterPlugin(), ), ]; } diff --git a/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php b/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php index 3e74bad2d1..73c9264579 100644 --- a/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php +++ b/src/Pyz/Client/ProductNew/ProductNewDependencyProvider.php @@ -42,21 +42,16 @@ protected function getNewProductsQueryExpanderPlugins(): array } /** - * @phpstan-return array<\Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface> - * * @return array<\Spryker\Client\Search\Dependency\Plugin\ResultFormatterPluginInterface>|array<\Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface> */ protected function getNewProductsResultFormatterPlugins(): array { - /** @phpstan-var \Spryker\Client\SearchExtension\Dependency\Plugin\ResultFormatterPluginInterface $rawCatalogSearchResultFormatterPlugin */ - $rawCatalogSearchResultFormatterPlugin = new RawCatalogSearchResultFormatterPlugin(); - return [ new FacetResultFormatterPlugin(), new SortedResultFormatterPlugin(), new PaginatedResultFormatterPlugin(), new CurrencyAwareCatalogSearchResultFormatterPlugin( - $rawCatalogSearchResultFormatterPlugin, + new RawCatalogSearchResultFormatterPlugin(), ), ]; } diff --git a/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php b/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php index 39839f18a0..18415ee7f6 100644 --- a/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php +++ b/src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php @@ -294,10 +294,11 @@ protected function createCategoryTemplateImporter(DataImportConfigurationActionT /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createCustomerImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createCustomerImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -313,10 +314,11 @@ protected function createCustomerImporter(DataImportConfigurationActionTransfer /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createCmsTemplateImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createCmsTemplateImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -333,10 +335,11 @@ protected function createCmsTemplateImporter(DataImportConfigurationActionTransf /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createCmsBlockImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createCmsBlockImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -360,10 +363,11 @@ protected function createCmsBlockImporter(DataImportConfigurationActionTransfer /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createCmsBlockStoreImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createCmsBlockStoreImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -378,10 +382,11 @@ protected function createCmsBlockStoreImporter(DataImportConfigurationActionTran /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createDiscountImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createDiscountImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -398,10 +403,11 @@ protected function createDiscountImporter(DataImportConfigurationActionTransfer /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createDiscountStoreImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createDiscountStoreImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -416,10 +422,11 @@ protected function createDiscountStoreImporter(DataImportConfigurationActionTran /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createDiscountAmountImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createDiscountAmountImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -436,10 +443,11 @@ protected function createDiscountAmountImporter(DataImportConfigurationActionTra /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createDiscountVoucherImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createDiscountVoucherImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -464,10 +472,11 @@ protected function createDiscountConfig(): DiscountConfig /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductOptionImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductOptionImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -490,10 +499,11 @@ protected function createProductOptionImporter(DataImportConfigurationActionTran /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductOptionPriceImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductOptionPriceImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -515,7 +525,7 @@ protected function createProductOptionPriceImporter(DataImportConfigurationActio public function createProductStockImporter( DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, ): DataImporterInterface { - /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ + /** @phpstan-var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ $dataImporter = $this->getCsvDataImporterWriterAwareFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -561,7 +571,7 @@ protected function getProductBundleFacade(): ProductBundleFacadeInterface public function createProductImageImporter( DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, ): DataImporterInterface { - /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ + /** @phpstan-var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ $dataImporter = $this->getCsvDataImporterWriterAwareFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -590,10 +600,11 @@ protected function createLocaleRepository(): LocaleRepositoryInterface /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createTaxImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createTaxImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -618,10 +629,11 @@ protected function createCountryRepository(): CountryRepositoryInterface /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createNavigationImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createNavigationImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -638,10 +650,11 @@ protected function createNavigationImporter(DataImportConfigurationActionTransfe /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createNavigationNodeImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createNavigationNodeImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -697,7 +710,7 @@ protected function createNavigationNodeValidityDatesStep( public function createProductAbstractImporter( DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, ): DataImporterInterface { - /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ + /** @phpstan-var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ $dataImporter = $this->getCsvDataImporterWriterAwareFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -733,7 +746,7 @@ public function createProductAbstractImporter( public function createProductAbstractStoreImporter( DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, ): DataImporterInterface { - /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ + /** @phpstan-var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ $dataImporter = $this->getCsvDataImporterWriterAwareFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -755,7 +768,7 @@ public function createProductAbstractStoreImporter( public function createProductConcreteImporter( DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, ): DataImporterInterface { - /** @var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterBeforeImportAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterAfterImportAwareInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ + /** @phpstan-var \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterBeforeImportAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterAfterImportAwareInterface&\Spryker\Zed\DataImport\Business\Model\DataImporterDataSetWriterAwareInterface $dataImporter */ $dataImporter = $this->getCsvDataImporterWriterAwareFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -959,10 +972,11 @@ protected function createProductRepository(): ProductRepository /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductAttributeKeyImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductAttributeKeyImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -979,10 +993,11 @@ protected function createProductAttributeKeyImporter(DataImportConfigurationActi /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductManagementAttributeImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductManagementAttributeImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1010,10 +1025,11 @@ protected function createProductManagementLocalizedAttributesExtractorStep(): Pr /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductGroupImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductGroupImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1032,10 +1048,11 @@ protected function createProductGroupImporter(DataImportConfigurationActionTrans /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createAbstractGiftCardConfigurationImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createAbstractGiftCardConfigurationImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1050,10 +1067,11 @@ protected function createAbstractGiftCardConfigurationImporter(DataImportConfigu /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createConcreteGiftCardConfigurationImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createConcreteGiftCardConfigurationImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1068,10 +1086,11 @@ protected function createConcreteGiftCardConfigurationImporter(DataImportConfigu /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductReviewImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductReviewImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1090,10 +1109,11 @@ protected function createProductReviewImporter(DataImportConfigurationActionTran /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductSetImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductSetImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1131,10 +1151,11 @@ protected function createProductSetImageExtractorStep(): ProductSetImageExtracto /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductSearchAttributeMapImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductSearchAttributeMapImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); @@ -1152,10 +1173,11 @@ protected function createProductSearchAttributeMapImporter(DataImportConfigurati /** * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer * - * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface + * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface */ - protected function createProductSearchAttributeImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer) - { + protected function createProductSearchAttributeImporter( + DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer, + ): DataImporterInterface { $dataImporter = $this->getCsvDataImporterFromConfig( $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer), ); diff --git a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php index 4b831831c8..5165fac1de 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/CmsBlock/CmsBlockWriterStep.php @@ -144,6 +144,7 @@ protected function findOrCreateCmsBlockPlaceholderTranslation(DataSetInterface $ { foreach ($dataSet[LocalizedAttributesExtractorStep::KEY_LOCALIZED_ATTRIBUTES] as $idLocale => $placeholder) { foreach ($placeholder as $key => $value) { + /** @var string $key */ $key = str_replace('placeholder.', '', $key); $keyName = CmsBlockGlossaryKeyGenerator::GENERATED_GLOSSARY_KEY_PREFIX . '.'; $keyName .= str_replace([' ', '.'], '-', $dataSet[static::KEY_TEMPLATE_NAME]) . '.'; diff --git a/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php b/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php index 4077e4ab72..c24d2ba26a 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Product/Repository/ProductRepository.php @@ -86,10 +86,12 @@ public function getIdProductAbstractByAbstractSku($sku): int */ public function getSkuProductAbstractList(): array { - return SpyProductAbstractQuery::create() + /** @var \Propel\Runtime\Collection\ArrayCollection $productAbstractEntities */ + $productAbstractEntities = SpyProductAbstractQuery::create() ->select([SpyProductAbstractTableMap::COL_SKU]) - ->find() - ->toArray(); + ->find(); + + return $productAbstractEntities->toArray(); } /** @@ -97,10 +99,12 @@ public function getSkuProductAbstractList(): array */ public function getSkuProductConcreteList(): array { - return SpyProductQuery::create() + /** @var \Propel\Runtime\Collection\ArrayCollection $productEntities */ + $productEntities = SpyProductQuery::create() ->select([SpyProductTableMap::COL_SKU]) - ->find() - ->toArray(); + ->find(); + + return $productEntities->toArray(); } /** @@ -116,6 +120,7 @@ public function getProductConcreteAttributesCollection(PaginationTransfer $pagin $productQuery = $this->applyPagination($productQuery, $paginationTransfer); + /** @phpstan-var \Propel\Runtime\Collection\ArrayCollection */ return $productQuery->find(); } diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractHydratorStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractHydratorStep.php index e07f7b1fa2..56677eb58c 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractHydratorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductAbstract/ProductAbstractHydratorStep.php @@ -204,10 +204,15 @@ protected function importProductAbstract(DataSetInterface $dataSet): void $productAbstractEntityTransfer ->setColorCode($dataSet[static::COLUMN_COLOR_CODE]) ->setFkTaxSet($dataSet[static::KEY_ID_TAX_SET]) - ->setAttributes(json_encode($dataSet[static::KEY_ATTRIBUTES])) ->setNewFrom($dataSet[static::COLUMN_NEW_FROM]) ->setNewTo($dataSet[static::COLUMN_NEW_TO]); + $attributes = json_encode($dataSet[static::KEY_ATTRIBUTES]); + + if ($attributes) { + $productAbstractEntityTransfer->setAttributes($attributes); + } + $dataSet[static::DATA_PRODUCT_ABSTRACT_TRANSFER] = $productAbstractEntityTransfer; } diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteHydratorStep.php b/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteHydratorStep.php index 4063023adf..771a9d17b7 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteHydratorStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductConcrete/ProductConcreteHydratorStep.php @@ -207,9 +207,13 @@ protected function importProduct(DataSetInterface $dataSet): void { $productEntityTransfer = new SpyProductEntityTransfer(); $productEntityTransfer->setSku($dataSet[static::COLUMN_CONCRETE_SKU]); - $productEntityTransfer - ->setIsActive($dataSet[static::KEY_IS_ACTIVE] ?? true) - ->setAttributes(json_encode($dataSet[static::KEY_ATTRIBUTES])); + $productEntityTransfer->setIsActive($dataSet[static::KEY_IS_ACTIVE] ?? true); + + $attributes = json_encode($dataSet[static::KEY_ATTRIBUTES]); + + if ($attributes) { + $productEntityTransfer->setAttributes($attributes); + } if ($this->isProductColumn(static::COLUMN_IS_QUANTITY_SPLITTABLE)) { $isQuantitySplittable = ( @@ -237,9 +241,14 @@ protected function importProductLocalizedAttributes(DataSetInterface $dataSet): ->setName($localizedAttributes[static::COLUMN_NAME]) ->setDescription($localizedAttributes[static::COLUMN_DESCRIPTION]) ->setIsComplete($localizedAttributes[static::KEY_IS_COMPLETE] ?? true) - ->setAttributes(json_encode($localizedAttributes[static::KEY_ATTRIBUTES])) ->setFkLocale($idLocale); + $attributes = json_encode($localizedAttributes[static::KEY_ATTRIBUTES]); + + if ($attributes) { + $productLocalizedAttributesEntityTransfer->setAttributes($attributes); + } + $productSearchEntityTransfer = new SpyProductSearchEntityTransfer(); $productSearchEntityTransfer ->setFkLocale($idLocale) diff --git a/src/Pyz/Zed/DataImport/Business/Model/ProductStock/Writer/ProductStockPropelDataSetWriter.php b/src/Pyz/Zed/DataImport/Business/Model/ProductStock/Writer/ProductStockPropelDataSetWriter.php index 850a2dd393..1ff51def61 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/ProductStock/Writer/ProductStockPropelDataSetWriter.php +++ b/src/Pyz/Zed/DataImport/Business/Model/ProductStock/Writer/ProductStockPropelDataSetWriter.php @@ -214,10 +214,10 @@ protected function getAvailabilityAbstractIdsForCollectedAbstractSkus(): array return SpyAvailabilityAbstractQuery::create() ->joinWithSpyAvailability() + ->filterByAbstractSku_In(static::$productAbstractSkus) ->useSpyAvailabilityQuery() ->filterByFkStore_In($storeIds) ->endUse() - ->filterByAbstractSku_In(static::$productAbstractSkus) ->select([ SpyAvailabilityAbstractTableMap::COL_ID_AVAILABILITY_ABSTRACT, ]) @@ -347,18 +347,18 @@ protected function getReservationQuantityForStore(string $sku, StoreTransfer $st { $idStore = $this->getIdStore($storeTransfer); + /** @var \Propel\Runtime\Collection\ArrayCollection $productReservations */ $productReservations = SpyOmsProductReservationQuery::create() ->filterBySku($sku) ->filterByFkStore($idStore) ->select([ SpyOmsProductReservationTableMap::COL_RESERVATION_QUANTITY, ]) - ->find() - ->toArray(); + ->find(); $reservationQuantity = new Decimal(0); - foreach ($productReservations as $productReservationQuantity) { + foreach ($productReservations->toArray() as $productReservationQuantity) { $reservationQuantity = $reservationQuantity->add($productReservationQuantity); } diff --git a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php index 2b85e14378..5a33c1664d 100644 --- a/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php +++ b/src/Pyz/Zed/DataImport/Business/Model/Tax/TaxSetNameToIdTaxSetStep.php @@ -35,7 +35,7 @@ class TaxSetNameToIdTaxSetStep implements DataImportStepInterface protected $target; /** - * @var array + * @var array */ protected $resolved = []; diff --git a/src/Pyz/Zed/ExampleStateMachine/Business/Model/ExampleStateMachineItemReader.php b/src/Pyz/Zed/ExampleStateMachine/Business/Model/ExampleStateMachineItemReader.php index 5843ce32cd..55a9cf548d 100644 --- a/src/Pyz/Zed/ExampleStateMachine/Business/Model/ExampleStateMachineItemReader.php +++ b/src/Pyz/Zed/ExampleStateMachine/Business/Model/ExampleStateMachineItemReader.php @@ -32,6 +32,7 @@ public function __construct(ExampleStateMachineQueryContainerInterface $exampleS */ public function getStateMachineItemTransferByItemStateIds(array $stateIds = []): array { + /** @var \Propel\Runtime\Collection\ObjectCollection<\Orm\Zed\ExampleStateMachine\Persistence\ExampleStateMachineItem> $exampleStateMachineItems */ $exampleStateMachineItems = $this->exampleStateMachineQueryContainer ->queryStateMachineItemsByStateIds($stateIds) ->find(); diff --git a/src/Pyz/Zed/ExampleStateMachine/Persistence/ExampleStateMachineQueryContainer.php b/src/Pyz/Zed/ExampleStateMachine/Persistence/ExampleStateMachineQueryContainer.php index b1be03e461..14f5bf8c79 100644 --- a/src/Pyz/Zed/ExampleStateMachine/Persistence/ExampleStateMachineQueryContainer.php +++ b/src/Pyz/Zed/ExampleStateMachine/Persistence/ExampleStateMachineQueryContainer.php @@ -26,9 +26,9 @@ class ExampleStateMachineQueryContainer extends AbstractQueryContainer implement */ public function queryStateMachineItemsByStateIds(array $stateIds = []): ExampleStateMachineItemQuery { - return $this->getFactory() - ->createExampleStateMachineQuery() - ->filterByFkStateMachineItemState($stateIds, Criteria::IN); + return $this->getFactory() + ->createExampleStateMachineQuery() + ->filterByFkStateMachineItemState($stateIds, Criteria::IN); } /** @@ -38,9 +38,10 @@ public function queryStateMachineItemsByStateIds(array $stateIds = []): ExampleS */ public function queryAllStateMachineItems(): ObjectCollection { - return $this->getFactory() - ->createExampleStateMachineQuery() - ->find(); + /** @phpstan-var \Propel\Runtime\Collection\ObjectCollection<\Orm\Zed\ExampleStateMachine\Persistence\ExampleStateMachineItem> */ + return $this->getFactory() + ->createExampleStateMachineQuery() + ->find(); } /** From 2b117c59d2c94c53da4907336226070071c9589c Mon Sep 17 00:00:00 2001 From: upgrader Date: Mon, 27 Nov 2023 12:21:36 +0000 Subject: [PATCH 13/64] Applied release group `CC-26451 Fixed Insecure Password Reset Workflow`, RG link https://api.release.spryker.com/release-group/5137 --- composer.lock | 54 ++++++++++--------- .../Yves/CustomerPage/CustomerPageConfig.php | 5 ++ src/Pyz/Zed/Customer/CustomerConfig.php | 5 ++ src/Pyz/Zed/SecurityGui/SecurityGuiConfig.php | 5 ++ 4 files changed, 44 insertions(+), 25 deletions(-) diff --git a/composer.lock b/composer.lock index 842c3da7a9..d65d63cc98 100644 --- a/composer.lock +++ b/composer.lock @@ -9271,16 +9271,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "2.47.0", + "version": "2.49.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "fccadb383a9e85054e918f7d2a010f888710ed39" + "reference": "08ba64b07809edc26c5865c3289f50ccefeb744a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/fccadb383a9e85054e918f7d2a010f888710ed39", - "reference": "fccadb383a9e85054e918f7d2a010f888710ed39", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/08ba64b07809edc26c5865c3289f50ccefeb744a", + "reference": "08ba64b07809edc26c5865c3289f50ccefeb744a", "shasum": "" }, "require": { @@ -9297,11 +9297,13 @@ "spryker/quote": "^1.0.0 || ^2.1.0", "spryker/router": "^1.6.0", "spryker/sales": "^8.15.0 || ^10.0.0 || ^11.8.0", + "spryker/security-blocker": "^1.0.0", "spryker/security-extension": "^1.0.0", "spryker/shipment": "^7.0.0 || ^8.0.0", "spryker/step-engine": "^3.3.0", "spryker/store": "^1.19.0", "spryker/symfony": "^3.1.0", + "spryker/transfer": "^3.25.0", "spryker/twig": "^3.18.0", "spryker/twig-extension": "^1.0.0", "spryker/util-validate": "^1.0.0" @@ -9362,9 +9364,9 @@ ], "description": "CustomerPage module", "support": { - "source": "https://github.com/spryker-shop/customer-page/tree/2.47.0" + "source": "https://github.com/spryker-shop/customer-page/tree/2.49.0" }, - "time": "2023-11-02T20:09:30+00:00" + "time": "2023-11-24T22:16:29+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -22781,16 +22783,16 @@ }, { "name": "spryker/customer", - "version": "7.52.0", + "version": "7.53.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "1528274b54d1eb1bfbf0da8c29fae4da2f248696" + "reference": "3a201143cb7b4033f11a2050120d4bd744c160eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/1528274b54d1eb1bfbf0da8c29fae4da2f248696", - "reference": "1528274b54d1eb1bfbf0da8c29fae4da2f248696", + "url": "https://api.github.com/repos/spryker/customer/zipball/3a201143cb7b4033f11a2050120d4bd744c160eb", + "reference": "3a201143cb7b4033f11a2050120d4bd744c160eb", "shasum": "" }, "require": { @@ -22857,9 +22859,9 @@ ], "description": "Customer module", "support": { - "source": "https://github.com/spryker/customer/tree/7.52.0" + "source": "https://github.com/spryker/customer/tree/7.53.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-11-24T22:16:26+00:00" }, { "name": "spryker/customer-access", @@ -42861,16 +42863,16 @@ }, { "name": "spryker/security-gui", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker/security-gui.git", - "reference": "45c1be9a89726a82a71c31afd4a472fc21d2a190" + "reference": "6ed419c3267d56e6bc91abea2268926943c28719" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security-gui/zipball/45c1be9a89726a82a71c31afd4a472fc21d2a190", - "reference": "45c1be9a89726a82a71c31afd4a472fc21d2a190", + "url": "https://api.github.com/repos/spryker/security-gui/zipball/6ed419c3267d56e6bc91abea2268926943c28719", + "reference": "6ed419c3267d56e6bc91abea2268926943c28719", "shasum": "" }, "require": { @@ -42878,6 +42880,7 @@ "spryker/kernel": "^3.30.0", "spryker/messenger": "^3.0.0", "spryker/security": "^1.3.0", + "spryker/security-blocker": "^1.0.0", "spryker/security-extension": "^1.0.0", "spryker/security-gui-extension": "^1.2.0", "spryker/symfony": "^3.5.0", @@ -42919,9 +42922,9 @@ ], "description": "SecurityGui module", "support": { - "source": "https://github.com/spryker/security-gui/tree/1.4.0" + "source": "https://github.com/spryker/security-gui/tree/1.5.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-11-24T22:16:26+00:00" }, { "name": "spryker/security-gui-extension", @@ -47252,22 +47255,23 @@ }, { "name": "spryker/user-password-reset", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker/user-password-reset.git", - "reference": "c2cbea430658f1d4a0b4f110018e43d4cdcac450" + "reference": "9b8df93135a0f0c6b88f54c0681dbe0a78e51f7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user-password-reset/zipball/c2cbea430658f1d4a0b4f110018e43d4cdcac450", - "reference": "c2cbea430658f1d4a0b4f110018e43d4cdcac450", + "url": "https://api.github.com/repos/spryker/user-password-reset/zipball/9b8df93135a0f0c6b88f54c0681dbe0a78e51f7c", + "reference": "9b8df93135a0f0c6b88f54c0681dbe0a78e51f7c", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl-merchant-portal-extension": "^1.0.0", "spryker/kernel": "^3.30.0", + "spryker/propel-orm": "^1.0.0", "spryker/transfer": "^3.27.0", "spryker/user": "^3.17.0", "spryker/user-password-reset-extension": "^1.0.0", @@ -47295,9 +47299,9 @@ ], "description": "UserPasswordReset module", "support": { - "source": "https://github.com/spryker/user-password-reset/tree/1.4.0" + "source": "https://github.com/spryker/user-password-reset/tree/1.5.0" }, - "time": "2023-03-10T14:11:16+00:00" + "time": "2023-11-24T22:16:26+00:00" }, { "name": "spryker/user-password-reset-extension", diff --git a/src/Pyz/Yves/CustomerPage/CustomerPageConfig.php b/src/Pyz/Yves/CustomerPage/CustomerPageConfig.php index 91a3ef06c7..b3161e2361 100644 --- a/src/Pyz/Yves/CustomerPage/CustomerPageConfig.php +++ b/src/Pyz/Yves/CustomerPage/CustomerPageConfig.php @@ -11,6 +11,11 @@ class CustomerPageConfig extends SprykerCustomerPageConfig { + /** + * @var bool + */ + protected const CUSTOMER_SECURITY_BLOCKER_ENABLED = true; + /** * @var string */ diff --git a/src/Pyz/Zed/Customer/CustomerConfig.php b/src/Pyz/Zed/Customer/CustomerConfig.php index 14192a5d09..a1e5314079 100644 --- a/src/Pyz/Zed/Customer/CustomerConfig.php +++ b/src/Pyz/Zed/Customer/CustomerConfig.php @@ -11,6 +11,11 @@ class CustomerConfig extends SprykerCustomerConfig { + /** + * @var bool + */ + protected const PASSWORD_RESET_EXPIRATION_IS_ENABLED = true; + /** * @var int */ diff --git a/src/Pyz/Zed/SecurityGui/SecurityGuiConfig.php b/src/Pyz/Zed/SecurityGui/SecurityGuiConfig.php index e85d54f376..beec54472c 100644 --- a/src/Pyz/Zed/SecurityGui/SecurityGuiConfig.php +++ b/src/Pyz/Zed/SecurityGui/SecurityGuiConfig.php @@ -11,6 +11,11 @@ class SecurityGuiConfig extends SprykerSecurityGuiConfig { + /** + * @var bool + */ + protected const IS_BACKOFFICE_USER_SECURITY_BLOCKER_ENABLED = true; + /** * @var string */ From 0daa03e5ad86ef4947c833c3cd4634da8f90ffa6 Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Mon, 27 Nov 2023 17:15:19 +0100 Subject: [PATCH 14/64] CC-32019 Raised phpstan version --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 74eccfef47..35355f86cf 100644 --- a/composer.json +++ b/composer.json @@ -234,7 +234,7 @@ "codeception/module-webdriver": "^3.1.1", "composer/package-versions-deprecated": "^1.10.0", "filp/whoops": "^2.7", - "phpstan/phpstan": "^1.10.44", + "phpstan/phpstan": "^1.10.45", "phpunit/phpunit": "^9.5.2", "spryker-feature/development-tools": "^202311.0", "spryker-sdk/benchmark": "^0.2.2", diff --git a/composer.lock b/composer.lock index 8dda43f336..83df39b560 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": "5f65ea41371e98749f7de1dc56d53337", + "content-hash": "207b829653e3780f7fc41812f783f416", "packages": [ { "name": "async-aws/core", From 98f7b13e28ca2aa86618a2c7a8c572bf6d8aa687 Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Tue, 28 Nov 2023 10:47:02 +0100 Subject: [PATCH 15/64] CC-26451: updated feature packages. --- composer.json | 4 ++-- composer.lock | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index bb397d8dff..e35633b19b 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "spryker-feature/configurable-product": "^202311.0", "spryker-feature/configurable-product-wishlist": "^202311.0", "spryker-feature/customer-access": "^202311.0", - "spryker-feature/customer-account-management": "^202311.0", + "spryker-feature/customer-account-management": "dev-master as 202403.0", "spryker-feature/data-exchange-api": "^202311.0", "spryker-feature/deployment-tools": "^202311.0", "spryker-feature/file-manager": "^202311.0", @@ -61,7 +61,7 @@ "spryker-feature/search": "^202311.0", "spryker-feature/shipment": "dev-master as 202403.0", "spryker-feature/spryker-core": "^202311.0", - "spryker-feature/spryker-core-back-office": "^202311.0", + "spryker-feature/spryker-core-back-office": "dev-master as 202403.0", "spryker-feature/state-machine": "^202311.0", "spryker-feature/tax": "^202311.0", "spryker-feature/warehouse-picking": "^202311.0", diff --git a/composer.lock b/composer.lock index 7ae638b9d7..3352668309 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": "5dab494481b8081d35b16e8450250213", + "content-hash": "d4ad36892415a044e1eb1b41397b0650", "packages": [ { "name": "async-aws/core", @@ -5419,7 +5419,7 @@ }, { "name": "spryker-feature/customer-account-management", - "version": "202311.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/customer-account-management.git", @@ -5446,6 +5446,7 @@ "spryker/oauth-customer-validation": "^1.0.0", "spryker/oauth-revoke": "^1.3.0" }, + "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -6837,7 +6838,7 @@ }, { "name": "spryker-feature/spryker-core-back-office", - "version": "202311.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/spryker-core-back-office.git", @@ -6866,6 +6867,7 @@ "spryker/user-password-reset-mail": "^1.1.0", "spryker/zed-navigation": "^1.13.0" }, + "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -60845,16 +60847,30 @@ } ], "aliases": [ + { + "package": "spryker-feature/customer-account-management", + "version": "9999999-dev", + "alias": "202403.0", + "alias_normalized": "202403.0" + }, { "package": "spryker-feature/shipment", "version": "9999999-dev", "alias": "202403.0", "alias_normalized": "202403.0" + }, + { + "package": "spryker-feature/spryker-core-back-office", + "version": "9999999-dev", + "alias": "202403.0", + "alias_normalized": "202403.0" } ], "minimum-stability": "dev", "stability-flags": { + "spryker-feature/customer-account-management": 20, "spryker-feature/shipment": 20, + "spryker-feature/spryker-core-back-office": 20, "spryker/docker-chromedriver": 20, "spryker/robotframework-suite-tests": 20 }, @@ -60877,5 +60893,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } From bcdcf87068ac145ff431bea910d5c4a22631ba5b Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Tue, 28 Nov 2023 14:37:33 +0100 Subject: [PATCH 16/64] CC-32019 Updated phpstan --- composer.lock | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/composer.lock b/composer.lock index 3352668309..67229af049 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": "d4ad36892415a044e1eb1b41397b0650", + "content-hash": "5c6ffaef1e029bc3a09d0b3235837cd4", "packages": [ { "name": "async-aws/core", @@ -57781,16 +57781,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.9.16", + "version": "1.10.45", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "922e2689bb180575d0f57de0443c431a5a698e8f" + "reference": "2f024fbb47432e2e62ad8a8032387aa2dd631c73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/922e2689bb180575d0f57de0443c431a5a698e8f", - "reference": "922e2689bb180575d0f57de0443c431a5a698e8f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2f024fbb47432e2e62ad8a8032387aa2dd631c73", + "reference": "2f024fbb47432e2e62ad8a8032387aa2dd631c73", "shasum": "" }, "require": { @@ -57819,8 +57819,11 @@ "static analysis" ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.9.16" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -57836,7 +57839,7 @@ "type": "tidelift" } ], - "time": "2023-02-07T10:42:21+00:00" + "time": "2023-11-27T14:15:06+00:00" }, { "name": "phpunit/php-code-coverage", From 6d7733fecf030fa5f7ca528e6ae6813956e1eef3 Mon Sep 17 00:00:00 2001 From: Dmitriy Krainiy Date: Tue, 28 Nov 2023 17:59:52 +0100 Subject: [PATCH 17/64] Updated deploy.scos-b2c.yml file --- deploy.scos-b2c.yml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/deploy.scos-b2c.yml b/deploy.scos-b2c.yml index 56ffe9cd7f..81e4ad80e2 100644 --- a/deploy.scos-b2c.yml +++ b/deploy.scos-b2c.yml @@ -13,10 +13,10 @@ image: SPRYKER_HOOK_AFTER_DEPLOY: "true" SPRYKER_HOOK_INSTALL: "vendor/bin/install -r EU/production --no-ansi -vvv" SPRYKER_HOOK_DESTRUCTIVE_INSTALL: "vendor/bin/install -r EU/destructive --no-ansi -vvv" - SPRYKER_PRODUCT_CONFIGURATOR_HOST: dtc.b2c.latest.demo-spryker.com + SPRYKER_PRODUCT_CONFIGURATOR_HOST: dtc.scos-b2c.cloud.spryker.toys SPRYKER_PRODUCT_CONFIGURATOR_PORT: 443 - SPRYKER_YVES_HOST_DE: www.de.b2c.latest.demo-spryker.com - SPRYKER_YVES_HOST_AT: www.at.b2c.latest.demo-spryker.com + SPRYKER_YVES_HOST_DE: www.de.scos-b2c.cloud.spryker.toys + SPRYKER_YVES_HOST_AT: www.at.scos-b2c.cloud.spryker.toys node: version: 18 npm: 9 @@ -37,7 +37,7 @@ regions: EU: services: database: - database: spryker_b2clatest + database: scos_b2с username: spryker password: secret @@ -70,55 +70,55 @@ groups: yves: application: yves endpoints: - dtc.b2c.latest.demo-spryker.com: + dtc.scos-b2c.cloud.spryker.toys: entry-point: Configurator - www.de.b2c.latest.demo-spryker.com: + www.de.scos-b2c.cloud.spryker.toys: store: DE - www.at.b2c.latest.demo-spryker.com: + www.at.scos-b2c.cloud.spryker.toys: store: AT boffice: application: backoffice endpoints: - backoffice.de.b2c.latest.demo-spryker.com: + backoffice.de.scos-b2c.cloud.spryker.toys: store: DE - backoffice.at.b2c.latest.demo-spryker.com: + backoffice.at.scos-b2c.cloud.spryker.toys: store: AT backgw: application: backend-gateway endpoints: - backend-gateway.de.b2c.latest.demo-spryker.com: + backend-gateway.de.scos-b2c.cloud.spryker.toys: store: DE - backend-gateway.at.b2c.latest.demo-spryker.com: + backend-gateway.at.scos-b2c.cloud.spryker.toys: store: AT backapi: application: zed endpoints: - backend-api.de.b2c.latest.demo-spryker.com: + backend-api.de.scos-b2c.cloud.spryker.toys: store: DE entry-point: BackendApi - backend-api.at.b2c.latest.demo-spryker.com: + backend-api.at.scos-b2c.cloud.spryker.toys: store: AT entry-point: BackendApi glue: application: glue endpoints: - glue.de.b2c.latest.demo-spryker.com: + glue.de.scos-b2c.cloud.spryker.toys: store: DE - glue.at.b2c.latest.demo-spryker.com: + glue.at.scos-b2c.cloud.spryker.toys: store: AT gluestorefront: application: glue-storefront endpoints: - glue-storefront.de.b2c.latest.demo-spryker.com: + glue-storefront.de.scos-b2c.cloud.spryker.toys: store: DE - glue-storefront.at.b2c.latest.demo-spryker.com: + glue-storefront.at.scos-b2c.cloud.spryker.toys: store: AT gluebackend: application: glue-backend endpoints: - glue-backend.de.b2c.latest.demo-spryker.com: + glue-backend.de.scos-b2c.cloud.spryker.toys: store: DE - glue-backend.at.b2c.latest.demo-spryker.com: + glue-backend.at.scos-b2c.cloud.spryker.toys: store: AT services: database: @@ -137,7 +137,7 @@ services: username: "spryker" password: "secret" endpoints: - queue.b2c.latest.demo-spryker.com: + queue.scos-b2c.cloud.spryker.toys: localhost:5672: protocol: tcp session: @@ -157,11 +157,11 @@ services: engine: jenkins version: '2.401' endpoints: - scheduler.latest.demo-spryker.com: + scheduler.scos-b2c.cloud.spryker.toys: mail_catcher: engine: mailhog endpoints: - mail.latest.demo-spryker.com: + mail.scos-b2c.cloud.spryker.toys: docker: From 21bc4c08f27e06a3a397ce3823147ad6af06fc51 Mon Sep 17 00:00:00 2001 From: jaume-spryker <117280664+jaume-spryker@users.noreply.github.com> Date: Fri, 1 Dec 2023 09:19:45 +0100 Subject: [PATCH 18/64] ACP-787: Updates configs to use new foreignpaymentstatemachine01 (#397) * ACP-787: Updates configs to use new foreignpaymentstatemachine01 * Fixes Security update available --- composer.lock | 29 ++++++++++--------- config/Shared/config_default.php | 4 +-- .../_support/PaymentPresentationTester.php | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/composer.lock b/composer.lock index 3eb6a046b1..8a5b71c2b6 100644 --- a/composer.lock +++ b/composer.lock @@ -40805,20 +40805,20 @@ }, { "name": "spryker/sales-payment", - "version": "1.3.2", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/sales-payment.git", - "reference": "ed394c4003cca367489c4520f329746fc0a453a1" + "reference": "11834ceeec28ecbb30956b0605e5a67478fe7850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/sales-payment/zipball/ed394c4003cca367489c4520f329746fc0a453a1", - "reference": "ed394c4003cca367489c4520f329746fc0a453a1", + "url": "https://api.github.com/repos/spryker/sales-payment/zipball/11834ceeec28ecbb30956b0605e5a67478fe7850", + "reference": "11834ceeec28ecbb30956b0605e5a67478fe7850", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/checkout-extension": "^1.2.0", "spryker/kernel": "^3.30.0", "spryker/message-broker": "^1.2.0", @@ -40859,9 +40859,9 @@ ], "description": "SalesPayment module", "support": { - "source": "https://github.com/spryker/sales-payment/tree/1.3.2" + "source": "https://github.com/spryker/sales-payment/tree/1.4.0" }, - "time": "2023-06-16T09:24:47+00:00" + "time": "2023-11-22T13:54:23+00:00" }, { "name": "spryker/sales-payment-extension", @@ -44511,16 +44511,16 @@ }, { "name": "spryker/state-machine", - "version": "2.19.0", + "version": "2.20.0", "source": { "type": "git", "url": "https://github.com/spryker/state-machine.git", - "reference": "f9305392e0336cfbbf6ba581a7a1ff649662e663" + "reference": "c14a7b53e43d223cbedd85ed2eed976041f93e28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/state-machine/zipball/f9305392e0336cfbbf6ba581a7a1ff649662e663", - "reference": "f9305392e0336cfbbf6ba581a7a1ff649662e663", + "url": "https://api.github.com/repos/spryker/state-machine/zipball/c14a7b53e43d223cbedd85ed2eed976041f93e28", + "reference": "c14a7b53e43d223cbedd85ed2eed976041f93e28", "shasum": "" }, "require": { @@ -44532,6 +44532,7 @@ "spryker/symfony": "^3.0.0", "spryker/transfer": "^3.25.0", "spryker/util-network": "^1.1.0", + "spryker/util-sanitize-xss": "^1.1.0", "spryker/util-text": "^1.1.0" }, "require-dev": { @@ -44558,9 +44559,9 @@ ], "description": "StateMachine module", "support": { - "source": "https://github.com/spryker/state-machine/tree/2.19.0" + "source": "https://github.com/spryker/state-machine/tree/2.20.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-11-29T09:16:52+00:00" }, { "name": "spryker/step-engine", @@ -60896,5 +60897,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 08c96aa09d..e141f6bd31 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -655,10 +655,10 @@ APPLICATION_ROOT_DIR . '/vendor/spryker/sales-payment/config/Zed/Oms', ]; $config[OmsConstants::ACTIVE_PROCESSES] = [ - 'ForeignPaymentB2CStateMachine01', + 'ForeignPaymentStateMachine01', ]; $config[SalesConstants::PAYMENT_METHOD_STATEMACHINE_MAPPING] = [ - PaymentConfig::PAYMENT_FOREIGN_PROVIDER => 'ForeignPaymentB2CStateMachine01', + PaymentConfig::PAYMENT_FOREIGN_PROVIDER => 'ForeignPaymentStateMachine01', ]; // ---------- Guest cart diff --git a/tests/PyzTest/Zed/MessageBroker/_support/PaymentPresentationTester.php b/tests/PyzTest/Zed/MessageBroker/_support/PaymentPresentationTester.php index c29890101f..49c6d87a89 100644 --- a/tests/PyzTest/Zed/MessageBroker/_support/PaymentPresentationTester.php +++ b/tests/PyzTest/Zed/MessageBroker/_support/PaymentPresentationTester.php @@ -47,7 +47,7 @@ class PaymentPresentationTester extends Actor /** * @var string */ - protected const DEFAULT_OMS_PROCESS_NAME = 'ForeignPaymentB2CStateMachine01'; + protected const DEFAULT_OMS_PROCESS_NAME = 'ForeignPaymentStateMachine01'; /** * @param \Codeception\Scenario $scenario From c184a2b4b07eb9d61a6d13dc55b888c09f6aeb0d Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Fri, 1 Dec 2023 18:49:32 +0100 Subject: [PATCH 19/64] CC-32034: fixed sync issue with robot package. --- .dockersyncignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.dockersyncignore b/.dockersyncignore index 7660fc9988..2c36883738 100644 --- a/.dockersyncignore +++ b/.dockersyncignore @@ -10,3 +10,5 @@ /docker node_modules + +!/vendor/spryker/robotframework-suite-tests/.git* From 76567bc811f235021434ba68fe5f30ab710f593e Mon Sep 17 00:00:00 2001 From: Oleksandr Kiiashko <80702205+oleksander-kiiashko@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:53:39 +0200 Subject: [PATCH 20/64] APPS-10665: Implemented endpoints for Terraform-related builds (#366) (#399) Co-authored-by: Ruslan Khudenko Co-authored-by: Anton Zubariev --- deploy.aop-b2c-testing.yml | 4 ++-- deploy.aop-consultant-b2c.yml | 4 ++-- deploy.aop-demoshop-b2c.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/deploy.aop-b2c-testing.yml b/deploy.aop-b2c-testing.yml index ae241d907b..975c6c23d3 100644 --- a/deploy.aop-b2c-testing.yml +++ b/deploy.aop-b2c-testing.yml @@ -58,8 +58,8 @@ image: #AOP SPRYKER_TENANT_IDENTIFIER: "AOP_B2C_Testing-DE" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "https://sam-publish.mb-testing.acp.demo-spryker.com/" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "https://sam-consume.mb-testing.acp.demo-spryker.com/" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "https://publish.mb-testing.acp.demo-spryker.com/" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "https://consume.mb-testing.acp.demo-spryker.com/" SPRYKER_AOP_APPLICATION: '{ "APP_DOMAINS": [ diff --git a/deploy.aop-consultant-b2c.yml b/deploy.aop-consultant-b2c.yml index 8fa885e414..2d16745958 100644 --- a/deploy.aop-consultant-b2c.yml +++ b/deploy.aop-consultant-b2c.yml @@ -58,8 +58,8 @@ image: #AOP SPRYKER_TENANT_IDENTIFIER: "AOP_Production_Consultant_b2c-DE" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "https://publish.mb.spryker.com/" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "https://consume.mb.spryker.com/" SPRYKER_AOP_APPLICATION: '{ "APP_DOMAINS": [ diff --git a/deploy.aop-demoshop-b2c.yml b/deploy.aop-demoshop-b2c.yml index 51a0c97007..11a1632ed4 100644 --- a/deploy.aop-demoshop-b2c.yml +++ b/deploy.aop-demoshop-b2c.yml @@ -58,8 +58,8 @@ image: #AOP SPRYKER_TENANT_IDENTIFIER: "AOP_Demo_B2C-DE" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "https://sam-publish.mb-staging.acp.demo-spryker.com/" - SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "https://sam-consume.mb-staging.acp.demo-spryker.com/" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_SENDER_BASE_URL: "https://publish.mb-staging.acp.demo-spryker.com/" + SPRYKER_MESSAGE_BROKER_HTTP_CHANNEL_RECEIVER_BASE_URL: "https://consume.mb-staging.acp.demo-spryker.com/" SPRYKER_AOP_APPLICATION: '{ "APP_DOMAINS": [ From b3e376cfc821846a03e89ae1d00fe8d00dfa5b8c Mon Sep 17 00:00:00 2001 From: upgrader Date: Wed, 6 Dec 2023 11:25:40 +0000 Subject: [PATCH 21/64] Applied release group `CC-26177 Fixed P&S of category tree after category nodes reorder.`, RG link https://api.release.spryker.com/release-group/5167 --- composer.lock | 32 +++++++++++++------------- data/import/common/common/glossary.csv | 2 ++ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/composer.lock b/composer.lock index 8a5b71c2b6..070b02f1c0 100644 --- a/composer.lock +++ b/composer.lock @@ -16857,20 +16857,20 @@ }, { "name": "spryker/category", - "version": "5.14.0", + "version": "5.15.0", "source": { "type": "git", "url": "https://github.com/spryker/category.git", - "reference": "09187a8265547b2ef1493c03353c8a29a317fea0" + "reference": "17aab322484e6c1ebc401dc1645682243cb107e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category/zipball/09187a8265547b2ef1493c03353c8a29a317fea0", - "reference": "09187a8265547b2ef1493c03353c8a29a317fea0", + "url": "https://api.github.com/repos/spryker/category/zipball/17aab322484e6c1ebc401dc1645682243cb107e0", + "reference": "17aab322484e6c1ebc401dc1645682243cb107e0", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl-merchant-portal-extension": "^1.0.0", "spryker/category-extension": "^1.2.0", "spryker/event": "^2.3.0", @@ -16908,9 +16908,9 @@ ], "description": "Category module", "support": { - "source": "https://github.com/spryker/category/tree/5.14.0" + "source": "https://github.com/spryker/category/tree/5.15.0" }, - "time": "2023-10-30T14:48:01+00:00" + "time": "2023-12-06T08:21:24+00:00" }, { "name": "spryker/category-data-feed", @@ -17153,21 +17153,21 @@ }, { "name": "spryker/category-gui", - "version": "2.3.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/spryker/category-gui.git", - "reference": "28f13a8166dcc1a298dcf06b304d390665991a08" + "reference": "c15985e322645276d8e6cda9d60e0d9fe4e89e93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/category-gui/zipball/28f13a8166dcc1a298dcf06b304d390665991a08", - "reference": "28f13a8166dcc1a298dcf06b304d390665991a08", + "url": "https://api.github.com/repos/spryker/category-gui/zipball/c15985e322645276d8e6cda9d60e0d9fe4e89e93", + "reference": "c15985e322645276d8e6cda9d60e0d9fe4e89e93", "shasum": "" }, "require": { "php": ">=8.1", - "spryker/category": "^5.2.0", + "spryker/category": "^5.15.0", "spryker/category-gui-extension": "^1.0.0", "spryker/gui": "^3.0.0", "spryker/kernel": "^3.30.0", @@ -17175,7 +17175,7 @@ "spryker/propel-orm": "^1.0.0", "spryker/store": "^1.15.0", "spryker/symfony": "^3.0.0", - "spryker/transfer": "^3.25.0", + "spryker/transfer": "^3.27.0", "spryker/translator": "^1.8.0", "spryker/util-encoding": "^2.0.0", "spryker/util-text": "^1.1.0" @@ -17204,9 +17204,9 @@ ], "description": "CategoryGui module", "support": { - "source": "https://github.com/spryker/category-gui/tree/2.3.0" + "source": "https://github.com/spryker/category-gui/tree/2.4.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-12-06T08:21:24+00:00" }, { "name": "spryker/category-gui-extension", @@ -60897,5 +60897,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/data/import/common/common/glossary.csv b/data/import/common/common/glossary.csv index 92a8b3bc3c..2d1328ca97 100644 --- a/data/import/common/common/glossary.csv +++ b/data/import/common/common/glossary.csv @@ -3036,3 +3036,5 @@ picking_list.validation.picking_list.validation.picking_list_item_duplicated,Pic picking_list.validation.picking_list.validation.picking_list_item_duplicated,PickingListItem dupliziert.,de_DE picking_list_push_notification.validation.warehouse_entity_not_found,Warehouse not found.,en_US picking_list_push_notification.validation.warehouse_entity_not_found,Lager nicht gefunden.,de_DE +category.validation.category_node_entity_not_found,The category node ID '%category_node_id%' cannot be relocated because this category node no longer exists.,en_US +category.validation.category_node_entity_not_found,"Die Kategorieknoten-ID '%category_node_id%' kann nicht verschoben werden, da dieser Kategorieknoten nicht mehr existiert.",de_DE From 31ce970ddda0462dfba8010d51e366a68b20012c Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Wed, 6 Dec 2023 12:39:03 +0100 Subject: [PATCH 22/64] CC-26177: updated feature package. --- composer.json | 2 +- composer.lock | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index cee49f443f..5a57b0c022 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "spryker-feature/availability-notification": "^202311.0", "spryker-feature/cart": "^202311.0", "spryker-feature/catalog": "^202311.0", - "spryker-feature/category-management": "^202311.0", + "spryker-feature/category-management": "dev-master as 202403.0", "spryker-feature/checkout": "^202311.0", "spryker-feature/cms": "^202311.0", "spryker-feature/configurable-bundle": "^202311.0", diff --git a/composer.lock b/composer.lock index 070b02f1c0..3665f9d4cd 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": "d29300d17678dc3ed6b98861438ef024", + "content-hash": "b538ecdebc7a66870aa11714d75ced07", "packages": [ { "name": "async-aws/core", @@ -5083,7 +5083,7 @@ }, { "name": "spryker-feature/category-management", - "version": "202311.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/category-management.git", @@ -5113,6 +5113,7 @@ "suggest": { "spryker-feature/spryker-core": "Recommended feature dependency." }, + "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -60851,6 +60852,12 @@ } ], "aliases": [ + { + "package": "spryker-feature/category-management", + "version": "9999999-dev", + "alias": "202403.0", + "alias_normalized": "202403.0" + }, { "package": "spryker-feature/customer-account-management", "version": "9999999-dev", @@ -60872,6 +60879,7 @@ ], "minimum-stability": "dev", "stability-flags": { + "spryker-feature/category-management": 20, "spryker-feature/customer-account-management": 20, "spryker-feature/shipment": 20, "spryker-feature/spryker-core-back-office": 20, From b240195dcf125f11fd37cc783f396ccb0a8ee44d Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Thu, 7 Dec 2023 10:16:39 +0100 Subject: [PATCH 23/64] CC-32116 Removed CI triggerring by cron --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b47a2e9b78..6d54f1303b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,8 +6,6 @@ on: branches: - master workflow_dispatch: - schedule: - - cron: "0 0 * * *" concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} From 2cd44612ef561ae171048fb68781a55228f67976 Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Thu, 7 Dec 2023 11:18:21 +0100 Subject: [PATCH 24/64] CC-31773: fixed order page in zed and added initial fixes for yves. --- .../summary-sidebar/summary-sidebar.twig | 23 +++++++++++++------ .../Theme/default/views/summary/summary.twig | 3 ++- .../order-detail-table.twig | 3 ++- src/Pyz/Zed/Sales/SalesConfig.php | 1 - 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig index bac865f62b..8754e7bb4a 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig @@ -5,13 +5,14 @@ } %} {% define data = { - shipment: required, + shipmentGroup: required, isGiftCardExists: false, canEdit: false, + shipmentExpenses: {}, } %} {% block body %} - {% set shippingAddress = data.shipment.shippingAddress %} + {% set shippingAddress = data.shipmentGroup.shipment.shippingAddress %} {% set fullShippingAddress = shippingAddress.salutation ~ ' ' ~ shippingAddress.firstName ~ ' ' ~ shippingAddress.lastName ~ ', ' ~ shippingAddress.address1 ~ ' ' ~ shippingAddress.address2 ~ ', ' ~ shippingAddress.zipCode ~ ' ' ~ shippingAddress.city %} @@ -29,9 +30,9 @@

{{ 'checkout.step.summary.delivery_method' | trans }}

- {{ data.shipment.method.carrierName | trans }} + {{ data.shipmentGroup.shipment.method.carrierName | trans }} - {% set deliveryLogoName = data.shipment.method.carrierName | replace({' ': ''}) | lower ~ '-logo' %} + {% set deliveryLogoName = data.shipmentGroup.shipment.method.carrierName | replace({' ': ''}) | lower ~ '-logo' %} {% include atom('icon') with { class: 'col', modifiers: [deliveryLogoName], @@ -41,7 +42,15 @@ } only %}

-
{{ data.shipment.method.name }}: {{ data.shipment.method.storeCurrencyPrice | money(true, data.shipment.method.currencyIsoCode) }}
+ {% if data.shipmentExpenses[data.shipmentGroup.hash] is defined %} + {% include molecule('shipment-information', 'CustomerPage') ignore missing with { + data: { + shipmentExpense: data.shipmentExpenses[data.shipmentGroup.hash], + }, + } only %} + {% else %} +
{{ data.shipmentGroup.shipment.method.name }}: {{ data.shipmentGroup.shipment.method.storeCurrencyPrice | money(true, data.shipmentGroup.shipment.method.currencyIsoCode) }}
+ {% endif %} {% if data.canEdit %} {{ 'general.edit.button' | trans }} @@ -50,8 +59,8 @@

{{ 'checkout.step.summary.requested_delivery_date' | trans }}

- {% if data.shipment.requestedDeliveryDate %} -
{{ data.shipment.requestedDeliveryDate | formatDate }}
+ {% if data.shipmentGroup.shipment.requestedDeliveryDate %} +
{{ data.shipmentGroup.shipment.requestedDeliveryDate | formatDate }}
{% endif %} {% if data.canEdit %} {{ 'general.edit.button' | trans }} diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig index f051455b5a..0cb324ddd2 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig @@ -96,9 +96,10 @@
{% include molecule('summary-sidebar', 'CheckoutPage') with { data: { - shipment: shipmentGroup.shipment, + shipmentGroup: shipmentGroup, isGiftCardExists: isGiftCardExists, canEdit: true, + shipmentExpenses: data.shipmentExpenses, }, } only %}
diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig index e96d601178..78887a8f11 100644 --- a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig @@ -130,8 +130,9 @@
{% include molecule('summary-sidebar', 'CheckoutPage') ignore missing with { data: { - shipment: shipmentGroup.shipment, + shipmentGroup: shipmentGroup, isGiftCardExists: isGiftCardExists, + shipmentExpenses: data.orderShipmentExpenses, }, } only %}
diff --git a/src/Pyz/Zed/Sales/SalesConfig.php b/src/Pyz/Zed/Sales/SalesConfig.php index a51809d9b9..b38dcec025 100644 --- a/src/Pyz/Zed/Sales/SalesConfig.php +++ b/src/Pyz/Zed/Sales/SalesConfig.php @@ -31,7 +31,6 @@ public function getSalesDetailExternalBlocksUrls(): array 'cart_note_bundle_items' => '/cart-note-product-bundle-connector/sales/list', #CartNoteFeature 'payments' => '/sales-payment-gui/sales/list', 'giftCards' => '/gift-card/sales/list', - 'shipment' => '/shipment/sales/list', 'discount' => '/discount/sales/list', 'refund' => '/refund/sales/list', ]; From bf84681ff7bd68863051b29d303b1dd555a58ceb Mon Sep 17 00:00:00 2001 From: Roman Havrylko Date: Thu, 7 Dec 2023 12:02:14 +0100 Subject: [PATCH 25/64] CC-31773: fixed order page in zed and added initial fixes for yves. --- .../molecules/summary-sidebar/summary-sidebar.twig | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig index 8754e7bb4a..72eb6e2bb3 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig @@ -12,7 +12,8 @@ } %} {% block body %} - {% set shippingAddress = data.shipmentGroup.shipment.shippingAddress %} + {% set shipment = data.shipmentGroup.shipment %} + {% set shippingAddress = shipment.shippingAddress %} {% set fullShippingAddress = shippingAddress.salutation ~ ' ' ~ shippingAddress.firstName ~ ' ' ~ shippingAddress.lastName ~ ', ' ~ shippingAddress.address1 ~ ' ' ~ shippingAddress.address2 ~ ', ' ~ shippingAddress.zipCode ~ ' ' ~ shippingAddress.city %} @@ -30,9 +31,9 @@

{{ 'checkout.step.summary.delivery_method' | trans }}

- {{ data.shipmentGroup.shipment.method.carrierName | trans }} + {{ shipment.method.carrierName | trans }} - {% set deliveryLogoName = data.shipmentGroup.shipment.method.carrierName | replace({' ': ''}) | lower ~ '-logo' %} + {% set deliveryLogoName = shipment.method.carrierName | replace({' ': ''}) | lower ~ '-logo' %} {% include atom('icon') with { class: 'col', modifiers: [deliveryLogoName], @@ -49,7 +50,7 @@ }, } only %} {% else %} -
{{ data.shipmentGroup.shipment.method.name }}: {{ data.shipmentGroup.shipment.method.storeCurrencyPrice | money(true, data.shipmentGroup.shipment.method.currencyIsoCode) }}
+
{{ shipment.method.name }}: {{ shipment.method.storeCurrencyPrice | money(true, shipment.method.currencyIsoCode) }}
{% endif %} {% if data.canEdit %} @@ -59,8 +60,8 @@

{{ 'checkout.step.summary.requested_delivery_date' | trans }}

- {% if data.shipmentGroup.shipment.requestedDeliveryDate %} -
{{ data.shipmentGroup.shipment.requestedDeliveryDate | formatDate }}
+ {% if shipment.requestedDeliveryDate %} +
{{ shipment.requestedDeliveryDate | formatDate }}
{% endif %} {% if data.canEdit %} {{ 'general.edit.button' | trans }} From 662ed421b3085e9212309bcc7af61aa88c31a6de Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Thu, 7 Dec 2023 16:42:46 +0200 Subject: [PATCH 26/64] CC-31629 Fixed submit button disabling on the checkout address step. --- composer.lock | 45 +++--- .../address-item-form-field-list.twig | 34 +--- .../address-item-form/address-item-form.twig | 28 +++- .../Theme/default/views/address/address.twig | 149 ++++++++++++------ .../Theme/default/resources/form/form.twig | 2 + 5 files changed, 160 insertions(+), 98 deletions(-) diff --git a/composer.lock b/composer.lock index 8a5b71c2b6..4f4200e039 100644 --- a/composer.lock +++ b/composer.lock @@ -8173,16 +8173,16 @@ }, { "name": "spryker-shop/checkout-page", - "version": "3.29.1", + "version": "3.30.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/checkout-page.git", - "reference": "ca6146dda8aba906f766c32fa76132dbf8315d1c" + "reference": "3e35f3d78559b9ecdf17396b0e03147e1573c02a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/ca6146dda8aba906f766c32fa76132dbf8315d1c", - "reference": "ca6146dda8aba906f766c32fa76132dbf8315d1c", + "url": "https://api.github.com/repos/spryker-shop/checkout-page/zipball/3e35f3d78559b9ecdf17396b0e03147e1573c02a", + "reference": "3e35f3d78559b9ecdf17396b0e03147e1573c02a", "shasum": "" }, "require": { @@ -8191,7 +8191,7 @@ "spryker-shop/customer-page": "^2.46.0", "spryker-shop/money-widget": "^1.0.0", "spryker-shop/shop-application": "^1.0.0", - "spryker-shop/shop-ui": "^1.40.0", + "spryker-shop/shop-ui": "^1.73.1", "spryker/application": "^3.8.0", "spryker/calculation": "^4.2.0", "spryker/cart": "^4.3.0 || ^5.0.0 || ^7.0.0", @@ -8230,13 +8230,14 @@ "spryker-shop/cart-code-widget": "If you want to use components from module CartCodeWidget or CheckoutVoucherFormWidget or CheckoutVoucherFormWidgetPlugin", "spryker-shop/cart-note-widget": "If you want to use components from module CartNoteWidget or CartNoteQuoteItemNoteWidgetPlugin.", "spryker-shop/checkout-widget": "Add the module if you want to use checkout widget", - "spryker-shop/company-widget": "Add the module if you want to use company widget, use the version >= 1.8.0", + "spryker-shop/company-widget": "Add the module if you want to use company widget, use the version >= 1.9.0", "spryker-shop/configurable-bundle-widget": "Add the module if you want to use QuoteConfiguredBundleWidget.", "spryker-shop/gift-card-widget": "Add the module if you want to use gift card widget", "spryker-shop/merchant-widget": "If you want to use MerchantMetaSchemaWidget use the version >= 1.3.0", "spryker-shop/order-custom-reference-widget": "Add the module if you want to use order custom reference functionality", "spryker-shop/product-packaging-unit-widget": "If you want to use components from module ProductPackagingUnitWidget or SummaryProductPackagingUnitWidgetPlugin: ^0.5.2", "spryker-shop/quote-request-widget": "If you want to use QuoteRequestActionsWidget: ^2.2.0", + "spryker-shop/service-point-widget": "Add the module if you want to use service point widget", "spryker-shop/shipment-type-widget": "Add the module if you want to use ShipmentTypeAddressFormWidget.", "spryker/router": "Use this module when you want to use the Router.", "spryker/shipment-cart-connector": "If you want to use shipment totals in quote or shipment source prices, min version 2.1.0", @@ -8259,9 +8260,9 @@ ], "description": "CheckoutPage module", "support": { - "source": "https://github.com/spryker-shop/checkout-page/tree/3.29.1" + "source": "https://github.com/spryker-shop/checkout-page/tree/3.30.0" }, - "time": "2023-11-08T09:58:38+00:00" + "time": "2023-12-06T06:55:24+00:00" }, { "name": "spryker-shop/checkout-page-extension", @@ -9274,16 +9275,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "2.49.0", + "version": "2.50.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "08ba64b07809edc26c5865c3289f50ccefeb744a" + "reference": "4d33c050041ee6745f68883a728ca7234dfb69c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/08ba64b07809edc26c5865c3289f50ccefeb744a", - "reference": "08ba64b07809edc26c5865c3289f50ccefeb744a", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4d33c050041ee6745f68883a728ca7234dfb69c8", + "reference": "4d33c050041ee6745f68883a728ca7234dfb69c8", "shasum": "" }, "require": { @@ -9367,9 +9368,9 @@ ], "description": "CustomerPage module", "support": { - "source": "https://github.com/spryker-shop/customer-page/tree/2.49.0" + "source": "https://github.com/spryker-shop/customer-page/tree/2.50.0" }, - "time": "2023-11-24T22:16:29+00:00" + "time": "2023-12-06T07:00:27+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -13202,20 +13203,20 @@ }, { "name": "spryker-shop/shop-ui", - "version": "1.73.0", + "version": "1.73.1", "source": { "type": "git", "url": "https://github.com/spryker-shop/shop-ui.git", - "reference": "ab79866fa9c9accd4d8b665e3a5ca0d52b8425bb" + "reference": "93ec142a6e50c38e4139cc6f8f0f938c683e61f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/ab79866fa9c9accd4d8b665e3a5ca0d52b8425bb", - "reference": "ab79866fa9c9accd4d8b665e3a5ca0d52b8425bb", + "url": "https://api.github.com/repos/spryker-shop/shop-ui/zipball/93ec142a6e50c38e4139cc6f8f0f938c683e61f7", + "reference": "93ec142a6e50c38e4139cc6f8f0f938c683e61f7", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/form-extension": "^1.0.0", "spryker/kernel": "^3.30.0", "spryker/locale": "^3.0.0 || ^4.0.0", @@ -13259,9 +13260,9 @@ ], "description": "ShopUi module", "support": { - "source": "https://github.com/spryker-shop/shop-ui/tree/1.73.0" + "source": "https://github.com/spryker-shop/shop-ui/tree/1.73.1" }, - "time": "2023-10-27T14:50:57+00:00" + "time": "2023-12-06T06:55:24+00:00" }, { "name": "spryker-shop/shopping-list-page-extension", @@ -60897,5 +60898,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form-field-list/address-item-form-field-list.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form-field-list/address-item-form-field-list.twig index cfc0a36772..40f8523b11 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form-field-list/address-item-form-field-list.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form-field-list/address-item-form-field-list.twig @@ -9,10 +9,7 @@ {% set shippingAddress = item.shippingAddress %} {% set hasShippingAddresses = shippingAddress.id_customer_address is defined %} {% set isNewAddressSelected = shippingAddress.id_customer_address.vars.value | default == 0 %} - {% set itemName = item.vars.data.name | default %} - {% set itemQuantity = item.vars.data.quantity | default %} - {% set imageUrl = item.vars.data.images[0].externalUrlSmall ?? '' %} - {% set newAddressHiddenClassName = not isNewAddressSelected and hasShippingAddresses ? ' is-hidden' %} + {% set newAddressHiddenClassName = not isNewAddressSelected and hasShippingAddresses ? ' ' ~ data.hiddenClassName %} {% embed molecule('product-card-item') with { class: 'col col--sm-12 col--lg-6', @@ -26,6 +23,9 @@ embed: { item: item, hasShippingAddresses: hasShippingAddresses, + jsName: config.jsName, + addressSelectClassName: data.addressSelectClassName, + index: loop.index, }, } only %} {% import _self as component %} @@ -63,7 +63,7 @@ {{ form_row(embed.item.shippingAddress.id_customer_address, { label: 'page.checkout.address.delivery.address_select' | trans, attr: { - 'multi-shipping-addresses-form-select': '', + class: embed.addressSelectClassName ~ ' ' ~ embed.jsName ~ '__trigger--' ~ embed.index, }, }) }}
@@ -81,9 +81,9 @@ {% block bundles %}{% endblock %} {% endembed %} -
+
{% include molecule('form') with { - class: config.jsName ~ '__item-shipping ' ~ config.jsName ~ '__item-shipping--' ~ loop.index ~ newAddressHiddenClassName, + class: data.itemShippingClassName ~ ' ' ~ config.jsName ~ '__item-shipping ' ~ config.jsName ~ '__item-shipping--' ~ loop.index ~ newAddressHiddenClassName, modifiers: ['checkout-form'], data: { form: shippingAddress, @@ -105,7 +105,7 @@ {% include molecule('address-form-toggler', 'CustomerPage') ignore missing with { class: config.jsName ~ '__toggler', attributes: { - 'trigger-selector': '[name="' ~ shippingAddress.id_customer_address.vars.full_name ~ '"]', + 'trigger-selector': '.' ~ config.jsName ~ '__trigger--' ~ loop.index, 'target-selector': '.' ~ config.jsName ~ '__item-shipping--' ~ loop.index, 'parent-target-class-name': config.jsName, }, @@ -114,22 +114,4 @@
{% endif %} {% endfor %} - - {% include molecule('is-next-checkout-step-enabled', 'CheckoutPage') with { - attributes: { - 'trigger-selector': '[name="' ~ data.shippingForm.id_customer_address.vars.full_name ~ '"]', - 'target-selector': '.' ~ config.jsName ~ '__validate-next-checkout-step', - }, - } only %} - - {% include molecule('validate-next-checkout-step', 'CheckoutPage') with { - class: config.jsName ~ '__validate-next-checkout-step', - attributes: { - 'container-selector': '.' ~ config.jsName ~ '__item-shipping', - 'target-selector': '.' ~ data.jsAddressClass ~ '__form-submit', - 'dropdown-trigger-selector': '[multi-shipping-addresses-form-select]', - 'parent-target-class-name': config.jsName, - 'is-enable': false, - }, - } only %} {% endblock %} diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form/address-item-form.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form/address-item-form.twig index 55d872a9db..38d6f7d37e 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form/address-item-form.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/address-item-form/address-item-form.twig @@ -17,17 +17,26 @@ enableEnd: false, }, embed: { + jsName: config.jsName, shippingForm: data.shippingForm, - jsAddressClass: data.jsAddressClass, + addressSelectClassName: addressSelectClassName, + validatorTriggerClassName: validatorTriggerClassName, + itemShippingClassName: itemShippingClassName, + itemDeliveryValidationClassName: itemDeliveryValidationClassName, + hiddenClassName: data.hiddenClassName, }, } only %} {% block fields %}
{% include molecule('address-item-form-field-list', 'CheckoutPage') with { + class: embed.jsName ~ '__items', data: { items: data.form, shippingForm: embed.shippingForm, - jsAddressClass: embed.jsAddressClass, + addressSelectClassName: embed.addressSelectClassName, + itemShippingClassName: embed.itemShippingClassName, + validationClassName: embed.itemDeliveryValidationClassName, + hiddenClassName: embed.hiddenClassName, }, } only %}
@@ -43,21 +52,32 @@ enableEnd: false, }, embed: { + jsName: config.jsName, shippingForm: data.shippingForm, - jsAddressClass: data.jsAddressClass, + addressSelectClassName: addressSelectClassName, + validatorTriggerClassName: validatorTriggerClassName, + itemShippingClassName: itemShippingClassName, + itemDeliveryValidationClassName: itemDeliveryValidationClassName, + hiddenClassName: data.hiddenClassName, }, } only %} {% block fields %}
{% include molecule('address-bundle-item-form-field-list', 'CheckoutPage') with { + class: embed.jsName ~ '__items', data: { items: data.form, shippingForm: embed.shippingForm, - jsAddressClass: embed.jsAddressClass, + addressSelectClassName: embed.addressSelectClassName, + itemShippingClassName: embed.itemShippingClassName, + validationClassName: embed.itemDeliveryValidationClassName, + hiddenClassName: embed.hiddenClassName, }, } only %}
{% endblock %} {% endembed %} {% endif %} + + {{ block('stepValidation') }} {% endblock %} diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig index 53653d03dd..3e4f73b37f 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig @@ -2,6 +2,7 @@ {% block content %} {% set jsAddressClass = 'js-address' %} + {% set formSubmitClassName = jsAddressClass ~ '__form-submit' %} {% set billingSameAsShippingData = data.forms.billingSameAsShipping.vars.data %} {% embed molecule('form') with { @@ -11,7 +12,7 @@ submit: { enable: true, text: 'general.next.button' | trans, - class: 'button button--large button--expand ' ~ jsAddressClass ~ '__form-submit', + class: 'button button--large button--expand ' ~ formSubmitClassName, }, }, embed: { @@ -24,15 +25,34 @@ isMultipleShipmentEnabled: data.isMultipleShipmentEnabled, jsAddressClass: jsAddressClass, isBillingSameAsShippingChecked: billingSameAsShippingData is not defined or billingSameAsShippingData, + formSubmitClassName: formSubmitClassName, }, } only %} {% block fields %} - {% set hasShippingAddresses = data.form.shippingAddress.id_customer_address is defined %} {% set hiddenClassName = 'is-hidden' %} - {% set shippingAddressValue = data.form.shippingAddress.id_customer_address.vars.value | default %} + {% set shippingClassName = embed.jsAddressClass ~ '__shipping' %} + {% set shippingSelectClassName = embed.jsAddressClass ~ '__shipping-select' %} + {% set billingClassName = embed.jsAddressClass ~ '__billing' %} + {% set billingSelectClassName = embed.jsAddressClass ~ '__billing-select' %} + {% set billingFormClassName = embed.jsAddressClass ~ '__billing-form' %} + {% set billingSameAsShippingClassName = embed.jsAddressClass ~ '__billing-same-as-shipping' %} + {% set billingFormTriggerClassName = embed.jsAddressClass ~ '__billing-form-trigger' %} + {% set addressSelectClassName = embed.jsAddressClass ~ '__address-select' %} + {% set addressFormClassName = embed.jsAddressClass ~ '__address-form' %} + {% set addressFormContainerClassName = embed.jsAddressClass ~ '__address-form-container' %} + {% set commonSelectsClassName = embed.jsAddressClass ~ '__common-select' %} + {% set commonFormsClassName = embed.jsAddressClass ~ '__common-form' %} + {% set commonFormContainersClassName = embed.jsAddressClass ~ '__common-form-container' %} + {% set multishipmentTargetClassName = embed.jsAddressClass ~ '__items-target' %} + {% set validatorClassName = embed.jsAddressClass ~ '__validate-next-checkout-step' %} + {% set multishipmentValidatorClassName = embed.jsAddressClass ~ '__multishipment-validate-next-checkout-step' %} + + {% set optionValueDeliverToMultipleAddresses = '-1' %} + {% set shippingAddress = data.form.shippingAddress.id_customer_address %} + {% set shippingAddressValue = shippingAddress.vars.value | default %} {% set isNewAddressSelected = shippingAddressValue == 0 or shippingAddressValue is empty %} - {% set newAddressHiddenClassName = hasShippingAddresses and not isNewAddressSelected ? ' ' ~ hiddenClassName %} - {% set isMultipleShipmentSelected = shippingAddressValue == -1 %} + {% set newAddressHiddenClassName = shippingAddress is defined and not isNewAddressSelected ? ' ' ~ hiddenClassName %} + {% set isMultipleShipmentSelected = shippingAddressValue == optionValueDeliverToMultipleAddresses %} {% set multipleShipmentHiddenClassName = not isMultipleShipmentSelected ? ' ' ~ hiddenClassName %} {% set billingSameAsShippingHiddenClassName = isMultipleShipmentSelected ? hiddenClassName %} @@ -45,42 +65,53 @@ {% endif %}

- {% if hasShippingAddresses %} + {% if shippingAddress is defined %}
{{ form_row(embed.forms.shipping.id_customer_address, { label: 'page.checkout.address.delivery.address_select' | trans, + attr: { + class: addressSelectClassName ~ ' ' ~ commonSelectsClassName ~ ' ' ~ shippingSelectClassName, + }, }) }}
{% endif %} - {% include molecule('form') with { - class: embed.jsAddressClass ~ '__shipping col col--sm-12' ~ newAddressHiddenClassName, - modifiers: ['checkout-form', 'checkout-form-elements'], - data: { - form: embed.forms.shipping, - enableStart: false, - enableEnd: false, - layout: { - salutation: 'col col--sm-12 col--lg-3', - first_name: 'col col--sm-12 col--lg-4', - last_name: 'col col--sm-12 col--lg-5', - address1: 'col col--sm-12 col--md-8 col--lg-9', - address2: 'col col--sm-12 col--md-4 col--lg-3', - zip_code: 'col col--sm-12 col--lg-3', - city: 'col col--sm-12 col--lg-5', - iso2_code: 'col col--sm-12 col--lg-4', +
+ {% include molecule('form') with { + class: shippingClassName ~ ' ' ~ addressFormClassName ~ newAddressHiddenClassName, + modifiers: ['checkout-form', 'checkout-form-elements'], + data: { + form: embed.forms.shipping, + enableStart: false, + enableEnd: false, + layout: { + salutation: 'col col--sm-12 col--lg-3', + first_name: 'col col--sm-12 col--lg-4', + last_name: 'col col--sm-12 col--lg-5', + address1: 'col col--sm-12 col--md-8 col--lg-9', + address2: 'col col--sm-12 col--md-4 col--lg-3', + zip_code: 'col col--sm-12 col--lg-3', + city: 'col col--sm-12 col--lg-5', + iso2_code: 'col col--sm-12 col--lg-4', + }, }, - }, - } only %} + } only %} +
{% if embed.isMultipleShipmentEnabled %} {% include molecule('address-item-form', 'CheckoutPage') with { - class: 'col col--sm-12 spacing-bottom ' ~ embed.jsAddressClass ~ '__items-target' ~ multipleShipmentHiddenClassName, + class: multishipmentTargetClassName ~ multipleShipmentHiddenClassName ~ ' col col--sm-12 spacing-bottom', data: { form: embed.forms.items, formBundle: embed.forms.bundleItems, shippingForm: embed.forms.shipping, jsAddressClass: embed.jsAddressClass, + hiddenClassName: hiddenClassName, + validatorClassName: multishipmentValidatorClassName, + formSubmitClassName: embed.formSubmitClassName, + addressSelectClassName: commonSelectsClassName, + addressFormClassName: commonFormsClassName, + addressFormContainerClassName: commonFormContainersClassName, }, } only %} {% endif %} @@ -88,12 +119,14 @@

{{ 'page.checkout.address.billing-address' | trans }}

-
+
{{ form_row(data.form.billingSameAsShipping, { label: 'page.checkout.address.billing-same-as-shipping' | trans, component: molecule('toggler-checkbox'), + componentClass: billingFormTriggerClassName, attributes: { - 'target-class-name': embed.jsAddressClass ~ '__billing-address', + 'target-class-name': billingClassName, + 'class-to-toggle': hiddenClassName, 'add-class-when-checked': true, checked: not isMultipleShipmentSelected ? embed.isBillingSameAsShippingChecked : false, }, @@ -101,7 +134,7 @@
{% embed molecule('form') with { - class: 'col col--sm-12 spacing-top spacing-top--big ' ~ embed.jsAddressClass ~ '__billing-address ' ~ hiddenClassName, + class: billingClassName ~ ' ' ~ addressFormContainerClassName ~ ' ' ~ commonFormContainersClassName ~ ' ' ~ multipleShipmentHiddenClassName ~ ' col col--sm-12 spacing-top spacing-top--big', modifiers: ['checkout-form-elements'], data: { form: embed.forms.billing, @@ -120,43 +153,69 @@ }, embed: { jsAddressClass: embed.jsAddressClass, - hiddenClassName: hiddenClassName + hiddenClassName: hiddenClassName, + billingSelectClassName: billingSelectClassName, + billingFormClassName: billingFormClassName, + addressSelectClassName: addressSelectClassName, + addressFormClassName: addressFormClassName, + addressFormContainerClassName: addressFormContainerClassName, + commonSelectsClassName: commonSelectsClassName, + commonFormsClassName: commonFormsClassName, }, } only %} {% block fields %} - {% set hasBillingAddresses = data.form.id_customer_address is defined %} - {% set billingAddressValue = data.form.id_customer_address.vars.value | default %} + {% set billingAddress = data.form.id_customer_address %} + {% set billingAddressValue = billingAddress.vars.value | default %} {% set isNewAddressSelected = billingAddressValue == 0 or billingAddressValue is empty %} - {% set newAddressHiddenClassName = hasBillingAddresses and not isNewAddressSelected ? ' ' ~ embed.hiddenClassName %} + {% set newAddressHiddenClassName = billingAddress is defined and not isNewAddressSelected ? ' ' ~ embed.hiddenClassName %} - {% if hasBillingAddresses %} + {% if billingAddress is defined %}
{{ form_row(data.form.id_customer_address, { label: 'page.checkout.address.billing.address_select' | trans, + attr: { + class: embed.addressSelectClassName ~ ' ' ~ embed.commonSelectsClassName ~ ' ' ~ embed.billingSelectClassName, + }, }) }}
{% endif %}
-
+
{{ parent() }}
{% endblock %} {% endembed %}
- {% endblock %} - {% block actions %} - {% set optionValueDeliverToMultipleAddresses = '-1' %} + {% include molecule('is-next-checkout-step-enabled', 'CheckoutPage') with { + attributes: { + 'trigger-selector': '.' ~ shippingSelectClassName, + 'extra-triggers-class-name': billingFormTriggerClassName, + 'target-selector': '.' ~ multishipmentValidatorClassName, + 'extra-target-selector': '.' ~ validatorClassName, + }, + } only %} + {% include molecule('validate-next-checkout-step', 'CheckoutPage') with { + class: validatorClassName, + attributes: { + 'container-selector': '.' ~ addressFormClassName, + 'extra-container-selector': '.' ~ addressFormContainerClassName, + 'target-selector': '.' ~ embed.formSubmitClassName, + 'dropdown-trigger-selector': '.' ~ addressSelectClassName ~ ':not(.' ~ hiddenClassName ~ ')', + 'is-enable': false, + }, + } only %} + {% include molecule('address-form-toggler', 'CustomerPage') ignore missing with { attributes: { - 'trigger-selector': '[name="' ~ embed.forms.shipping.id_customer_address.vars.full_name ~ '"]', - 'target-selector': '.' ~ embed.jsAddressClass ~ '__shipping', - 'sub-target-selector': '.' ~ embed.jsAddressClass ~ '__items-target', - 'container-billing-address-selector': '.' ~ embed.jsAddressClass ~ '__billing-address', - 'billing-same-as-shipping-selector': '.' ~ embed.jsAddressClass ~ '__billing-same-as-shipping', + 'trigger-selector': '.' ~ shippingSelectClassName, + 'target-selector': '.' ~ shippingClassName, + 'sub-target-selector': '.' ~ multishipmentTargetClassName, + 'container-billing-address-selector': '.' ~ billingClassName, + 'billing-same-as-shipping-selector': '.' ~ billingSameAsShippingClassName, 'billing-same-as-shipping-toggler-selector': 'input[name="addressesForm[billingSameAsShipping]"]', 'toggle-option-value': optionValueDeliverToMultipleAddresses, }, @@ -164,12 +223,10 @@ {% include molecule('address-form-toggler', 'CustomerPage') ignore missing with { attributes: { - 'trigger-selector': '[name="' ~ embed.forms.billing.id_customer_address.vars.full_name ~ '"]', - 'target-selector': '.' ~ embed.jsAddressClass ~ '__billing', + 'trigger-selector': '.' ~ billingSelectClassName, + 'target-selector': '.' ~ billingFormClassName, }, } only %} - - {{ parent() }} {% endblock %} {% endembed %} {% endblock %} diff --git a/src/Pyz/Yves/ShopUi/Theme/default/resources/form/form.twig b/src/Pyz/Yves/ShopUi/Theme/default/resources/form/form.twig index 37f6bbcd56..e49ae768ee 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/resources/form/form.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/resources/form/form.twig @@ -98,6 +98,7 @@ {%- set type = type | default('checkbox') -%} {%- set component = component | default(atom(type)) -%} {%- set label = label | default(name | humanize) | trans -%} + {%- set componentClass = componentClass | default -%} {%- set modifiers = errors is empty ? ['expand'] : ['expand', 'error'] -%} {%- set inputClass = attr.class | default -%} @@ -114,6 +115,7 @@ {%- set modifiers = modifiers | merge([attributes.additionalModifier]) -%} {% include component with { + class: componentClass, modifiers: modifiers, data: { label: label, From fae467b7edf669d172068d96549afc4ce90c0cbe Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Thu, 7 Dec 2023 18:02:55 +0200 Subject: [PATCH 27/64] CC-31629: Updated address.twig. --- .../Theme/default/views/address/address.twig | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig index 3e4f73b37f..11b678642d 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/address/address.twig @@ -48,10 +48,10 @@ {% set multishipmentValidatorClassName = embed.jsAddressClass ~ '__multishipment-validate-next-checkout-step' %} {% set optionValueDeliverToMultipleAddresses = '-1' %} - {% set shippingAddress = data.form.shippingAddress.id_customer_address %} - {% set shippingAddressValue = shippingAddress.vars.value | default %} + {% set hasShippingAddresses = data.form.shippingAddress.id_customer_address is defined %} + {% set shippingAddressValue = data.form.shippingAddress.id_customer_address.vars.value | default %} {% set isNewAddressSelected = shippingAddressValue == 0 or shippingAddressValue is empty %} - {% set newAddressHiddenClassName = shippingAddress is defined and not isNewAddressSelected ? ' ' ~ hiddenClassName %} + {% set newAddressHiddenClassName = hasShippingAddresses and not isNewAddressSelected ? ' ' ~ hiddenClassName %} {% set isMultipleShipmentSelected = shippingAddressValue == optionValueDeliverToMultipleAddresses %} {% set multipleShipmentHiddenClassName = not isMultipleShipmentSelected ? ' ' ~ hiddenClassName %} {% set billingSameAsShippingHiddenClassName = isMultipleShipmentSelected ? hiddenClassName %} @@ -65,7 +65,7 @@ {% endif %} - {% if shippingAddress is defined %} + {% if hasShippingAddresses %}
{{ form_row(embed.forms.shipping.id_customer_address, { label: 'page.checkout.address.delivery.address_select' | trans, @@ -164,12 +164,12 @@ }, } only %} {% block fields %} - {% set billingAddress = data.form.id_customer_address %} - {% set billingAddressValue = billingAddress.vars.value | default %} + {% set hasBillingAddresses = data.form.id_customer_address is defined %} + {% set billingAddressValue = data.form.id_customer_address.vars.value | default %} {% set isNewAddressSelected = billingAddressValue == 0 or billingAddressValue is empty %} - {% set newAddressHiddenClassName = billingAddress is defined and not isNewAddressSelected ? ' ' ~ embed.hiddenClassName %} + {% set newAddressHiddenClassName = hasBillingAddresses and not isNewAddressSelected ? ' ' ~ embed.hiddenClassName %} - {% if billingAddress is defined %} + {% if hasBillingAddresses %}
{{ form_row(data.form.id_customer_address, { label: 'page.checkout.address.billing.address_select' | trans, From dcb0dae01177bcd4b9a44a37b086cfda46b4fe72 Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Thu, 7 Dec 2023 18:34:18 +0200 Subject: [PATCH 28/64] CC-31773: Extended shipment-information molecule. --- .../summary-sidebar/summary-sidebar.twig | 18 ++--------- .../Theme/default/views/summary/summary.twig | 2 +- .../order-detail-table.twig | 2 +- .../molecules/shipment-information/index.ts | 1 + .../shipment-information.scss | 12 ++++++++ .../shipment-information.twig | 30 +++++++++++++++++++ .../customer-reorder-form.twig | 4 +++ .../molecules/action-bar/action-bar.scss | 2 -- 8 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/index.ts create mode 100644 src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.scss create mode 100644 src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig index 72eb6e2bb3..93e01be145 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/components/molecules/summary-sidebar/summary-sidebar.twig @@ -6,9 +6,9 @@ {% define data = { shipmentGroup: required, + shipmentExpenses: required, isGiftCardExists: false, canEdit: false, - shipmentExpenses: {}, } %} {% block body %} @@ -30,27 +30,13 @@ {% if not data.isGiftCardExists %}

{{ 'checkout.step.summary.delivery_method' | trans }}

-

- {{ shipment.method.carrierName | trans }} - - {% set deliveryLogoName = shipment.method.carrierName | replace({' ': ''}) | lower ~ '-logo' %} - {% include atom('icon') with { - class: 'col', - modifiers: [deliveryLogoName], - data: { - name: deliveryLogoName, - }, - } only %} - -

+ {% if data.shipmentExpenses[data.shipmentGroup.hash] is defined %} {% include molecule('shipment-information', 'CustomerPage') ignore missing with { data: { shipmentExpense: data.shipmentExpenses[data.shipmentGroup.hash], }, } only %} - {% else %} -
{{ shipment.method.name }}: {{ shipment.method.storeCurrencyPrice | money(true, shipment.method.currencyIsoCode) }}
{% endif %} {% if data.canEdit %} diff --git a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig index 0cb324ddd2..4bd915b69f 100644 --- a/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig +++ b/src/Pyz/Yves/CheckoutPage/Theme/default/views/summary/summary.twig @@ -97,9 +97,9 @@ {% include molecule('summary-sidebar', 'CheckoutPage') with { data: { shipmentGroup: shipmentGroup, + shipmentExpenses: data.shipmentExpenses, isGiftCardExists: isGiftCardExists, canEdit: true, - shipmentExpenses: data.shipmentExpenses, }, } only %}
diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig index 78887a8f11..aff1db6db1 100644 --- a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail-table/order-detail-table.twig @@ -131,8 +131,8 @@ {% include molecule('summary-sidebar', 'CheckoutPage') ignore missing with { data: { shipmentGroup: shipmentGroup, - isGiftCardExists: isGiftCardExists, shipmentExpenses: data.orderShipmentExpenses, + isGiftCardExists: isGiftCardExists, }, } only %}
diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/index.ts b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/index.ts new file mode 100644 index 0000000000..f4f5839e79 --- /dev/null +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/index.ts @@ -0,0 +1 @@ +import './shipment-information.scss'; diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.scss b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.scss new file mode 100644 index 0000000000..1633bdc776 --- /dev/null +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.scss @@ -0,0 +1,12 @@ +@mixin customer-page-shipment-information($name: '.shipment-information') { + #{$name} { + &__content { + font-weight: fw(light); + letter-spacing: rem(-0.18); + } + + @content; + } +} + +@include customer-page-shipment-information(); diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig new file mode 100644 index 0000000000..21c46f6428 --- /dev/null +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig @@ -0,0 +1,30 @@ +{% extends molecule('shipment-information', '@SprykerShop:CustomerPage') %} + +{% define config = { + tag: 'div', +} %} + +{% block class %}{{ parent() }}{% endblock %} + +{% block body %} + {% set shipmentMethod = data.shipmentExpense.shipment.method %} + {% set carrierName = shipmentMethod.carrierName %} + +

+ {{ carrierName | trans }} + + {% set deliveryLogoName = carrierName | replace({' ': ''}) | lower ~ '-logo' %} + + {% include atom('icon') with { + modifiers: [deliveryLogoName], + data: { + name: deliveryLogoName, + }, + } only %} + +

+ +
+ {{ shipmentMethod.name }}: {{ data.shipmentExpense.sumPrice | money(true, shipmentMethod.currencyIsoCode) }} +
+{% endblock %} diff --git a/src/Pyz/Yves/CustomerReorderWidget/Theme/default/components/molecules/customer-reorder-form/customer-reorder-form.twig b/src/Pyz/Yves/CustomerReorderWidget/Theme/default/components/molecules/customer-reorder-form/customer-reorder-form.twig index 09e9ed06c7..11e97b2955 100644 --- a/src/Pyz/Yves/CustomerReorderWidget/Theme/default/components/molecules/customer-reorder-form/customer-reorder-form.twig +++ b/src/Pyz/Yves/CustomerReorderWidget/Theme/default/components/molecules/customer-reorder-form/customer-reorder-form.twig @@ -1,5 +1,9 @@ {% extends molecule('customer-reorder-form', '@SprykerShop:CustomerReorderWidget') %} +{% block extraClass %} + box +{% endblock %} + {% block formContent %} {% include molecule('order-detail', 'CustomerPage') ignore missing with { class: 'spacing-top spacing-top--big', diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss index ef73c867b7..39d52da94c 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss @@ -7,8 +7,6 @@ } &__actions { - margin-right: -8px; - @include helper-breakpoint-media-min($md-min) { display: flex; flex-wrap: wrap; From 79193ce65a81378bd5270055baef272fedc4d0b7 Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Thu, 7 Dec 2023 20:45:40 +0200 Subject: [PATCH 29/64] CC-31773: Updated action-bar styles. --- .../default/components/molecules/order-detail/order-detail.twig | 2 +- .../default/components/molecules/action-bar/action-bar.scss | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail/order-detail.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail/order-detail.twig index a41d33f3f8..40eb799d0f 100644 --- a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail/order-detail.twig +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-detail/order-detail.twig @@ -9,7 +9,7 @@ {% embed molecule('action-bar') with { data: { title: 'customer.profile.order_details' | trans, - titleClass: 'title title--secondary-box', + titleClass: 'title title--secondary-box spacing-right spacing-right--inner', }, embed: { order: data.order, diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss index 39d52da94c..f99eac7910 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/action-bar/action-bar.scss @@ -11,6 +11,7 @@ display: flex; flex-wrap: wrap; align-items: flex-start; + margin-right: rem(-8); } } } From caedf9d239490a13672244882c15ab5145380938 Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Fri, 8 Dec 2023 12:20:30 +0200 Subject: [PATCH 30/64] CC-31773: Updated shipment-information.twig. --- .../molecules/shipment-information/shipment-information.twig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig index 21c46f6428..47059a73cf 100644 --- a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/shipment-information/shipment-information.twig @@ -1,10 +1,13 @@ {% extends molecule('shipment-information', '@SprykerShop:CustomerPage') %} +{% import _self as component %} {% define config = { tag: 'div', } %} -{% block class %}{{ parent() }}{% endblock %} +{% block class %} + {{- component.renderClass(config.name, modifiers, class) -}} +{% endblock %} {% block body %} {% set shipmentMethod = data.shipmentExpense.shipment.method %} From 2ced7058c38fbfeda914aee57cf49b90b4a377bb Mon Sep 17 00:00:00 2001 From: Yuriy Gerton Date: Fri, 8 Dec 2023 15:47:24 +0200 Subject: [PATCH 31/64] CC-31983: fix agent bar --- .../agent-control-item.scss | 58 +++++++-- .../agent-control-item.twig | 41 ++++--- .../customer-list/customer-list.twig | 2 +- .../agent-control-bar/agent-control-bar.scss | 110 +++++++++++------ .../agent-control-bar/agent-control-bar.twig | 113 ++++++++---------- .../components/atoms/button/button.scss | 4 +- .../atoms/icon-sprite/icon-sprite.twig | 14 +++ .../autocomplete-form/autocomplete-form.scss | 34 +++++- .../autocomplete-form/autocomplete-form.twig | 1 + .../components/organisms/header/header.twig | 73 +++++++---- .../jumbotron-slider/jumbotron-slider.scss | 1 + .../Theme/default/styles/basics/_grid.scss | 1 + 12 files changed, 304 insertions(+), 148 deletions(-) diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.scss b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.scss index 122d95174a..7cbd59f5f7 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.scss +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.scss @@ -1,22 +1,64 @@ @mixin agent-widget-agent-control-item($name: '.agent-control-item') { #{$name} { + display: flex; + align-items: center; + + &__col { + flex-grow: 0; + flex-basis: auto; + } + + &__icon { + padding-right: rem(10); + + @include helper-breakpoint-media-min($xl-min) { + padding-right: rem(15); + } + } + &__info { - margin-top: rem(8); - margin-bottom: rem(8); - font-size: rem(14); + font-size: rem(12); line-height: normal; + overflow: hidden; } - &__button-wrap { - margin: rem(8) 0 rem(8) rem(8); + &__title { + margin-bottom: rem(4); } &__name { - font-weight: fw(medium); + font-size: rem(10); + font-weight: fw(bold); + color: $setting-color-gray-4; + text-transform: uppercase; + display: inline-block; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + + &:hover, + &:focus { + color: $setting-color-black; + } + } + + &__button-wrapper { + align-self: stretch; + display: flex; + align-items: flex-end; + padding-left: rem(8); + } + + &__button { color: $setting-color-gray-4; + display: inline-block; + font-size: 0; + line-height: 0; + padding: rem(5) rem(5) rem(3); - &:hover { - color: $setting-color-gray-3; + &:hover, + &:focus { + color: $setting-color-black; } } diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.twig b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.twig index 1277f94052..dd93323a63 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.twig +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/agent-control-item/agent-control-item.twig @@ -5,26 +5,39 @@ } %} {% define data = { - title: required, - buttonLink: required, - buttonName: required, + title: 'agent.control_bar.username' | trans, + buttonLink: url('agent_logout'), + buttonTitle: 'agent.control_bar.logout' | trans, + type: 'agent', firstName: '', lastName: '', } %} -{% block extraClass %} - grid grid--gap grid--inline grid--middle -{% endblock %} {% block body %} -
-
- {{ data.title }} +
+ {% include atom('icon') with { + modifiers: ['big'], + data: { + name: data.type, + }, + } only %} +
+
+
+ {{- data.title -}}
- {% if data.firstName or data.lastName %} - {{ data.firstName }} {{ data.lastName }} - {% endif %} + + {{- data.firstName }} {{ data.lastName -}} +
-
- {{ data.buttonName }} + {% endblock %} diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/customer-list/customer-list.twig b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/customer-list/customer-list.twig index cc873986c6..8bee83878b 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/customer-list/customer-list.twig +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/molecules/customer-list/customer-list.twig @@ -2,7 +2,7 @@ {% block body %} {% for customer in data.customers %} -
  • +
  • {{ customer.first_name }} {{ customer.last_name }}: {{ customer.email }}
  • {% endfor %} diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss index 8245206120..9916408589 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss @@ -1,52 +1,94 @@ -@mixin agent-control-bar($name: '.agent-control-bar') { +@mixin agent-widget-agent-control-bar($name: '.agent-control-bar') { #{$name} { position: relative; - border-bottom: rem(1) solid $setting-color-gray-3; - - &.active { - z-index: $setting-zi-header + 1; - - &::before { - content: ''; - position: fixed; - left: 0; - top: 0; - bottom: 0; - right: 0; - background-color: $setting-color-black; - opacity: 0.4; - z-index: $setting-zi-underside; - } + border-bottom: rem(1) solid $setting-color-gray-1; + z-index: $setting-zi-header + 1; + + @include helper-breakpoint-media-min($lg-min) { + border-bottom: none; } - &__inner { - position: relative; - background-color: $setting-color-white; - z-index: $setting-zi-element; + .body-has-overlay & { + z-index: auto; } - &__container { - padding: rem(12) rem(16); + &__content { + display: flex; + align-items: center; + flex-wrap: wrap; + padding: 0 rem(16); - @include helper-breakpoint-media-max($sm-max) { - flex-direction: column-reverse; - text-align: right; + @include helper-breakpoint-media-min($md-min) { + flex-wrap: nowrap; } } - &__info { - font-size: rem(14); - line-height: normal; + &__col { + flex-grow: 0; + flex-basis: auto; + padding: rem(8) 0 rem(12); + + @include helper-breakpoint-media-min($md-min) { + padding-top: 0; + } + + @include helper-breakpoint-media-min($lg-min) { + padding-top: rem(12); + } } - &__name { - font-weight: fw(medium); + &__customer { + max-width: 45%; + + &--search { + flex-grow: 1; + width: 100%; + max-width: none; + border-bottom: rem(1) solid $setting-color-gray-1; + + @include helper-breakpoint-media-min($md-min) { + width: auto; + min-width: 38%; + max-width: 60%; + border-bottom: none; + } + + @include helper-breakpoint-media-min($lg-min) { + max-width: 50%; + } + + @include helper-breakpoint-media-min($xl-min) { + flex-grow: 0; + } + } + } + + &__title { + @include helper-font-line-height(tight); + font-size: rem(12); + padding-bottom: rem(5); } - &__button-wrap { - margin-left: rem(18); + &__agent { + margin-left: auto; + max-width: 45%; + + &--search { + max-width: none; + margin-left: 0; + + @include helper-breakpoint-media-min($md-min) { + padding: 0; + margin-left: auto; + max-width: 35%; + } + + @include helper-breakpoint-media-min($lg-min) { + max-width: 45%; + } + } } } } -@include agent-control-bar(); +@include agent-widget-agent-control-bar(); diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig index 4d3b74f232..310085df2b 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig @@ -1,74 +1,63 @@ {% extends organism('agent-control-bar', '@SprykerShop:AgentWidget') %} +{% define data = { + locale: app.locale | slice(0, 2), +} %} + {% block body %} -
    -
    -
    -
    -
    - {% if is_granted('ROLE_PREVIOUS_ADMIN') %} -
    - {% set customer = data.customer %} + {% set isAgentControl = is_granted('ROLE_PREVIOUS_ADMIN') %} + {% set customerSectionClassNames = config.name ~ '__customer ' ~ (not isAgentControl ? config.name ~ '__customer--search') %} + {% set agentSectionClassNames = config.name ~ '__agent ' ~ (not isAgentControl ? config.name ~ '__agent--search') %} + {% set customerTitle = 'agent.control_bar.customer_name' | trans %} - {% include molecule('agent-control-item', 'AgentWidget') with { +
    +
    +
    + {% if isAgentControl %} + {% include molecule('agent-control-item', 'AgentWidget') with { + data: { + title: customerTitle, + buttonLink: '/' ~ data.locale ~ '?_switch_user=_exit', + buttonTitle: 'agent.control_bar.logout_as_customer' | trans, + firstName: data.customer.firstName, + lastName: data.customer.lastName, + type: 'customer', + }, + } only %} + {% else %} +
    {{ customerTitle }}
    +
    +
    +
    + {% include molecule('autocomplete-form') with { + modifiers: ['overlap-test', 'small'], data: { - title: 'agent.control_bar.customer_name' | trans, - buttonLink: '/?_switch_user=_exit', - buttonName: 'agent.control_bar.logout_as_customer' | trans, - firstName: customer.firstName, - lastName: customer.lastName, + id: 'agent', + suggestionsUrl: path('agent-widget/customer-autocomplete'), + name: '_switch_user', + showCleanButton: true, + }, + attributes: { + 'suggested-item-class-name': 'js-customer-list__container-item', }, } only %}
    - {% endif %} - - {% if not is_granted('ROLE_PREVIOUS_ADMIN') %} - -
    -
    - {% include molecule('autocomplete-form') with { - modifiers: ['overlap'], - data: { - id: 'agent', - suggestionsUrl: path('agent-widget/customer-autocomplete'), - name: '_switch_user', - showCleanButton: true, - }, - attributes: { - 'suggested-item-class-name': 'js-customer-list__suggestions-item', - }, - } only %} -
    - -
    - -
    -
    - - {% endif %} -
    - {% widget 'QuoteRequestAgentOverviewWidget' only %} - {% block activeRequestActions %}{% endblock %} - {% block activeRequest %}{% endblock %} - {% endwidget %} +
    + +
    -
    -
    -
    - {% set agent = data.agent %} - - {% include molecule('agent-control-item', 'AgentWidget') with { - data: { - title: 'agent.control_bar.username' | trans, - buttonLink: path('agent_logout'), - buttonName: 'agent.control_bar.logout' | trans, - firstName: agent.firstName, - lastName: agent.lastName, - }, - } only %} -
    + + {% endif %} +
    +
    + {% include molecule('agent-control-item', 'AgentWidget') with { + data: { + firstName: data.agent.firstName, + lastName: data.agent.lastName, + }, + } only %}
    diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/button/button.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/button/button.scss index ae0a935847..8fe01f908e 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/button/button.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/button/button.scss @@ -172,7 +172,9 @@ } &--agent { - min-width: rem(79); + border-radius: 0 rem(2) rem(2) 0; + min-width: 0; + padding: rem(11) rem(12); } &--combined { diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/icon-sprite/icon-sprite.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/icon-sprite/icon-sprite.twig index caedd48c05..db1c6e3681 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/icon-sprite/icon-sprite.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/icon-sprite/icon-sprite.twig @@ -441,5 +441,19 @@ C333.8,39.6,321.1,28.7,304.6,28.7z"/> Configuration + + + Agent + + + + + + Customer + + + + + {% endapply %} {% endblock %} diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss index 16ec7d6037..ffed3d2be5 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss @@ -1,4 +1,6 @@ -@include shop-ui-autocomplete-form { +@include shop-ui-autocomplete-form() { + $name: '.autocomplete-form'; + margin-right: rem(20); &__suggestion { @@ -24,8 +26,9 @@ position: relative; } - &__input { + #{$name}__input { border: none; + border-radius: rem(3) 0 0 rem(3); background-color: $setting-color-gray-1; font-weight: fw(medium); font-size: rem(18); @@ -37,10 +40,35 @@ opacity: 0.3; } - &__clean-button { + #{$name}__clean-button { position: absolute; top: 0; right: 0; bottom: 0; } + + &--small { + margin-right: 0; + + #{$name}__input { + @include helper-font-size(small); + padding: rem(12) rem(40) rem(12) rem(14); + line-height: rem(16); + } + + #{$name}__clean-button { + padding: rem(14); + line-height: 0; + + &:hover, + &:focus { + color: $setting-color-gray-4; + } + } + + #{$name}__icon { + width: rem(12); + height: rem(12); + } + } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.twig index 8bd148a8c5..5bf4aca34b 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.twig @@ -15,6 +15,7 @@ {% block cleanButton %}
    diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/jumbotron-slider/jumbotron-slider.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/jumbotron-slider/jumbotron-slider.scss index 1933d7f234..42ee8d7ce7 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/jumbotron-slider/jumbotron-slider.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/organisms/jumbotron-slider/jumbotron-slider.scss @@ -1,6 +1,7 @@ @mixin shop-ui-jumbotron-slider($name: '.jumbotron-slider') { #{$name} { min-height: rem(212); + min-width: 360px; @include helper-breakpoint-media-min($md-min) { min-height: rem(290); diff --git a/src/Pyz/Yves/ShopUi/Theme/default/styles/basics/_grid.scss b/src/Pyz/Yves/ShopUi/Theme/default/styles/basics/_grid.scss index 520d5bae53..543628492e 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/styles/basics/_grid.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/styles/basics/_grid.scss @@ -2,6 +2,7 @@ .container { display: block; width: 100%; + min-width: 360px; max-width: $setting-grid-max-width; margin: auto; From 06c42558f5dce9b7785aa4c42778a776b75d32ac Mon Sep 17 00:00:00 2001 From: Yuriy Gerton Date: Fri, 8 Dec 2023 16:25:52 +0200 Subject: [PATCH 32/64] CC-31983: fix autocomplete-form suggestions area --- package-lock.json | 12 ++++++------ .../agent-control-bar/agent-control-bar.scss | 8 ++------ .../agent-control-bar/agent-control-bar.twig | 2 +- .../autocomplete-form/autocomplete-form.scss | 17 +++++++++++++---- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index bbc8027c15..0a2b7772b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4192,9 +4192,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001492", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", - "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "version": "1.0.30001566", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", + "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", "dev": true, "funding": [ { @@ -16860,9 +16860,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001492", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", - "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "version": "1.0.30001566", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", + "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", "dev": true }, "canvas-fit": { diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss index 9916408589..b6710f29a9 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss @@ -2,16 +2,12 @@ #{$name} { position: relative; border-bottom: rem(1) solid $setting-color-gray-1; - z-index: $setting-zi-header + 1; + z-index: $setting-zi-header + 4; @include helper-breakpoint-media-min($lg-min) { border-bottom: none; } - .body-has-overlay & { - z-index: auto; - } - &__content { display: flex; align-items: center; @@ -26,7 +22,7 @@ &__col { flex-grow: 0; flex-basis: auto; - padding: rem(8) 0 rem(12); + padding: rem(8) 0 rem(12); @include helper-breakpoint-media-min($md-min) { padding-top: 0; diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig index 310085df2b..d99f7151b5 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.twig @@ -30,7 +30,7 @@
    {% include molecule('autocomplete-form') with { - modifiers: ['overlap-test', 'small'], + modifiers: ['small'], data: { id: 'agent', suggestionsUrl: path('agent-widget/customer-autocomplete'), diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss index ffed3d2be5..2c9b86f77c 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/autocomplete-form/autocomplete-form.scss @@ -1,15 +1,20 @@ @include shop-ui-autocomplete-form() { $name: '.autocomplete-form'; - margin-right: rem(20); - &__suggestion { + &__suggestions { + @include helper-font-size(small); + @include helper-font-line-height(default); background-color: $setting-color-white; border-radius: rem(3); padding: rem(12) rem(18); - font-size: rem(19); - line-height: 1.79; color: $setting-color-black; + box-shadow: 0 rem(10) rem(10) 0 $setting-color-alpha-1; + + @include helper-breakpoint-media-min($lg-min) { + font-size: rem(19); + line-height: 1.79; + } } &__item { @@ -50,6 +55,10 @@ &--small { margin-right: 0; + #{$name}__suggestions { + padding: rem(14) rem(12); + } + #{$name}__input { @include helper-font-size(small); padding: rem(12) rem(40) rem(12) rem(14); From a87bc4dccd3ab71ff9999b8fef8ba7899443875d Mon Sep 17 00:00:00 2001 From: Yuriy Gerton Date: Fri, 8 Dec 2023 16:33:43 +0200 Subject: [PATCH 33/64] CC-31983: fix agent-control-bar long name behavior --- .../organisms/agent-control-bar/agent-control-bar.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss index b6710f29a9..9303d34134 100644 --- a/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss +++ b/src/Pyz/Yves/AgentWidget/Theme/default/components/organisms/agent-control-bar/agent-control-bar.scss @@ -70,7 +70,7 @@ max-width: 45%; &--search { - max-width: none; + max-width: 100%; margin-left: 0; @include helper-breakpoint-media-min($md-min) { From db536e30f605fd04a42888054073bb1c32f75ff3 Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Fri, 8 Dec 2023 15:42:00 +0100 Subject: [PATCH 34/64] CC-32131 Fixed merchant portal and Product configurator build for CI acceptance configuration files. --- config/install/docker.ci.acceptance.yml | 17 +++++++++++++++++ deploy.ci.acceptance.mariadb.yml | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/config/install/docker.ci.acceptance.yml b/config/install/docker.ci.acceptance.yml index 1e67610abb..40f6bd53d5 100644 --- a/config/install/docker.ci.acceptance.yml +++ b/config/install/docker.ci.acceptance.yml @@ -16,6 +16,9 @@ sections: router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' + router-cache-warmup-merchant-portal: + command: 'vendor/bin/console router:cache:warm-up:merchant-portal' + twig-cache-warmup: command: 'vendor/bin/console twig:cache:warmer' @@ -68,6 +71,13 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build -e production' + merchant-portal-build-frontend: + command: 'vendor/bin/console frontend:mp:build -e production' + timeout: 1600 + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + build-static-development: yves-build-frontend: command: 'vendor/bin/console frontend:yves:build' @@ -75,6 +85,13 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build' + merchant-portal-build-frontend: + command: 'vendor/bin/console frontend:mp:build' + timeout: 1600 + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + init-storages-per-store: queue-setup: command: 'vendor/bin/console queue:setup' diff --git a/deploy.ci.acceptance.mariadb.yml b/deploy.ci.acceptance.mariadb.yml index eafc208655..1569ca9a3d 100644 --- a/deploy.ci.acceptance.mariadb.yml +++ b/deploy.ci.acceptance.mariadb.yml @@ -10,6 +10,8 @@ image: environment: SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80 + SPRYKER_CONFIGURATOR_ENCRYPTION_KEY: 'change123' + SPRYKER_PRODUCT_CONFIGURATOR_HEX_INITIALIZATION_VECTOR: '0c1ffefeebdab4a3d839d0e52590c9a2' SPRYKER_YVES_HOST_DE: yves.de.spryker.local SPRYKER_YVES_HOST_AT: yves.at.spryker.local SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PUBLIC_KEY: 'BGqNWbv0hWM5CQ1-KwAfSQBMC6TMVFyrnh3vQp37oGCNvQ6eG_HyMjxBFJRWeCPTbzDoxcjhxLJS8Ck8r1G2oFw' @@ -60,6 +62,22 @@ groups: EU: region: EU applications: + merchant_portal_eu: + application: merchant-portal + endpoints: + mp.de.spryker.local: + entry-point: MerchantPortal + store: DE + primal: true + services: + session: + namespace: 7 + mp.at.spryker.local: + entry-point: MerchantPortal + store: AT + services: + session: + namespace: 8 yves_eu: application: yves endpoints: From 8c4ad06715da7378700855d9cdc1eae405d9d925 Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Sun, 10 Dec 2023 11:42:01 +0100 Subject: [PATCH 35/64] CC-32131 Added new CI config file for Robot tests. --- config/install/docker.ci.acceptance.robot.yml | 142 +++++++++++++ config/install/docker.ci.acceptance.yml | 17 -- deploy.ci.acceptance.mariadb.robot.yml | 198 ++++++++++++++++++ deploy.ci.acceptance.mariadb.yml | 16 -- 4 files changed, 340 insertions(+), 33 deletions(-) create mode 100644 config/install/docker.ci.acceptance.robot.yml create mode 100644 deploy.ci.acceptance.mariadb.robot.yml diff --git a/config/install/docker.ci.acceptance.robot.yml b/config/install/docker.ci.acceptance.robot.yml new file mode 100644 index 0000000000..40f6bd53d5 --- /dev/null +++ b/config/install/docker.ci.acceptance.robot.yml @@ -0,0 +1,142 @@ +env: + NEW_RELIC_ENABLED: 0 + SPRYKER_LOG_STDOUT: /dev/null + +sections: + build: + generate-transfers: + command: 'vendor/bin/console transfer:generate' + + router-cache-warmup-yves: + command: 'vendor/bin/yves router:cache:warm-up' + + router-cache-warmup-backoffice: + command: 'vendor/bin/console router:cache:warm-up:backoffice' + + router-cache-warmup-backend-gateway: + command: 'vendor/bin/console router:cache:warm-up:backend-gateway' + + router-cache-warmup-merchant-portal: + command: 'vendor/bin/console router:cache:warm-up:merchant-portal' + + twig-cache-warmup: + command: 'vendor/bin/console twig:cache:warmer' + + navigation-cache-warmup: + command: 'vendor/bin/console navigation:build-cache' + + rest-request-validation-cache-warmup: + command: 'vendor/bin/console rest-api:build-request-validation-cache' + + propel-copy-schema: + command: 'vendor/bin/console propel:schema:copy' + + propel-build: + command: 'vendor/bin/console propel:model:build' + + generate-entity-transfer: + command: 'vendor/bin/console transfer:entity:generate' + + generate-page-source-map: + command: 'vendor/bin/console search:setup:source-map' + + translator-generate-cache: + command: 'vendor/bin/console translator:generate-cache' + + cache-class-resolver-build: + command: 'vendor/bin/console cache:class-resolver:build' + + generate-scope-collection-file: + command: 'vendor/bin/console oauth:scope-collection-file:generate' + + build-development: + generate-transfers: + command: 'vendor/bin/console transfer:generate' + + generate-transfer-databuilders: + command: 'vendor/bin/console transfer:databuilder:generate' + + rest-api-generate-documentation: + command: 'vendor/bin/console rest-api:generate:documentation' + + build-static: + dependencies-install: + command: 'vendor/bin/console frontend:project:install-dependencies' + + build-static-production: + excluded: true + yves-build-frontend: + command: 'vendor/bin/console frontend:yves:build -e production' + + zed-build-frontend: + command: 'vendor/bin/console frontend:zed:build -e production' + + merchant-portal-build-frontend: + command: 'vendor/bin/console frontend:mp:build -e production' + timeout: 1600 + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + + build-static-development: + yves-build-frontend: + command: 'vendor/bin/console frontend:yves:build' + + zed-build-frontend: + command: 'vendor/bin/console frontend:zed:build' + + merchant-portal-build-frontend: + command: 'vendor/bin/console frontend:mp:build' + timeout: 1600 + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + + init-storages-per-store: + queue-setup: + command: 'vendor/bin/console queue:setup' + setup-search-create-sources: + command: 'vendor/bin/console search:setup:sources' + + init-storages-per-region: + propel-copy-schema: + command: 'vendor/bin/console propel:schema:copy' + + propel-postgres-compatibility: + command: 'vendor/bin/console propel:pg-sql-compat' + + propel-migration-delete: + command: 'vendor/bin/console propel:migration:delete' + + propel-diff: + command: 'vendor/bin/console propel:diff' + + propel-migrate: + command: 'vendor/bin/console propel:migrate' + + propel-migration-cleanup: + command: 'vendor/bin/console propel:migration:delete' + + init-database: + command: 'vendor/bin/console setup:init-db' + + demodata: + import-eu-region-demodata: + command: 'vendor/bin/console data:import --config=data/import/local/full_EU.yml' + + apply-scheduled-prices: + command: 'vendor/bin/console price-product-schedule:apply' + + update-product-labels: + command: 'vendor/bin/console product-label:relations:update' + + publish-and-sync: + command: 'vendor/bin/console queue:worker:start --stop-when-empty' + timeout: 2000 + + setup-glue: + controller-cache-warmup: + command: 'vendor/bin/glue glue-api:controller:cache:warm-up' + + api-generate-documentation: + command: 'vendor/bin/glue api:generate:documentation' diff --git a/config/install/docker.ci.acceptance.yml b/config/install/docker.ci.acceptance.yml index 40f6bd53d5..1e67610abb 100644 --- a/config/install/docker.ci.acceptance.yml +++ b/config/install/docker.ci.acceptance.yml @@ -16,9 +16,6 @@ sections: router-cache-warmup-backend-gateway: command: 'vendor/bin/console router:cache:warm-up:backend-gateway' - router-cache-warmup-merchant-portal: - command: 'vendor/bin/console router:cache:warm-up:merchant-portal' - twig-cache-warmup: command: 'vendor/bin/console twig:cache:warmer' @@ -71,13 +68,6 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build -e production' - merchant-portal-build-frontend: - command: 'vendor/bin/console frontend:mp:build -e production' - timeout: 1600 - - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - build-static-development: yves-build-frontend: command: 'vendor/bin/console frontend:yves:build' @@ -85,13 +75,6 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build' - merchant-portal-build-frontend: - command: 'vendor/bin/console frontend:mp:build' - timeout: 1600 - - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - init-storages-per-store: queue-setup: command: 'vendor/bin/console queue:setup' diff --git a/deploy.ci.acceptance.mariadb.robot.yml b/deploy.ci.acceptance.mariadb.robot.yml new file mode 100644 index 0000000000..fe7b7f94d4 --- /dev/null +++ b/deploy.ci.acceptance.mariadb.robot.yml @@ -0,0 +1,198 @@ +version: '0.1' + +namespace: spryker_ci +tag: '1.0' + +environment: docker.ci +pipeline: docker.ci.acceptance.robot +image: + tag: spryker/php:8.2 + environment: + SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local + SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80 + SPRYKER_CONFIGURATOR_ENCRYPTION_KEY: 'change123' + SPRYKER_PRODUCT_CONFIGURATOR_HEX_INITIALIZATION_VECTOR: '0c1ffefeebdab4a3d839d0e52590c9a2' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PUBLIC_KEY: 'BGqNWbv0hWM5CQ1-KwAfSQBMC6TMVFyrnh3vQp37oGCNvQ6eG_HyMjxBFJRWeCPTbzDoxcjhxLJS8Ck8r1G2oFw' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PRIVATE_KEY: 'UK6DywwjKITPpRHBSY9TLPIXm6BPrHX40sseIoXT9c8' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_SUBJECT: 'https://spryker.com' + SPRYKER_YVES_HOST_DE: yves.de.spryker.local + SPRYKER_YVES_HOST_AT: yves.at.spryker.local + node: + version: 18 + npm: 9 + +composer: + mode: '--no-dev --quiet' + autoload: --classmap-authoritative + +regions: + EU: + services: + mail: + sender: + name: Spryker No-Reply + email: no-reply@spryker.local + database: + database: eu-docker + username: spryker + password: secret + + stores: + DE: + services: + broker: + namespace: de-docker + key_value_store: + namespace: 1 + search: + namespace: de_search + session: + namespace: 1 + AT: + services: + broker: + namespace: at-docker + key_value_store: + namespace: 2 + search: + namespace: at_search + session: + namespace: 1 +groups: + EU: + region: EU + applications: + merchant_portal_eu: + application: merchant-portal + endpoints: + mp.de.spryker.local: + entry-point: MerchantPortal + store: DE + primal: true + services: + session: + namespace: 7 + mp.at.spryker.local: + entry-point: MerchantPortal + store: AT + services: + session: + namespace: 8 + yves_eu: + application: yves + endpoints: + date-time-configurator-example.spryker.local: + entry-point: Configurator + yves.de.spryker.local: + store: DE + services: + session: + namespace: 1 + yves.at.spryker.local: + store: AT + services: + session: + namespace: 2 + glue_eu: + application: glue + endpoints: + glue.de.spryker.local: + store: DE + glue.at.spryker.local: + store: AT + backoffice_eu: + application: backoffice + endpoints: + backoffice.de.spryker.local: + store: DE + services: + session: + namespace: 3 + backoffice.at.spryker.local: + store: AT + services: + session: + namespace: 4 + backend_gateway_eu: + application: backend-gateway + endpoints: + backend-gateway.de.spryker.local: + store: DE + primal: true + backend-gateway.at.spryker.local: + store: AT + primal: true + backend_api_eu: + application: zed + endpoints: + backend-api.de.spryker.local: + store: DE + entry-point: BackendApi + backend-api.at.spryker.local: + store: AT + entry-point: BackendApi + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.de.spryker.local: + store: DE + glue-storefront.at.spryker.local: + store: AT + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.de.spryker.local: + store: DE + glue-backend.at.spryker.local: + store: AT + +services: + database: + engine: mysql + version: mariadb-10.4 + root: + username: 'root' + password: 'secret' + endpoints: + localhost:3306: + protocol: tcp + broker: + engine: rabbitmq + version: '3.9' + api: + username: 'spryker' + password: 'secret' + session: + engine: redis + key_value_store: + engine: redis + search: + engine: elastic + version: '7.10' + scheduler: + engine: jenkins + version: '2.401' + csrf-protection-enabled: true + mail_catcher: + engine: mailhog + webdriver: + engine: chromedriver + +docker: + ssl: + enabled: false + + debug: + enabled: false + xdebug: + enabled: false + + testing: + store: DE + + mount: + baked: + + compose: + yamls: + - .robot/docker-compose.robot.yml diff --git a/deploy.ci.acceptance.mariadb.yml b/deploy.ci.acceptance.mariadb.yml index 1569ca9a3d..ac6264e7eb 100644 --- a/deploy.ci.acceptance.mariadb.yml +++ b/deploy.ci.acceptance.mariadb.yml @@ -62,22 +62,6 @@ groups: EU: region: EU applications: - merchant_portal_eu: - application: merchant-portal - endpoints: - mp.de.spryker.local: - entry-point: MerchantPortal - store: DE - primal: true - services: - session: - namespace: 7 - mp.at.spryker.local: - entry-point: MerchantPortal - store: AT - services: - session: - namespace: 8 yves_eu: application: yves endpoints: From 0d9ef8e4da9b0506ee893ba96ed6dd51e17f115d Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Sun, 10 Dec 2023 11:52:52 +0100 Subject: [PATCH 36/64] CC-32131 Fixed Product configurator build for CI acceptance configuration files. --- config/install/docker.ci.acceptance.robot.yml | 142 ------------- config/install/docker.ci.acceptance.yml | 6 + deploy.ci.acceptance.mariadb.robot.yml | 198 ------------------ 3 files changed, 6 insertions(+), 340 deletions(-) delete mode 100644 config/install/docker.ci.acceptance.robot.yml delete mode 100644 deploy.ci.acceptance.mariadb.robot.yml diff --git a/config/install/docker.ci.acceptance.robot.yml b/config/install/docker.ci.acceptance.robot.yml deleted file mode 100644 index 40f6bd53d5..0000000000 --- a/config/install/docker.ci.acceptance.robot.yml +++ /dev/null @@ -1,142 +0,0 @@ -env: - NEW_RELIC_ENABLED: 0 - SPRYKER_LOG_STDOUT: /dev/null - -sections: - build: - generate-transfers: - command: 'vendor/bin/console transfer:generate' - - router-cache-warmup-yves: - command: 'vendor/bin/yves router:cache:warm-up' - - router-cache-warmup-backoffice: - command: 'vendor/bin/console router:cache:warm-up:backoffice' - - router-cache-warmup-backend-gateway: - command: 'vendor/bin/console router:cache:warm-up:backend-gateway' - - router-cache-warmup-merchant-portal: - command: 'vendor/bin/console router:cache:warm-up:merchant-portal' - - twig-cache-warmup: - command: 'vendor/bin/console twig:cache:warmer' - - navigation-cache-warmup: - command: 'vendor/bin/console navigation:build-cache' - - rest-request-validation-cache-warmup: - command: 'vendor/bin/console rest-api:build-request-validation-cache' - - propel-copy-schema: - command: 'vendor/bin/console propel:schema:copy' - - propel-build: - command: 'vendor/bin/console propel:model:build' - - generate-entity-transfer: - command: 'vendor/bin/console transfer:entity:generate' - - generate-page-source-map: - command: 'vendor/bin/console search:setup:source-map' - - translator-generate-cache: - command: 'vendor/bin/console translator:generate-cache' - - cache-class-resolver-build: - command: 'vendor/bin/console cache:class-resolver:build' - - generate-scope-collection-file: - command: 'vendor/bin/console oauth:scope-collection-file:generate' - - build-development: - generate-transfers: - command: 'vendor/bin/console transfer:generate' - - generate-transfer-databuilders: - command: 'vendor/bin/console transfer:databuilder:generate' - - rest-api-generate-documentation: - command: 'vendor/bin/console rest-api:generate:documentation' - - build-static: - dependencies-install: - command: 'vendor/bin/console frontend:project:install-dependencies' - - build-static-production: - excluded: true - yves-build-frontend: - command: 'vendor/bin/console frontend:yves:build -e production' - - zed-build-frontend: - command: 'vendor/bin/console frontend:zed:build -e production' - - merchant-portal-build-frontend: - command: 'vendor/bin/console frontend:mp:build -e production' - timeout: 1600 - - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - - build-static-development: - yves-build-frontend: - command: 'vendor/bin/console frontend:yves:build' - - zed-build-frontend: - command: 'vendor/bin/console frontend:zed:build' - - merchant-portal-build-frontend: - command: 'vendor/bin/console frontend:mp:build' - timeout: 1600 - - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - - init-storages-per-store: - queue-setup: - command: 'vendor/bin/console queue:setup' - setup-search-create-sources: - command: 'vendor/bin/console search:setup:sources' - - init-storages-per-region: - propel-copy-schema: - command: 'vendor/bin/console propel:schema:copy' - - propel-postgres-compatibility: - command: 'vendor/bin/console propel:pg-sql-compat' - - propel-migration-delete: - command: 'vendor/bin/console propel:migration:delete' - - propel-diff: - command: 'vendor/bin/console propel:diff' - - propel-migrate: - command: 'vendor/bin/console propel:migrate' - - propel-migration-cleanup: - command: 'vendor/bin/console propel:migration:delete' - - init-database: - command: 'vendor/bin/console setup:init-db' - - demodata: - import-eu-region-demodata: - command: 'vendor/bin/console data:import --config=data/import/local/full_EU.yml' - - apply-scheduled-prices: - command: 'vendor/bin/console price-product-schedule:apply' - - update-product-labels: - command: 'vendor/bin/console product-label:relations:update' - - publish-and-sync: - command: 'vendor/bin/console queue:worker:start --stop-when-empty' - timeout: 2000 - - setup-glue: - controller-cache-warmup: - command: 'vendor/bin/glue glue-api:controller:cache:warm-up' - - api-generate-documentation: - command: 'vendor/bin/glue api:generate:documentation' diff --git a/config/install/docker.ci.acceptance.yml b/config/install/docker.ci.acceptance.yml index 1e67610abb..1dc69ca907 100644 --- a/config/install/docker.ci.acceptance.yml +++ b/config/install/docker.ci.acceptance.yml @@ -68,6 +68,9 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build -e production' + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + build-static-development: yves-build-frontend: command: 'vendor/bin/console frontend:yves:build' @@ -75,6 +78,9 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build' + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + init-storages-per-store: queue-setup: command: 'vendor/bin/console queue:setup' diff --git a/deploy.ci.acceptance.mariadb.robot.yml b/deploy.ci.acceptance.mariadb.robot.yml deleted file mode 100644 index fe7b7f94d4..0000000000 --- a/deploy.ci.acceptance.mariadb.robot.yml +++ /dev/null @@ -1,198 +0,0 @@ -version: '0.1' - -namespace: spryker_ci -tag: '1.0' - -environment: docker.ci -pipeline: docker.ci.acceptance.robot -image: - tag: spryker/php:8.2 - environment: - SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local - SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80 - SPRYKER_CONFIGURATOR_ENCRYPTION_KEY: 'change123' - SPRYKER_PRODUCT_CONFIGURATOR_HEX_INITIALIZATION_VECTOR: '0c1ffefeebdab4a3d839d0e52590c9a2' - SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PUBLIC_KEY: 'BGqNWbv0hWM5CQ1-KwAfSQBMC6TMVFyrnh3vQp37oGCNvQ6eG_HyMjxBFJRWeCPTbzDoxcjhxLJS8Ck8r1G2oFw' - SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PRIVATE_KEY: 'UK6DywwjKITPpRHBSY9TLPIXm6BPrHX40sseIoXT9c8' - SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_SUBJECT: 'https://spryker.com' - SPRYKER_YVES_HOST_DE: yves.de.spryker.local - SPRYKER_YVES_HOST_AT: yves.at.spryker.local - node: - version: 18 - npm: 9 - -composer: - mode: '--no-dev --quiet' - autoload: --classmap-authoritative - -regions: - EU: - services: - mail: - sender: - name: Spryker No-Reply - email: no-reply@spryker.local - database: - database: eu-docker - username: spryker - password: secret - - stores: - DE: - services: - broker: - namespace: de-docker - key_value_store: - namespace: 1 - search: - namespace: de_search - session: - namespace: 1 - AT: - services: - broker: - namespace: at-docker - key_value_store: - namespace: 2 - search: - namespace: at_search - session: - namespace: 1 -groups: - EU: - region: EU - applications: - merchant_portal_eu: - application: merchant-portal - endpoints: - mp.de.spryker.local: - entry-point: MerchantPortal - store: DE - primal: true - services: - session: - namespace: 7 - mp.at.spryker.local: - entry-point: MerchantPortal - store: AT - services: - session: - namespace: 8 - yves_eu: - application: yves - endpoints: - date-time-configurator-example.spryker.local: - entry-point: Configurator - yves.de.spryker.local: - store: DE - services: - session: - namespace: 1 - yves.at.spryker.local: - store: AT - services: - session: - namespace: 2 - glue_eu: - application: glue - endpoints: - glue.de.spryker.local: - store: DE - glue.at.spryker.local: - store: AT - backoffice_eu: - application: backoffice - endpoints: - backoffice.de.spryker.local: - store: DE - services: - session: - namespace: 3 - backoffice.at.spryker.local: - store: AT - services: - session: - namespace: 4 - backend_gateway_eu: - application: backend-gateway - endpoints: - backend-gateway.de.spryker.local: - store: DE - primal: true - backend-gateway.at.spryker.local: - store: AT - primal: true - backend_api_eu: - application: zed - endpoints: - backend-api.de.spryker.local: - store: DE - entry-point: BackendApi - backend-api.at.spryker.local: - store: AT - entry-point: BackendApi - glue_storefront_eu: - application: glue-storefront - endpoints: - glue-storefront.de.spryker.local: - store: DE - glue-storefront.at.spryker.local: - store: AT - glue_backend_eu: - application: glue-backend - endpoints: - glue-backend.de.spryker.local: - store: DE - glue-backend.at.spryker.local: - store: AT - -services: - database: - engine: mysql - version: mariadb-10.4 - root: - username: 'root' - password: 'secret' - endpoints: - localhost:3306: - protocol: tcp - broker: - engine: rabbitmq - version: '3.9' - api: - username: 'spryker' - password: 'secret' - session: - engine: redis - key_value_store: - engine: redis - search: - engine: elastic - version: '7.10' - scheduler: - engine: jenkins - version: '2.401' - csrf-protection-enabled: true - mail_catcher: - engine: mailhog - webdriver: - engine: chromedriver - -docker: - ssl: - enabled: false - - debug: - enabled: false - xdebug: - enabled: false - - testing: - store: DE - - mount: - baked: - - compose: - yamls: - - .robot/docker-compose.robot.yml From ae761d6dd8b2e50cd6a4be0de61e665bbd948417 Mon Sep 17 00:00:00 2001 From: Spryker Bot Date: Mon, 11 Dec 2023 10:58:19 +0200 Subject: [PATCH 37/64] ACP-782: excluded AUTHORIZATION message attribute from logs (#404) * Applied release group `Excluded Authorization message attribute from logs`, RG link https://api.release.spryker.com/release-group/5163 * removed redundant config --------- Co-authored-by: upgrader Co-authored-by: Oleksandr Kiiashko --- composer.lock | 14 +++++++------- src/Pyz/Zed/MessageBroker/MessageBrokerConfig.php | 15 --------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/composer.lock b/composer.lock index 6ee4fcd8f9..6d20a3a746 100644 --- a/composer.lock +++ b/composer.lock @@ -28091,20 +28091,20 @@ }, { "name": "spryker/message-broker", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/spryker/message-broker.git", - "reference": "39bca2ed0ad89f3168b667188a2b79e5e4bcadc8" + "reference": "505bccef1b489f2a19e7c920820ca74d49dab3d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/message-broker/zipball/39bca2ed0ad89f3168b667188a2b79e5e4bcadc8", - "reference": "39bca2ed0ad89f3168b667188a2b79e5e4bcadc8", + "url": "https://api.github.com/repos/spryker/message-broker/zipball/505bccef1b489f2a19e7c920820ca74d49dab3d8", + "reference": "505bccef1b489f2a19e7c920820ca74d49dab3d8", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/kernel": "^3.30.0", "spryker/log": "^3.0.0", "spryker/message-broker-extension": "^1.2.0", @@ -28146,9 +28146,9 @@ ], "description": "MessageBroker module", "support": { - "source": "https://github.com/spryker/message-broker/tree/1.9.0" + "source": "https://github.com/spryker/message-broker/tree/1.10.0" }, - "time": "2023-08-31T11:27:42+00:00" + "time": "2023-12-07T09:15:27+00:00" }, { "name": "spryker/message-broker-aws", diff --git a/src/Pyz/Zed/MessageBroker/MessageBrokerConfig.php b/src/Pyz/Zed/MessageBroker/MessageBrokerConfig.php index f7f69e31d4..e93231870d 100644 --- a/src/Pyz/Zed/MessageBroker/MessageBrokerConfig.php +++ b/src/Pyz/Zed/MessageBroker/MessageBrokerConfig.php @@ -7,7 +7,6 @@ namespace Pyz\Zed\MessageBroker; -use Generated\Shared\Transfer\MessageAttributesTransfer; use Spryker\Zed\MessageBroker\MessageBrokerConfig as SprykerMessageBrokerConfig; class MessageBrokerConfig extends SprykerMessageBrokerConfig @@ -27,18 +26,4 @@ public function getDefaultWorkerChannels(): array 'tax-commands', ]; } - - /** - * Defines attributes which should not be logged. - * - * @api - * - * @return array - */ - public function getProtectedMessageAttributes(): array - { - return [ - MessageAttributesTransfer::AUTHORIZATION, - ]; - } } From 0faf34a35543659a4df86ce0120bb30f0ab801fb Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Mon, 11 Dec 2023 10:34:12 +0100 Subject: [PATCH 38/64] CC-32131 Added new CI configs. --- config/docker.ci.acceptance.robot.yml | 131 +++++++++++++++++ config/install/docker.ci.acceptance.yml | 6 - deploy.ci.acceptance.mariadb.robot.yml | 182 ++++++++++++++++++++++++ deploy.ci.acceptance.mariadb.yml | 2 - 4 files changed, 313 insertions(+), 8 deletions(-) create mode 100644 config/docker.ci.acceptance.robot.yml create mode 100644 deploy.ci.acceptance.mariadb.robot.yml diff --git a/config/docker.ci.acceptance.robot.yml b/config/docker.ci.acceptance.robot.yml new file mode 100644 index 0000000000..1dc69ca907 --- /dev/null +++ b/config/docker.ci.acceptance.robot.yml @@ -0,0 +1,131 @@ +env: + NEW_RELIC_ENABLED: 0 + SPRYKER_LOG_STDOUT: /dev/null + +sections: + build: + generate-transfers: + command: 'vendor/bin/console transfer:generate' + + router-cache-warmup-yves: + command: 'vendor/bin/yves router:cache:warm-up' + + router-cache-warmup-backoffice: + command: 'vendor/bin/console router:cache:warm-up:backoffice' + + router-cache-warmup-backend-gateway: + command: 'vendor/bin/console router:cache:warm-up:backend-gateway' + + twig-cache-warmup: + command: 'vendor/bin/console twig:cache:warmer' + + navigation-cache-warmup: + command: 'vendor/bin/console navigation:build-cache' + + rest-request-validation-cache-warmup: + command: 'vendor/bin/console rest-api:build-request-validation-cache' + + propel-copy-schema: + command: 'vendor/bin/console propel:schema:copy' + + propel-build: + command: 'vendor/bin/console propel:model:build' + + generate-entity-transfer: + command: 'vendor/bin/console transfer:entity:generate' + + generate-page-source-map: + command: 'vendor/bin/console search:setup:source-map' + + translator-generate-cache: + command: 'vendor/bin/console translator:generate-cache' + + cache-class-resolver-build: + command: 'vendor/bin/console cache:class-resolver:build' + + generate-scope-collection-file: + command: 'vendor/bin/console oauth:scope-collection-file:generate' + + build-development: + generate-transfers: + command: 'vendor/bin/console transfer:generate' + + generate-transfer-databuilders: + command: 'vendor/bin/console transfer:databuilder:generate' + + rest-api-generate-documentation: + command: 'vendor/bin/console rest-api:generate:documentation' + + build-static: + dependencies-install: + command: 'vendor/bin/console frontend:project:install-dependencies' + + build-static-production: + excluded: true + yves-build-frontend: + command: 'vendor/bin/console frontend:yves:build -e production' + + zed-build-frontend: + command: 'vendor/bin/console frontend:zed:build -e production' + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + + build-static-development: + yves-build-frontend: + command: 'vendor/bin/console frontend:yves:build' + + zed-build-frontend: + command: 'vendor/bin/console frontend:zed:build' + + date-time-product-configurator: + command: 'vendor/bin/console frontend:date-time-product-configurator:build' + + init-storages-per-store: + queue-setup: + command: 'vendor/bin/console queue:setup' + setup-search-create-sources: + command: 'vendor/bin/console search:setup:sources' + + init-storages-per-region: + propel-copy-schema: + command: 'vendor/bin/console propel:schema:copy' + + propel-postgres-compatibility: + command: 'vendor/bin/console propel:pg-sql-compat' + + propel-migration-delete: + command: 'vendor/bin/console propel:migration:delete' + + propel-diff: + command: 'vendor/bin/console propel:diff' + + propel-migrate: + command: 'vendor/bin/console propel:migrate' + + propel-migration-cleanup: + command: 'vendor/bin/console propel:migration:delete' + + init-database: + command: 'vendor/bin/console setup:init-db' + + demodata: + import-eu-region-demodata: + command: 'vendor/bin/console data:import --config=data/import/local/full_EU.yml' + + apply-scheduled-prices: + command: 'vendor/bin/console price-product-schedule:apply' + + update-product-labels: + command: 'vendor/bin/console product-label:relations:update' + + publish-and-sync: + command: 'vendor/bin/console queue:worker:start --stop-when-empty' + timeout: 2000 + + setup-glue: + controller-cache-warmup: + command: 'vendor/bin/glue glue-api:controller:cache:warm-up' + + api-generate-documentation: + command: 'vendor/bin/glue api:generate:documentation' diff --git a/config/install/docker.ci.acceptance.yml b/config/install/docker.ci.acceptance.yml index 1dc69ca907..1e67610abb 100644 --- a/config/install/docker.ci.acceptance.yml +++ b/config/install/docker.ci.acceptance.yml @@ -68,9 +68,6 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build -e production' - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - build-static-development: yves-build-frontend: command: 'vendor/bin/console frontend:yves:build' @@ -78,9 +75,6 @@ sections: zed-build-frontend: command: 'vendor/bin/console frontend:zed:build' - date-time-product-configurator: - command: 'vendor/bin/console frontend:date-time-product-configurator:build' - init-storages-per-store: queue-setup: command: 'vendor/bin/console queue:setup' diff --git a/deploy.ci.acceptance.mariadb.robot.yml b/deploy.ci.acceptance.mariadb.robot.yml new file mode 100644 index 0000000000..8a96755bda --- /dev/null +++ b/deploy.ci.acceptance.mariadb.robot.yml @@ -0,0 +1,182 @@ +version: '0.1' + +namespace: spryker_ci +tag: '1.0' + +environment: docker.ci +pipeline: docker.ci.acceptance.robot +image: + tag: spryker/php:8.2 + environment: + SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local + SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80 + SPRYKER_CONFIGURATOR_ENCRYPTION_KEY: 'change123' + SPRYKER_PRODUCT_CONFIGURATOR_HEX_INITIALIZATION_VECTOR: '0c1ffefeebdab4a3d839d0e52590c9a2' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PUBLIC_KEY: 'BGqNWbv0hWM5CQ1-KwAfSQBMC6TMVFyrnh3vQp37oGCNvQ6eG_HyMjxBFJRWeCPTbzDoxcjhxLJS8Ck8r1G2oFw' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PRIVATE_KEY: 'UK6DywwjKITPpRHBSY9TLPIXm6BPrHX40sseIoXT9c8' + SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_SUBJECT: 'https://spryker.com' + SPRYKER_YVES_HOST_DE: yves.de.spryker.local + SPRYKER_YVES_HOST_AT: yves.at.spryker.local + node: + version: 18 + npm: 9 + +composer: + mode: '--no-dev --quiet' + autoload: --classmap-authoritative + +regions: + EU: + services: + mail: + sender: + name: Spryker No-Reply + email: no-reply@spryker.local + database: + database: eu-docker + username: spryker + password: secret + + stores: + DE: + services: + broker: + namespace: de-docker + key_value_store: + namespace: 1 + search: + namespace: de_search + session: + namespace: 1 + AT: + services: + broker: + namespace: at-docker + key_value_store: + namespace: 2 + search: + namespace: at_search + session: + namespace: 1 +groups: + EU: + region: EU + applications: + yves_eu: + application: yves + endpoints: + date-time-configurator-example.spryker.local: + entry-point: Configurator + yves.de.spryker.local: + store: DE + services: + session: + namespace: 1 + yves.at.spryker.local: + store: AT + services: + session: + namespace: 2 + glue_eu: + application: glue + endpoints: + glue.de.spryker.local: + store: DE + glue.at.spryker.local: + store: AT + backoffice_eu: + application: backoffice + endpoints: + backoffice.de.spryker.local: + store: DE + services: + session: + namespace: 3 + backoffice.at.spryker.local: + store: AT + services: + session: + namespace: 4 + backend_gateway_eu: + application: backend-gateway + endpoints: + backend-gateway.de.spryker.local: + store: DE + primal: true + backend-gateway.at.spryker.local: + store: AT + primal: true + backend_api_eu: + application: zed + endpoints: + backend-api.de.spryker.local: + store: DE + entry-point: BackendApi + backend-api.at.spryker.local: + store: AT + entry-point: BackendApi + glue_storefront_eu: + application: glue-storefront + endpoints: + glue-storefront.de.spryker.local: + store: DE + glue-storefront.at.spryker.local: + store: AT + glue_backend_eu: + application: glue-backend + endpoints: + glue-backend.de.spryker.local: + store: DE + glue-backend.at.spryker.local: + store: AT + +services: + database: + engine: mysql + version: mariadb-10.4 + root: + username: 'root' + password: 'secret' + endpoints: + localhost:3306: + protocol: tcp + broker: + engine: rabbitmq + version: '3.9' + api: + username: 'spryker' + password: 'secret' + session: + engine: redis + key_value_store: + engine: redis + search: + engine: elastic + version: '7.10' + scheduler: + engine: jenkins + version: '2.401' + csrf-protection-enabled: true + mail_catcher: + engine: mailhog + webdriver: + engine: chromedriver + +docker: + ssl: + enabled: false + + debug: + enabled: false + xdebug: + enabled: false + + testing: + store: DE + + mount: + baked: + + compose: + yamls: + - .robot/docker-compose.robot.yml diff --git a/deploy.ci.acceptance.mariadb.yml b/deploy.ci.acceptance.mariadb.yml index ac6264e7eb..eafc208655 100644 --- a/deploy.ci.acceptance.mariadb.yml +++ b/deploy.ci.acceptance.mariadb.yml @@ -10,8 +10,6 @@ image: environment: SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80 - SPRYKER_CONFIGURATOR_ENCRYPTION_KEY: 'change123' - SPRYKER_PRODUCT_CONFIGURATOR_HEX_INITIALIZATION_VECTOR: '0c1ffefeebdab4a3d839d0e52590c9a2' SPRYKER_YVES_HOST_DE: yves.de.spryker.local SPRYKER_YVES_HOST_AT: yves.at.spryker.local SPRYKER_PUSH_NOTIFICATION_WEB_PUSH_PHP_VAPID_PUBLIC_KEY: 'BGqNWbv0hWM5CQ1-KwAfSQBMC6TMVFyrnh3vQp37oGCNvQ6eG_HyMjxBFJRWeCPTbzDoxcjhxLJS8Ck8r1G2oFw' From 481be1ae051f51ce91a8226ff5c752def2f77949 Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Mon, 11 Dec 2023 10:37:14 +0100 Subject: [PATCH 39/64] CC-32131 Added new CI configs. --- config/{ => install}/docker.ci.acceptance.robot.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename config/{ => install}/docker.ci.acceptance.robot.yml (100%) diff --git a/config/docker.ci.acceptance.robot.yml b/config/install/docker.ci.acceptance.robot.yml similarity index 100% rename from config/docker.ci.acceptance.robot.yml rename to config/install/docker.ci.acceptance.robot.yml From ad43e807fb5985cfe44eabff7711ddbb1e1989af Mon Sep 17 00:00:00 2001 From: Eugene Chernyi Date: Tue, 12 Dec 2023 09:32:52 +0100 Subject: [PATCH 40/64] updated scos deploy file --- ...scos-b2c.yml => deploy.spryker-scosb2c.yml | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) rename deploy.scos-b2c.yml => deploy.spryker-scosb2c.yml (73%) diff --git a/deploy.scos-b2c.yml b/deploy.spryker-scosb2c.yml similarity index 73% rename from deploy.scos-b2c.yml rename to deploy.spryker-scosb2c.yml index 81e4ad80e2..86af91e3a5 100644 --- a/deploy.scos-b2c.yml +++ b/deploy.spryker-scosb2c.yml @@ -13,10 +13,10 @@ image: SPRYKER_HOOK_AFTER_DEPLOY: "true" SPRYKER_HOOK_INSTALL: "vendor/bin/install -r EU/production --no-ansi -vvv" SPRYKER_HOOK_DESTRUCTIVE_INSTALL: "vendor/bin/install -r EU/destructive --no-ansi -vvv" - SPRYKER_PRODUCT_CONFIGURATOR_HOST: dtc.scos-b2c.cloud.spryker.toys + SPRYKER_PRODUCT_CONFIGURATOR_HOST: dtc.scos-b2c.sh01.demo-spryker.com SPRYKER_PRODUCT_CONFIGURATOR_PORT: 443 - SPRYKER_YVES_HOST_DE: www.de.scos-b2c.cloud.spryker.toys - SPRYKER_YVES_HOST_AT: www.at.scos-b2c.cloud.spryker.toys + SPRYKER_YVES_HOST_DE: www.de.scos-b2c.sh01.demo-spryker.com + SPRYKER_YVES_HOST_AT: www.at.scos-b2c.sh01.demo-spryker.com node: version: 18 npm: 9 @@ -37,7 +37,7 @@ regions: EU: services: database: - database: scos_b2с + database: spryker_scosb2c username: spryker password: secret @@ -70,55 +70,55 @@ groups: yves: application: yves endpoints: - dtc.scos-b2c.cloud.spryker.toys: + dtc.scos-b2c.sh01.demo-spryker.com: entry-point: Configurator - www.de.scos-b2c.cloud.spryker.toys: + www.de.scos-b2c.sh01.demo-spryker.com: store: DE - www.at.scos-b2c.cloud.spryker.toys: + www.at.scos-b2c.sh01.demo-spryker.com: store: AT boffice: application: backoffice endpoints: - backoffice.de.scos-b2c.cloud.spryker.toys: + backoffice.de.scos-b2c.sh01.demo-spryker.com: store: DE - backoffice.at.scos-b2c.cloud.spryker.toys: + backoffice.at.scos-b2c.sh01.demo-spryker.com: store: AT backgw: application: backend-gateway endpoints: - backend-gateway.de.scos-b2c.cloud.spryker.toys: + backend-gateway.de.scos-b2c.sh01.demo-spryker.com: store: DE - backend-gateway.at.scos-b2c.cloud.spryker.toys: + backend-gateway.at.scos-b2c.sh01.demo-spryker.com: store: AT backapi: application: zed endpoints: - backend-api.de.scos-b2c.cloud.spryker.toys: + backend-api.de.scos-b2c.sh01.demo-spryker.com: store: DE entry-point: BackendApi - backend-api.at.scos-b2c.cloud.spryker.toys: + backend-api.at.scos-b2c.sh01.demo-spryker.com: store: AT entry-point: BackendApi glue: application: glue endpoints: - glue.de.scos-b2c.cloud.spryker.toys: + glue.de.scos-b2c.sh01.demo-spryker.com: store: DE - glue.at.scos-b2c.cloud.spryker.toys: + glue.at.scos-b2c.sh01.demo-spryker.com: store: AT gluestorefront: application: glue-storefront endpoints: - glue-storefront.de.scos-b2c.cloud.spryker.toys: + glue-storefront.de.scos-b2c.sh01.demo-spryker.com: store: DE - glue-storefront.at.scos-b2c.cloud.spryker.toys: + glue-storefront.at.scos-b2c.sh01.demo-spryker.com: store: AT gluebackend: application: glue-backend endpoints: - glue-backend.de.scos-b2c.cloud.spryker.toys: + glue-backend.de.scos-b2c.sh01.demo-spryker.com: store: DE - glue-backend.at.scos-b2c.cloud.spryker.toys: + glue-backend.at.scos-b2c.sh01.demo-spryker.com: store: AT services: database: @@ -137,7 +137,7 @@ services: username: "spryker" password: "secret" endpoints: - queue.scos-b2c.cloud.spryker.toys: + queue.scos-b2c.sh01.demo-spryker.com: localhost:5672: protocol: tcp session: @@ -157,11 +157,12 @@ services: engine: jenkins version: '2.401' endpoints: - scheduler.scos-b2c.cloud.spryker.toys: + scheduler.scos-b2c.sh01.demo-spryker.com: + csrf-protection-enabled: true mail_catcher: engine: mailhog endpoints: - mail.scos-b2c.cloud.spryker.toys: + mail.scos-b2c.sh01.demo-spryker.com: docker: From 4c334f11088618fcfe49ea8070bc2a5593042bad Mon Sep 17 00:00:00 2001 From: AntonKhabiuk Date: Thu, 14 Dec 2023 12:55:46 +0200 Subject: [PATCH 41/64] CC-32150 Remove redundant services from robot deploy file --- deploy.ci.acceptance.mariadb.robot.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/deploy.ci.acceptance.mariadb.robot.yml b/deploy.ci.acceptance.mariadb.robot.yml index 8a96755bda..f664bd4761 100644 --- a/deploy.ci.acceptance.mariadb.robot.yml +++ b/deploy.ci.acceptance.mariadb.robot.yml @@ -153,14 +153,8 @@ services: search: engine: elastic version: '7.10' - scheduler: - engine: jenkins - version: '2.401' - csrf-protection-enabled: true mail_catcher: engine: mailhog - webdriver: - engine: chromedriver docker: ssl: From 5c848cee9155d86dc9cd65735090450b0b242b9a Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Fri, 15 Dec 2023 14:12:34 +0200 Subject: [PATCH 42/64] CC-32149 Fixed logo displaying in Safari browser. --- .../molecules/footer-logo/footer-logo.scss | 16 ++--- .../molecules/footer-logo/footer-logo.twig | 57 +++++++-------- .../components/molecules/logo/logo.scss | 25 +++++-- .../components/molecules/logo/logo.twig | 71 ++++++------------- 4 files changed, 73 insertions(+), 96 deletions(-) diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.scss index f5b0c53168..f122b3c6bb 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.scss @@ -1,21 +1,21 @@ @mixin shop-ui-footer-logo($name: '.footer-logo') { #{$name} { + margin: rem(-5) 0 rem(5); + &__link { - padding: 0; display: block; - border: none; - transform: translate(0, rem(-5)); - } - - &__image { width: rem(90); - height: rem(36); @include helper-breakpoint-media-min($md-min) { width: rem(102); - height: rem(42); } } + + &__image { + display: inline-block; + vertical-align: top; + } + @content; } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.twig index a7480fcd22..da98d2e7ff 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/footer-logo/footer-logo.twig @@ -1,41 +1,34 @@ -{% extends model('component') %} +{% extends molecule('logo') %} +{% import _self as component %} {% define config = { name: 'footer-logo', - tag: 'span' -} %} - -{% define attributes = { - src: null, - alt: 'Logo' } %} {% block body %} - - {% if attributes.src is empty %} - - - - - - - - - - - - - - - - - - - - {% else %} - - {% endif %} - + {% if attributes.src is empty %} + + + + + + + + + + + + + + + + + + + + {% else %} + + {% endif %} {% endblock %} diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.scss index c7b30ef3b5..0a77672286 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.scss @@ -1,22 +1,35 @@ @mixin shop-ui-logo($name: '.logo') { #{$name} { padding: rem(13); + border-bottom: rem(1) solid $setting-color-gray-1; - @include helper-breakpoint-media-max($sm-max) { - border-bottom: rem(1) solid $setting-color-gray-1; + @include helper-breakpoint-media-min($md-min) { + border-bottom: none; } &__link { - @include helper-breakpoint-media-max($sm-max) { - width: rem(120); + display: block; + width: rem(150); + + @include helper-breakpoint-media-min($md-min) { + width: rem(180); } } + &__image { + display: inline-block; + vertical-align: top; + } + &--checkout { - @include helper-breakpoint-media-max($sm-max) { - padding: rem(22) rem(13); + padding: rem(22) rem(13); + + @include helper-breakpoint-media-min($md-min) { + padding: 0 0 rem(22); } } + + @content; } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.twig index 14f1e0e4bb..c23f1d0459 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.twig +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/logo/logo.twig @@ -1,56 +1,27 @@ -{% extends model('component') %} - -{% define config = { - name: 'logo', - renderAttributes: false -} %} - -{% define data = { - url: path('home') -} %} - -{% define attributes = { - src: null, - alt: 'Logo' -} %} +{% extends molecule('logo', '@SprykerShop:ShopUi') %} +{% import _self as component %} {% block body %} - - {% if attributes.src is empty %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {% if attributes.src is empty %} + + + + + + + + + + + + + - - {% else %} - - {% endif %} - + + + {% else %} + + {% endif %} {% endblock %} From 5863a0a42884804106ac3cd16bd71f96f31b227c Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Tue, 19 Dec 2023 10:59:28 +0100 Subject: [PATCH 43/64] CC-32127 Cookies SameSite Lax integration. --- config/Shared/config_default.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index e141f6bd31..3d49bfb9fa 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -119,6 +119,7 @@ use Spryker\Zed\Propel\PropelConfig; use SprykerShop\Shared\CustomerPage\CustomerPageConstants; use SprykerShop\Shared\ShopUi\ShopUiConstants; +use Symfony\Component\HttpFoundation\Cookie; // ############################################################################ // ############################## PRODUCTION CONFIGURATION #################### @@ -391,6 +392,7 @@ $config[SessionConstants::YVES_SESSION_PERSISTENT_CONNECTION] = $config[SessionConstants::ZED_SESSION_PERSISTENT_CONNECTION] = true; +$config[SessionConstants::YVES_SESSION_COOKIE_SAMESITE] = getenv('SPRYKER_YVES_SESSION_COOKIE_SAMESITE') ?: Cookie::SAMESITE_LAX; // >>> SESSION BACKOFFICE From 5da13ca5d4efc38d5c6111fdb758fbcf04d1c1e3 Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Tue, 19 Dec 2023 12:12:39 +0100 Subject: [PATCH 44/64] CC-32127 Cookies SameSite Strict for BO. --- config/Shared/config_default.php | 1 + 1 file changed, 1 insertion(+) diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 3d49bfb9fa..3366d7a8ea 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -410,6 +410,7 @@ = $config[SessionRedisConstants::ZED_SESSION_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_1_HOUR; $config[SessionConstants::ZED_SESSION_COOKIE_TIME_TO_LIVE] = SessionConfig::SESSION_LIFETIME_BROWSER_SESSION; +$config[SessionConstants::ZED_SESSION_COOKIE_SAMESITE] = getenv('SPRYKER_ZED_SESSION_COOKIE_SAMESITE') ?: Cookie::SAMESITE_STRICT; // >>> Product Relation $config[ProductRelationConstants::PRODUCT_RELATION_READ_CHUNK] = 1000; From 349788b2287dade530da30fb6045fd1fbd90c39e Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Thu, 21 Dec 2023 13:40:00 +0200 Subject: [PATCH 45/64] FRW-6331 Updated composer.lock and added glossary translates --- composer.lock | 24 ++++++++++++------------ data/import/common/common/glossary.csv | 4 ++++ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/composer.lock b/composer.lock index 6d20a3a746..c9e34a35a7 100644 --- a/composer.lock +++ b/composer.lock @@ -24608,16 +24608,16 @@ }, { "name": "spryker/dynamic-entity", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/dynamic-entity.git", - "reference": "8d139af4ccf7c8d1f3905970eb50e4c326c9da85" + "reference": "28ce46db7d8210c2ece1d98697a9a7fc120596a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/dynamic-entity/zipball/8d139af4ccf7c8d1f3905970eb50e4c326c9da85", - "reference": "8d139af4ccf7c8d1f3905970eb50e4c326c9da85", + "url": "https://api.github.com/repos/spryker/dynamic-entity/zipball/28ce46db7d8210c2ece1d98697a9a7fc120596a6", + "reference": "28ce46db7d8210c2ece1d98697a9a7fc120596a6", "shasum": "" }, "require": { @@ -24652,22 +24652,22 @@ ], "description": "DynamicEntity module", "support": { - "source": "https://github.com/spryker/dynamic-entity/tree/1.2.0" + "source": "https://github.com/spryker/dynamic-entity/tree/1.3.0" }, - "time": "2023-11-14T12:41:41+00:00" + "time": "2023-12-19T13:59:15+00:00" }, { "name": "spryker/dynamic-entity-backend-api", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/dynamic-entity-backend-api.git", - "reference": "695fbb1f46c061ea2a8686bf6fcf0b912ebdb3b5" + "reference": "2eabde21bbe0351f6e912f7b3d88b19a6123e8dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/dynamic-entity-backend-api/zipball/695fbb1f46c061ea2a8686bf6fcf0b912ebdb3b5", - "reference": "695fbb1f46c061ea2a8686bf6fcf0b912ebdb3b5", + "url": "https://api.github.com/repos/spryker/dynamic-entity-backend-api/zipball/2eabde21bbe0351f6e912f7b3d88b19a6123e8dc", + "reference": "2eabde21bbe0351f6e912f7b3d88b19a6123e8dc", "shasum": "" }, "require": { @@ -24713,9 +24713,9 @@ ], "description": "DynamicEntityBackendApi module", "support": { - "source": "https://github.com/spryker/dynamic-entity-backend-api/tree/1.1.0" + "source": "https://github.com/spryker/dynamic-entity-backend-api/tree/1.2.0" }, - "time": "2023-11-03T12:14:55+00:00" + "time": "2023-12-19T13:59:15+00:00" }, { "name": "spryker/dynamic-entity-extension", diff --git a/data/import/common/common/glossary.csv b/data/import/common/common/glossary.csv index 2d1328ca97..7de877d914 100644 --- a/data/import/common/common/glossary.csv +++ b/data/import/common/common/glossary.csv @@ -895,6 +895,10 @@ dynamic_entity.validation.missing_identifier,"Incomplete Request - missing ident dynamic_entity.validation.missing_identifier,"Unvollständige Anforderung - fehlende ID",de_DE dynamic_entity.validation.provided_field_is_invalid,"The provided `%fieldName%` is incorrect or invalid.",en_US dynamic_entity.validation.provided_field_is_invalid,"Der angegebene `%fieldName%` ist falsch oder ungültig.",de_DE +dynamic_entity.validation.relation_not_found,"Relation `%relationName%` not found. Please check the requested relation name and try again.",en_US +dynamic_entity.validation.relation_not_found,"Beziehung ``%relationName%` nicht gefunden. Bitte überprüfen Sie den angeforderten Beziehungsnamen und versuchen Sie es erneut.",de_DE +dynamic_entity.validation.configuration_not_found,"Dynamic entity configuration for table alias `%aliasName%` not found.",en_US +dynamic_entity.validation.configuration_not_found,"Dynamische Entitätskonfiguration für Tabellenalias `%aliasName%` nicht gefunden.",de_DE validator.constraints.password.do_not_match,Passwords don't match,en_US validator.constraints.password.do_not_match,Passwörter stimmen nicht überein,de_DE discount.successfully.applied,"The discount ""display_name"" has been successfully applied",en_US From 69f6ad9c43d9d3ab1a5e20e44a912577b0b0c4cd Mon Sep 17 00:00:00 2001 From: Kostiantyn Kichehlov Date: Thu, 21 Dec 2023 16:18:39 +0100 Subject: [PATCH 46/64] CC-32217 Removed zero stock for bundles. --- data/import/common/common/product_stock.csv | 5 ----- 1 file changed, 5 deletions(-) diff --git a/data/import/common/common/product_stock.csv b/data/import/common/common/product_stock.csv index d8c0e3c01e..accc3ab64d 100644 --- a/data/import/common/common/product_stock.csv +++ b/data/import/common/common/product_stock.csv @@ -290,11 +290,6 @@ concrete_sku,name,quantity,is_never_out_of_stock,is_bundle 207_15721464,Warehouse1,10,1,0 208_14678762,Warehouse1,10,1,0 209_12554247,Warehouse1,10,1,0 -210_123,Warehouse1,0,0,1 -211_123,Warehouse1,0,0,1 -212_123,Warehouse1,0,0,1 -213_123,Warehouse1,0,1,1 -214_123,Warehouse1,0,0,1 666_124,Warehouse1,0,1,0 666_125,Warehouse1,0,1,0 666_126,Warehouse1,0,1,0 From af5b8760430c7c704d353937d9db1749449a4499 Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Thu, 21 Dec 2023 19:03:26 +0200 Subject: [PATCH 47/64] CC-30070 Fixed table actions alignment. --- .../molecules/order-table/order-table.twig | 167 ++++++------- .../wishlist-product-alternative.twig | 170 +++++++------ .../views/return-list/return-list.twig | 60 ++--- .../default/components/atoms/table/table.scss | 85 ++----- .../molecules/lazy-image/lazy-image.scss | 5 +- .../components/molecules/menu/menu.scss | 18 -- .../components/molecules/status/status.scss | 1 + .../molecules/table-action-list/index.ts | 1 + .../table-action-list/table-action-list.scss | 57 +++++ .../table-action-list/table-action-list.twig | 30 +++ .../wishlist-detail-table.twig | 236 +++++++++--------- .../wishlist-overview-table.twig | 126 +++++----- 12 files changed, 506 insertions(+), 450 deletions(-) create mode 100644 src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/index.ts create mode 100644 src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.scss create mode 100644 src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.twig diff --git a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-table/order-table.twig b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-table/order-table.twig index d7f34ed99c..ed84e0cd9e 100644 --- a/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-table/order-table.twig +++ b/src/Pyz/Yves/CustomerPage/Theme/default/components/molecules/order-table/order-table.twig @@ -4,11 +4,54 @@ requestUri: app.request.requestUri, } %} +{% block customerReorderAction %} + {% widget 'CustomerReorderFormWidget' args [order] only %} + {% block body %} + {% include molecule('remote-form-submit') with { + data: { + label: 'customer.order.reorder' | trans, + buttonClass: 'table-action-list__link', + }, + attributes: { + 'form-name': 'customerReorderWidgetForm_' ~ data.order.idSalesOrder, + 'form-action': path('customer/order/reorder', { idSalesOrder: data.order.idSalesOrder }), + 'field-id': 'customerReorderWidgetForm__token_' ~ data.order.idSalesOrder, + 'field-name': 'customerReorderWidgetForm[_token]', + 'field-value': csrf_token('customerReorderWidgetForm'), + }, + } only %} + {% endblock %} + {% endwidget %} +{% endblock %} + +{% block orderCancelAction %} + {% widget 'OrderCancelButtonWidget' args [order, data.requestUri] only %} + {% block body %} + {% include molecule('remote-form-submit') with { + data: { + label: 'order_cancel_widget.cancel_order' | trans, + buttonClass: 'table-action-list__link', + }, + attributes: { + 'form-name': 'orderCancelForm_' ~ data.order.idSalesOrder, + 'form-action': path('order/cancel', { + 'id-sales-order': data.order.idSalesOrder, + 'return-url': data.returnUrl, + }), + 'field-id': 'orderCancelForm__token_' ~ data.order.idSalesOrder, + 'field-name': 'orderCancelForm[_token]', + 'field-value': csrf_token('orderCancelForm'), + }, + } only %} + {% endblock %} + {% endwidget %} +{% endblock %} + {% block body %} {% if data.orders is empty %}

    {{ 'customer.account.no_order' | trans }}

    {% else %} - + @@ -21,99 +64,39 @@ {% for order in data.orders %} - - - - - + + + {% endfor %} diff --git a/src/Pyz/Yves/ProductAlternativeWidget/Theme/default/views/wishlist-product-alternative/wishlist-product-alternative.twig b/src/Pyz/Yves/ProductAlternativeWidget/Theme/default/views/wishlist-product-alternative/wishlist-product-alternative.twig index 75f6d7efb5..9c492c08eb 100644 --- a/src/Pyz/Yves/ProductAlternativeWidget/Theme/default/views/wishlist-product-alternative/wishlist-product-alternative.twig +++ b/src/Pyz/Yves/ProductAlternativeWidget/Theme/default/views/wishlist-product-alternative/wishlist-product-alternative.twig @@ -1,91 +1,111 @@ {% extends view('wishlist-product-alternative', '@SprykerShop:ProductAlternativeWidget') %} +{% macro image(imageUrl, name, className, modifiers = []) %} + {% if imageUrl %} + {% include molecule('lazy-image') with { + modifiers: ['min-size', 'wishlist'] | merge(modifiers), + class: className, + data: { + imageSrc: imageUrl, + imageTitle: name, + }, + } only %} + {% endif %} +{% endmacro %} + +{% block addToWishlistAction %} + {% include molecule('single-button-form') with { + data: { + formAction: path('wishlist/add-item', { sku: item.sku, 'product-id': item.idProductConcrete, 'wishlist-name': data.wishlistName }), + buttonText: 'product_alternative_widget.add_to_wishlist' | trans, + iconName: '', + buttonClass: 'table-action-list__link', + fieldName: 'wishlist_add_item_form[_token]', + fieldValue: csrf_token('wishlist_add_item_form'), + buttonAttributes: { + disabled: item.idProductConcrete is empty, + }, + }, + } only %} +{% endblock %} + {% block body %} {% if data.products is not empty %} - - + - - +
    {{ 'customer.order.order_id' | trans }}
    {{ order.orderReference }}{{ date(order.createdAt) | formatDateTime }}{{ order.totals.grandTotal | default(0) | money(true, order.currencyIsoCode) }} - {% block stateWrapper %} - {% set stateCollection = data.ordersAggregatedItemStateDisplayNames[order.orderReference] %} - - {% if order.orderReference and stateCollection %} - {% for displayName, stateNames in stateCollection %} - {% block state %} - {% include molecule('status') with { - data: { - label: displayName | trans, - status: stateNames | first | replace({' ': '-'}) | lower, - }, - } only %} - {% endblock %} - {% endfor %} - {% endif %} - {% endblock %} + + {{ order.orderReference }} - + {{ date(order.createdAt) | formatDateTime }} + + {{ order.totals.grandTotal | default(0) | money(true, order.currencyIsoCode) }} + +
    {{ block('stateWrapper') }}
    +
    + {% include molecule('table-action-list') with { + data: { + items: [ + { + url: path('customer/order/details', { id: order.idSalesOrder }), + title: 'customer.order.view_order' | trans, }, - } only %} - {% endif %} - - {% embed molecule('return-create-link', 'SalesReturnPage') ignore missing with { - data: { - orderReference: order.orderReference, - }, - } only %} - {%- block extraClass %} menu__link{% endblock -%} - - {% block component %} - - {% endblock %} - {% endembed %} - - {% block orderCancelButton %} - {% widget 'OrderCancelButtonWidget' args [order, data.requestUri] only %} - {% block body %} - {% set buttonClasses = 'menu__link' %} - - {% endblock %} - {% endwidget %} - {% endblock %} - + { + customAction: block('customerReorderAction'), + }, + { + url: path('return/create', { orderReference: order.orderReference }), + title: 'return_page.button.create_return' | trans, + }, + { + customAction: block('orderCancelAction'), + }, + ], + }, + } only %}
    -

    {{ 'product_alternative_widget.alternative_for' | trans({name: data.item.name}) }}

    +
    +

    {{ 'product_alternative_widget.alternative_for' | trans({ name: data.item.name }) }}

    - - {% for item in data.products %} - {% if loop.index == 4 %} - - - - {% include molecule('toggler-click') with { - attributes: { - 'trigger-class-name': 'js-product-alternative-' ~ wishlistItemSku ~ '__show-all-trigger', - 'target-class-name': 'js-product-alternative-' ~ wishlistItemSku ~ '__show-all-target', - }, - } only %} - {% endif %} - - + diff --git a/src/Pyz/Yves/SalesReturnPage/Theme/default/views/return-list/return-list.twig b/src/Pyz/Yves/SalesReturnPage/Theme/default/views/return-list/return-list.twig index 6403f571bc..48726cc474 100644 --- a/src/Pyz/Yves/SalesReturnPage/Theme/default/views/return-list/return-list.twig +++ b/src/Pyz/Yves/SalesReturnPage/Theme/default/views/return-list/return-list.twig @@ -7,7 +7,7 @@ {% endblock %} {% block salesReturnTable %} - {% set salesReturnTableClass = 'table table--expand table--customer-account table--return table--responsive' %} + {% set salesReturnTableClass = salesReturnTableClass ~ ' table--responsive' %} {{ parent() }} {% endblock %} @@ -36,41 +36,45 @@ - {% endfor %} {% endblock %} + +{% block returnActionsMenu %} + {% include molecule('table-action-list') with { + data: { + items: [ + { + url: path('return/view', { returnReference: (return.returnReference) }), + title: 'return_page.return.view_return' | trans, + }, + { + url: path('return/slip-print', { returnReference: (return.returnReference) }), + title: 'return_page.return.print_return' | trans, + target: '_blank', + }, + ], + }, + } only %} +{% endblock %} diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/table/table.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/table/table.scss index a2c50a99d6..ac9021b6d3 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/table/table.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/atoms/table/table.scss @@ -1,77 +1,38 @@ @include shop-ui-table { + $name: '.table'; + &__body, tbody { tr { + background-color: $setting-color-transparent !important; + &:last-child { border-bottom: rem(1) solid $setting-color-gray-3; } - - &:nth-child(even) { - background: none; - } - } - } - - .text-right { - text-align: right; - } - - &--customer-account { - td, - th { - padding: rem(8); - } - - .checkbox { - margin: rem(4) 0 0; } } - &--order, - &--return { - th, - td { - font-size: rem(14); + td, + th { + padding: rem(8); + font-size: rem(14); - @include helper-breakpoint-media-min($md-min) { - font-size: rem(16); - } + @include helper-breakpoint-media-min($md-min) { + font-size: rem(16); } } - &--order-detail { - th, - td { - font-size: rem(11); - padding: rem(4); + .checkbox { + margin: 0; - @include helper-breakpoint-media-min($md-min) { - font-size: rem(16); - padding: rem(8); - } - } - - .checkbox { - margin: 0; - - @include helper-breakpoint-media-min($md-min) { - margin: rem(4) 0 0; - } + @include helper-breakpoint-media-min($md-min) { + margin: rem(4) 0 0; } } - &--wishlist { - th, - td { - padding-left: 0; - - @include helper-breakpoint-media-min($lg-min) { - padding-left: rem(4); - } - } - - td:first-child { - width: 5%; + &--sub-table { + tbody tr:last-child { + border-bottom: none; } } @@ -91,8 +52,7 @@ /* stylelint-disable selector-max-type */ tbody tr { display: block; - background-color: $setting-color-transparent !important; - border-top: none; + border: none; padding-bottom: rem(15); &:last-child { @@ -116,7 +76,6 @@ .transform-cell { display: flex; - align-items: baseline; position: relative; background-color: $setting-color-gray-1; @@ -142,4 +101,12 @@ &__tr--with-border-bottom { border-bottom: rem(1) solid $setting-color-gray-3; } + + #{$name}__actions { + padding: 0; + + @include helper-breakpoint-media-min($lg-min) { + width: 0; + } + } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/lazy-image/lazy-image.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/lazy-image/lazy-image.scss index c3452ce416..03bcf337a0 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/lazy-image/lazy-image.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/lazy-image/lazy-image.scss @@ -40,12 +40,13 @@ &--wishlist { display: inline-block; - vertical-align: middle; + vertical-align: top; margin-right: rem(10); height: rem(32); - @include helper-breakpoint-media-min($md-min) { + @include helper-breakpoint-media-min($lg-min) { height: 5rem; + vertical-align: middle; } } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/menu/menu.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/menu/menu.scss index 1704639fa6..94c293963a 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/menu/menu.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/menu/menu.scss @@ -145,24 +145,6 @@ } } - &--order-summary { - #{$name}__item { - font: fw(light) rem(16) $setting-font-family-additional; - margin: rem(10) 0; - } - } - - &--actions { - #{$name}__item { - margin: 0; - - @include helper-breakpoint-media-min($md-min) { - white-space: nowrap; - margin: 0 rem(8); - } - } - } - &--middle { vertical-align: middle; } diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/status/status.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/status/status.scss index 3ecfc21221..bd73d6fab2 100644 --- a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/status/status.scss +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/status/status.scss @@ -1,5 +1,6 @@ @include shop-ui-status() { border-radius: rem(4); + margin: rem(2) rem(2) rem(2) 0; &--in-progress, &--refunded { diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/index.ts b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/index.ts new file mode 100644 index 0000000000..00595732ab --- /dev/null +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/index.ts @@ -0,0 +1 @@ +import './table-action-list.scss'; diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.scss b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.scss new file mode 100644 index 0000000000..97269be0be --- /dev/null +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.scss @@ -0,0 +1,57 @@ +@mixin shop-ui-table-action-list($name: '.table-action-list') { + #{$name} { + display: flex; + flex-wrap: wrap; + padding: rem(10) 0; + + @include helper-breakpoint-media-min($lg-min) { + width: 100%; + padding: 0 rem(3) 0 0; + flex-wrap: nowrap; + } + + &__item { + flex-grow: 1; + min-width: calc(100% / 3); + padding: rem(2) rem(5); + + @include helper-breakpoint-media-min($md-min) { + min-width: 20%; + } + + @include helper-breakpoint-media-min($lg-min) { + flex-grow: 0; + padding: 0 rem(5); + white-space: nowrap; + } + } + + &__link { + background: none; + color: $setting-color-black; + font: fw(light) rem(16) $setting-font-family; + cursor: pointer; + padding: rem(5); + border-radius: rem(2); + border: rem(1) solid $setting-color-gray-3; + text-align: center; + display: block; + width: 100%; + + @include helper-breakpoint-media-min($lg-min) { + padding: 0; + border: none; + text-align: left; + } + + &:hover { + color: $setting-color-alt; + text-decoration: underline; + } + } + + @content; + } +} + +@include shop-ui-table-action-list(); diff --git a/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.twig b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.twig new file mode 100644 index 0000000000..3623d57eeb --- /dev/null +++ b/src/Pyz/Yves/ShopUi/Theme/default/components/molecules/table-action-list/table-action-list.twig @@ -0,0 +1,30 @@ +{% extends model('component') %} + +{% define config = { + name: 'table-action-list', +} %} + +{% define data = { + items: [], +} %} + +{% block body %} + {% for item in data.items %} + {% set available = item.available is defined ? item.available : true %} + {% set isCustomAction = available and item.customAction is defined and (item.customAction | trim) is not empty and item.url is not defined %} + {% set isAction = available and (item.customAction is not defined or (item.customAction | trim) is empty) and item.url is defined %} + + {% if isCustomAction %} +
    + {{ item.customAction | raw }} +
    + {% endif %} + {% if isAction %} + + {% endif %} + {% endfor %} +{% endblock %} diff --git a/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-detail-table/wishlist-detail-table.twig b/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-detail-table/wishlist-detail-table.twig index 87850c5142..f2ee7526d8 100644 --- a/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-detail-table/wishlist-detail-table.twig +++ b/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-detail-table/wishlist-detail-table.twig @@ -4,19 +4,73 @@ name: 'wishlist-detail-table', } %} +{% macro image(imageUrl, name, className, modifiers = []) %} + {% if imageUrl %} + {% include molecule('lazy-image') with { + modifiers: ['min-size', 'wishlist'] | merge(modifiers), + class: className, + data: { + imageSrc: imageUrl, + imageTitle: name, + }, + } only %} + {% endif %} +{% endmacro %} + +{% block actionContent %} + + + {% if widgetGlobalExists('MerchantProductOfferWidget') %} + {% include molecule('wishlist-item-product-offer', 'MerchantProductOfferWidget') with { + data: { + productView: item, + }, + } only %} + {% elseif widgetGlobalExists('MerchantProductWidget') %} + {% include molecule('wishlist-item-merchant-product', 'MerchantProductWidget') with { + data: { + productView: item, + }, + } only %} + {% endif %} +{% endblock %} + +{% block wishlistMoveToCartAction %} + {% if wishlistMoveToCartForm %} + {{ form_start(wishlistMoveToCartForm, { action: moveToCartActionPath, name: moveToCartFormName, attr: { id: moveToCartFormName } }) }} + + + {{ block('actionContent') }} + {{ form_end(wishlistMoveToCartForm) }} + {% endif %} +{% endblock %} + +{% block wishlistRemoveItemAction %} + {% if wishlistRemoveItemForm %} + {{ form_start(wishlistRemoveItemForm, { action: removeItemActionPatch, name: removeItemFormName, attr: { id: removeItemFormName } }) }} + + + {{ block('actionContent') }} + {{ form_end(wishlistRemoveItemForm) }} + {% endif %} +{% endblock %} + {% block body %} -
    -
    -
    - -
    -
    + + + {% for item in data.products %} + {% if loop.index == 4 %} + + + + + {% include molecule('toggler-click') with { + attributes: { + 'trigger-class-name': 'js-product-alternative-' ~ wishlistItemSku ~ '__show-all-trigger', + 'target-class-name': 'js-product-alternative-' ~ wishlistItemSku ~ '__show-all-target', + }, + } only %} + {% endif %} + + {% set imageUrl = item.images.0.externalUrlSmall ?? '' %} - {% if imageUrl %} - {% include molecule('lazy-image') with { - modifiers: ['thumbnail', 'min-size', 'wishlist'], + + + + - - - - - {% endfor %} + + + {% endfor %}
    +
    + +
    +
    + {{ _self.image(imageUrl, item.name, 'is-hidden-sm-md', ['thumbnail']) }} + +
    + {{ _self.image(imageUrl, item.name, 'is-hidden-lg-xl') }} + + +
    +
    + {% if item.price is not null %} + {% include molecule('money-price') with { + modifiers: ['wishlist'], + data: { + amount: item.price, + originalAmount: item.prices.ORIGINAL ?? null, + }, + } only %} + {% else %} + N/A + {% endif %} + + {% include molecule('table-action-list') with { data: { - imageSrc: imageUrl, - imageTitle: item.name, + items: [ + { + customAction: block('addToWishlistAction'), + }, + ], }, } only %} - {% endif %} - - - - {% if item.price is not null %} - {% include molecule('money-price') with { - modifiers: ['wishlist'], - data: { - amount: item.price, - originalAmount: item.prices.ORIGINAL is not defined or item.prices.ORIGINAL is empty ? null : item.prices.ORIGINAL - } - } only %} - {% else %} - N/A - {% endif %} - - {% set idProductConcrete = item.idProductConcrete %} - - {% include molecule('single-button-form') with { - class: 'float-right', - data: { - formAction: path('wishlist/add-item', { sku: item.sku, 'product-id': idProductConcrete, 'wishlist-name': data.wishlistName }), - buttonText: 'product_alternative_widget.add_to_wishlist' | trans, - iconName: '', - buttonClass: 'link link--user-account', - fieldName: 'wishlist_add_item_form[_token]', - fieldValue: csrf_token('wishlist_add_item_form'), - buttonAttributes: { - disabled: idProductConcrete is empty, - }, - }, - } only %} -
    {{ return.returnReference }} - {% for orderReference in orderReferences %} - {{ orderReference }} - {% endfor %} +
    + {% for orderReference in orderReferences %} + {{- (not loop.first ? ', ') ~ orderReference -}} + {% endfor %} +
    {{ return.returnItems | length | executeFilterIfExists('formatInt', app.locale) }} {{ date(return.createdAt) | formatDateTime }} - {% for state in itemStates %} - {% set stateName = state.status | replace({' ': '-'}) | lower %} +
    + {% for state in itemStates %} + {% set stateName = state.status | replace({' ': '-'}) | lower %} - {% block state %} - {% include molecule('status') with { - data: { - label: state.label | trans, - status: stateName, - }, - } only %} - {% endblock %} - {% endfor %} + {{ block('state') }} + {% endfor %} +
    - + + {{ block('returnActionsMenu') }}
    - - - - - - - - - - +
    {{ 'customer.account.wishlist.product' | trans }}{{ 'customer.account.wishlist.price' | trans }}{{ 'customer.account.wishlist.availability' | trans }}
    + + + + + + + + + + {% for idWishlistItem, item in data.wishlistItems %} {% set isItemAvailable = item.available is defined and item.available and item.price is defined and item.price is not null %} {% set productDiscontinuedWidget = findWidget('ProductDiscontinuedWidget', [item.sku]) %} @@ -24,63 +78,55 @@ {% if isDiscontinued is not null %} {% set isItemAvailable = not isDiscontinued and isItemAvailable %} {% endif %} - - + {% set imageUrl = item.images.0.externalUrlSmall ?? '' %} + {% import _self as macros %} + + + - - - + {% widget 'WishlistProductAlternativeWidget' args [item, data.wishlistName] only %}{% endwidget %} {% endfor %} - -
    {{ 'customer.account.wishlist.product' | trans }}{{ 'customer.account.wishlist.price' | trans }}{{ 'customer.account.wishlist.availability' | trans }}
    - {% set imageUrl = item.images.0.externalUrlSmall ?? '' %} - - {% if imageUrl %} - {% include molecule('lazy-image') with { - modifiers: ['thumbnail', 'min-size', 'wishlist'], - data: { - imageSrc: imageUrl, - imageTitle: item.name, - }, - } only %} - {% endif %} -
    - {% if imageUrl %} - {% include molecule('lazy-image') with { - class: 'is-hidden-md-xl', - modifiers: ['thumbnail', 'min-size', 'wishlist'], - data: { - imageSrc: imageUrl, - imageTitle: item.name, - }, - } only %} - {% endif %} - +
    + {{ _self.image(imageUrl, item.name, 'is-hidden-lg-xl') }} - {% set wishlistItem = data.indexedWishlistItems[idWishlistItem] | default %} - {% if wishlistItem %} -
  • - {% widget 'ProductConfigurationWishlistItemDisplayWidget' args [wishlistItem] only %}{% endwidget %} - {% widget 'ProductConfigurationWishlistPageButtonWidget' args [wishlistItem] only %}{% endwidget %} + +
  • {{ item.sku }}
  • + {% for attribute in item.superAttributesDefinition %} + {% if item.attributes[attribute] is defined %} +
  • {{ ('product.attribute.' ~ attribute) | trans }}: {{ item.attributes[attribute] }}
  • + {% endif %} + {% endfor %} + + {% set wishlistItem = data.indexedWishlistItems[idWishlistItem] | default %} + {% if wishlistItem %} +
  • + {% widget 'ProductConfigurationWishlistItemDisplayWidget' args [wishlistItem] only %}{% endwidget %} + {% widget 'ProductConfigurationWishlistPageButtonWidget' args [wishlistItem] only %}{% endwidget %} +
  • + {% endif %} + +
    + {% if item.price is not null %} {% include molecule('money-price') with { modifiers: ['wishlist'], data: { amount: item.price, - originalAmount: item.prices.ORIGINAL is not defined ? null : item.prices.ORIGINAL - } + originalAmount: item.prices.ORIGINAL ?? null, + }, } only %} {% else %} N/A {% endif %} + {% if isItemAvailable %} {{ 'customer.account.wishlist.available' | trans }} {% else %} @@ -90,66 +136,32 @@ {% endwidget %} {% endif %} - + {% set moveToCartFormName = 'addToCart_' ~ loop.index %} + {% set moveToCartActionPath = path('wishlist/move-to-cart', { sku: item.sku, 'wishlist-name': data.wishlistName }) %} + {% set wishlistMoveToCartForm = data.wishlistMoveToCartFormClone.getForm.createView ?? null %} + {% set removeItemFormName = 'deleteWishlistItem_' ~ loop.index %} + {% set removeItemActionPatch = path('wishlist/remove-item', { sku: item.sku, 'wishlist-name': data.wishlistName }) %} + {% set wishlistRemoveItemForm = data.wishlistRemoveItemFormClone.getForm.createView ?? null %} - {{ form_start(wishlistRemoveItemForm, {'action': removeItemActionPatch, 'name': deleteFormName, 'attr': {'id': deleteFormName}}) }} - - {{ form_end(wishlistRemoveItemForm) }} - {% else %} - {% include molecule('single-button-form') with { - data: { - formAction: removeItemActionPatch, - buttonText: 'customer.account.wishlist.remove' | trans, - iconName: '', - buttonClass: 'link link--user-account', - fieldName: 'wishlist_remove_item_form[_token]', - fieldValue: csrf_token('wishlist_remove_item_form'), - formAttributes: { - name: deleteFormName, - id: deleteFormName, - }, - }, - } only %} - {% endif %} - - + {% include molecule('table-action-list') with { + data: { + items: [ + { + customAction: block('wishlistMoveToCartAction'), + available: isItemAvailable, + }, + { + customAction: block('wishlistRemoveItemAction'), + }, + ], + }, + } only %}
    - +
    {% endblock %} diff --git a/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-overview-table/wishlist-overview-table.twig b/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-overview-table/wishlist-overview-table.twig index 203fa130e1..5c928d655b 100644 --- a/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-overview-table/wishlist-overview-table.twig +++ b/src/Pyz/Yves/WishlistPage/Theme/default/components/molecules/wishlist-overview-table/wishlist-overview-table.twig @@ -1,83 +1,81 @@ {% extends molecule('wishlist-overview-table', '@SprykerShop:WishlistPage') %} +{% block wishlistDeleteAction %} + {% if wishlistDeleteForm %} + {{ form_start(wishlistDeleteForm, { action: path('wishlist/delete', { wishlistName: wishlist.name}), name: 'wishlistDeleteForm_' ~ wishlist.name }) }} + + {{ form_end(wishlistDeleteForm) }} + {% endif %} +{% endblock %} + {% block body %} -
    - - - - - - - - - - +
    {{ 'customer.account.wishlist.overview.name' | trans }}{{ 'customer.account.wishlist.overview.item_count' | trans }}{{ 'customer.account.wishlist.overview.date' | trans }}
    + + + + + + + + + {% for wishlist in data.wishlists %} {% set hasWishlistForm = data.wishlistForm is not empty and wishlist.idWishlist == data.wishlistForm.vars.data.idWishlist %} + - - - - + + {% endfor %} - -
    {{ 'customer.account.wishlist.overview.name' | trans }}{{ 'customer.account.wishlist.overview.item_count' | trans }}{{ 'customer.account.wishlist.overview.date' | trans }}
    + {% if hasWishlistForm %} {{ form_start(data.wishlistForm) }} -
    -
    - {{ form_widget(data.wishlistForm.name, {attr: {placeholder: 'customer.account.wishlist.overview.enter_name'|trans}}) }} -
    -
    - +
    +
    + {{ form_widget(data.wishlistForm.name, { + attr: { + placeholder: 'customer.account.wishlist.overview.enter_name' | trans, + }, + }) }} +
    +
    + +
    -
    - {{ form_errors(data.wishlistForm) }} + + {{ form_errors(data.wishlistForm) }} {{ form_end(data.wishlistForm) }} {% else %} {{ wishlist.name }} {% endif %}
    {{ wishlist.numberOfItems | executeFilterIfExists('formatInt', app.locale) }}{{ wishlist.createdAt | formatDate }} - + {{ wishlist.numberOfItems | executeFilterIfExists('formatInt', app.locale) }} + + {{ wishlist.createdAt | formatDate }} + + {% set wishlistDeleteForm = data.wishlistDeleteFormClone.getForm.createView ?? null %} + {% import _self as macros %} - {% include molecule('single-button-form') with { - data: { - formAction: path('wishlist/delete', {'wishlistName': wishlist.name}), - buttonText: 'customer.account.wishlist.overview.delete' | trans, - iconName: '', - buttonClass: 'link link--user-account', - fieldName: 'wishlist_delete_form[_token]', - fieldValue: csrf_token('wishlist_delete_form'), - formAttributes: { - 'name': formName, - 'id': formName, - }, - }, - } only %} - {% endif %} - - + {% include molecule('table-action-list') with { + data: { + items: [ + { + url: url('wishlist/update', { wishlistName: wishlist.name }), + title: 'customer.account.wishlist.overview.edit' | trans, + available: not hasWishlistForm, + }, + { + customAction: block('wishlistDeleteAction'), + }, + ], + }, + } only %}
    -
    + + {% endblock %} From ce9ebfa8a705bd0688f33cc981498bcdfc278707 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Fri, 22 Dec 2023 14:12:54 +0200 Subject: [PATCH 48/64] FRW-1162 FRW-6285 Integrations --- composer.lock | 26 +++++++++---------- ...ackendApiApplicationDependencyProvider.php | 4 +-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/composer.lock b/composer.lock index c9e34a35a7..7eaf79d5aa 100644 --- a/composer.lock +++ b/composer.lock @@ -29239,20 +29239,20 @@ }, { "name": "spryker/oauth-backend-api", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker/oauth-backend-api.git", - "reference": "85fef2e72c9e76d2b476cc088c5e9b8d02e135f3" + "reference": "10be473eef02d1ec4a398cf41070d54e55317713" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oauth-backend-api/zipball/85fef2e72c9e76d2b476cc088c5e9b8d02e135f3", - "reference": "85fef2e72c9e76d2b476cc088c5e9b8d02e135f3", + "url": "https://api.github.com/repos/spryker/oauth-backend-api/zipball/10be473eef02d1ec4a398cf41070d54e55317713", + "reference": "10be473eef02d1ec4a398cf41070d54e55317713", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/authentication": "^1.0.0", "spryker/glue-application-extension": "^1.10.0", "spryker/kernel": "^3.66.0", @@ -29287,9 +29287,9 @@ ], "description": "OauthBackendApi module", "support": { - "source": "https://github.com/spryker/oauth-backend-api/tree/1.4.0" + "source": "https://github.com/spryker/oauth-backend-api/tree/1.5.0" }, - "time": "2023-05-23T06:57:39+00:00" + "time": "2023-12-07T13:36:13+00:00" }, { "name": "spryker/oauth-backend-api-extension", @@ -46516,16 +46516,16 @@ }, { "name": "spryker/transfer", - "version": "3.34.0", + "version": "3.35.0", "source": { "type": "git", "url": "https://github.com/spryker/transfer.git", - "reference": "dfabe1a4dc33b713cf2487cf42f95d6d2f8d525b" + "reference": "539b53f9da85ccdfeb17f64c18c0c2ba3eac2e79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/transfer/zipball/dfabe1a4dc33b713cf2487cf42f95d6d2f8d525b", - "reference": "dfabe1a4dc33b713cf2487cf42f95d6d2f8d525b", + "url": "https://api.github.com/repos/spryker/transfer/zipball/539b53f9da85ccdfeb17f64c18c0c2ba3eac2e79", + "reference": "539b53f9da85ccdfeb17f64c18c0c2ba3eac2e79", "shasum": "" }, "require": { @@ -46561,9 +46561,9 @@ ], "description": "Transfer module", "support": { - "source": "https://github.com/spryker/transfer/tree/3.34.0" + "source": "https://github.com/spryker/transfer/tree/3.35.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-11-20T09:35:42+00:00" }, { "name": "spryker/translator", diff --git a/src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php b/src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php index 378ce7efaa..14b38da0cd 100644 --- a/src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php +++ b/src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php @@ -18,7 +18,7 @@ use Spryker\Glue\GlueBackendApiApplication\Plugin\GlueApplication\StrictTransportSecurityHeaderResponseFormatterPlugin; use Spryker\Glue\GlueBackendApiApplicationAuthorizationConnector\Plugin\GlueBackendApiApplication\AuthorizationRequestAfterRoutingValidatorPlugin; use Spryker\Glue\Http\Plugin\Application\HttpApplicationPlugin; -use Spryker\Glue\OauthBackendApi\Plugin\AccessTokenValidatorPlugin; +use Spryker\Glue\OauthBackendApi\Plugin\GlueApplication\BackendApiAccessTokenValidatorPlugin; use Spryker\Glue\OauthBackendApi\Plugin\GlueApplication\OauthBackendApiTokenResource; use Spryker\Glue\OauthBackendApi\Plugin\GlueApplication\UserRequestValidatorPlugin; use Spryker\Glue\OauthBackendApi\Plugin\GlueBackendApiApplication\UserRequestBuilderPlugin; @@ -70,7 +70,7 @@ protected function getRequestBuilderPlugins(): array protected function getRequestValidatorPlugins(): array { return [ - new AccessTokenValidatorPlugin(), + new BackendApiAccessTokenValidatorPlugin(), new UserRequestValidatorPlugin(), new WarehouseRequestValidatorPlugin(), ]; From eeb782c6f30a9c21afde9aac727178731e31dd20 Mon Sep 17 00:00:00 2001 From: "danil.moroz" Date: Wed, 27 Dec 2023 16:48:09 +0200 Subject: [PATCH 49/64] CC-18186 Fixed color selector on PDP. --- composer.lock | 14 +++++------ .../product-carousel/product-carousel.twig | 25 ++++++------------- .../image-gallery/image-gallery.twig | 2 +- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/composer.lock b/composer.lock index 6d20a3a746..5821b4a24b 100644 --- a/composer.lock +++ b/composer.lock @@ -11162,20 +11162,20 @@ }, { "name": "spryker-shop/product-detail-page", - "version": "3.19.1", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/product-detail-page.git", - "reference": "4a41f28ee8a6012019d8f38d6ffc9fb34818a33b" + "reference": "ab7ac9858f1e4a353060c2c5bda94c50e38087a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/4a41f28ee8a6012019d8f38d6ffc9fb34818a33b", - "reference": "4a41f28ee8a6012019d8f38d6ffc9fb34818a33b", + "url": "https://api.github.com/repos/spryker-shop/product-detail-page/zipball/ab7ac9858f1e4a353060c2c5bda94c50e38087a7", + "reference": "ab7ac9858f1e4a353060c2c5bda94c50e38087a7", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker-shop/shop-application": "^1.0.0", "spryker-shop/shop-router-extension": "^1.0.0", "spryker-shop/shop-ui": "^1.44.0", @@ -11221,9 +11221,9 @@ ], "description": "ProductDetailPage module", "support": { - "source": "https://github.com/spryker-shop/product-detail-page/tree/3.19.1" + "source": "https://github.com/spryker-shop/product-detail-page/tree/3.20.0" }, - "time": "2023-04-20T13:53:45+00:00" + "time": "2023-12-27T10:44:32+00:00" }, { "name": "spryker-shop/product-discontinued-widget", diff --git a/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-carousel/product-carousel.twig b/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-carousel/product-carousel.twig index f584058660..7387003490 100644 --- a/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-carousel/product-carousel.twig +++ b/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-carousel/product-carousel.twig @@ -1,30 +1,21 @@ -{% extends model('component') %} - -{% define config = { - name: 'product-carousel', - tag: 'product-carousel' -} %} - -{% define data = { - product: required -} %} +{% extends molecule('product-carousel', '@SprykerShop:ProductDetailPage') %} {% block body %} {% include molecule('image-gallery', 'ProductImageWidget') with { data: { idProductAbstract: data.product.idProductAbstract, - images: data.product.images | default([]) + images: data.product.images | default([defaultSlide]), }, attributes: { 'active-class': 'image-gallery__item--active', 'thumbnail-active-class': 'image-gallery-thumbnail__item--active', 'slider-config': '{ - "slidesToShow":5, - "slidesToScroll":1, - "infinite":false, - "vertical":true, - "prevArrow":"", - "nextArrow":"", + "slidesToShow": 5, + "slidesToScroll": 1, + "infinite": false, + "vertical": true, + "prevArrow": "", + "nextArrow": "", "responsive": [ { "breakpoint": 769, diff --git a/src/Pyz/Yves/ProductImageWidget/Theme/default/components/molecules/image-gallery/image-gallery.twig b/src/Pyz/Yves/ProductImageWidget/Theme/default/components/molecules/image-gallery/image-gallery.twig index 49ddce765f..0aa1c8eada 100644 --- a/src/Pyz/Yves/ProductImageWidget/Theme/default/components/molecules/image-gallery/image-gallery.twig +++ b/src/Pyz/Yves/ProductImageWidget/Theme/default/components/molecules/image-gallery/image-gallery.twig @@ -39,7 +39,7 @@ {% set activeItemClass = loop.first ? config.name ~ '__item--active' %}
    - {% if image.externalUrlLarge is not empty %} + {% if image.externalUrlLarge is defined %} {% include molecule('lazy-image') with { class: config.name ~ '__image', modifiers: ['full-height'], From dad1835672e0ebe3e0793da3bba8e8b0954b4a7b Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Thu, 28 Dec 2023 14:50:14 +0200 Subject: [PATCH 50/64] FRW-5940 Updated pacakges --- composer.lock | 403 ++++++++++++++++++++++++-------------------------- 1 file changed, 192 insertions(+), 211 deletions(-) diff --git a/composer.lock b/composer.lock index 06ed868441..7de05c884d 100644 --- a/composer.lock +++ b/composer.lock @@ -7240,16 +7240,16 @@ }, { "name": "spryker-shop/agent-page", - "version": "1.13.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/agent-page.git", - "reference": "31debfad74bb7ddb5fdf7fb1ea5bbe96397acb83" + "reference": "e53b075d1229af5086447cb812fa8a642f3e1906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/agent-page/zipball/31debfad74bb7ddb5fdf7fb1ea5bbe96397acb83", - "reference": "31debfad74bb7ddb5fdf7fb1ea5bbe96397acb83", + "url": "https://api.github.com/repos/spryker-shop/agent-page/zipball/e53b075d1229af5086447cb812fa8a642f3e1906", + "reference": "e53b075d1229af5086447cb812fa8a642f3e1906", "shasum": "" }, "require": { @@ -7283,8 +7283,6 @@ "spryker/testify": "*" }, "suggest": { - "spryker/container": "Add this module to use the ContainerInterface.", - "spryker/security": "Add this module to use the SecurityPlugin.", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, "type": "library", @@ -7304,9 +7302,9 @@ ], "description": "AgentPage module", "support": { - "source": "https://github.com/spryker-shop/agent-page/tree/1.13.0" + "source": "https://github.com/spryker-shop/agent-page/tree/1.14.0" }, - "time": "2023-11-02T20:09:30+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/agent-page-extension", @@ -9276,16 +9274,16 @@ }, { "name": "spryker-shop/customer-page", - "version": "2.50.0", + "version": "2.51.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/customer-page.git", - "reference": "4d33c050041ee6745f68883a728ca7234dfb69c8" + "reference": "6a62fc8848118b708f5682c77400fc775638bc3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/4d33c050041ee6745f68883a728ca7234dfb69c8", - "reference": "4d33c050041ee6745f68883a728ca7234dfb69c8", + "url": "https://api.github.com/repos/spryker-shop/customer-page/zipball/6a62fc8848118b708f5682c77400fc775638bc3d", + "reference": "6a62fc8848118b708f5682c77400fc775638bc3d", "shasum": "" }, "require": { @@ -9346,9 +9344,7 @@ "spryker-shop/sales-return-page": "Add the module if you want to use return-create-link molecule.", "spryker-shop/sales-service-point-widget": "Add the module if you want to display the service point related information.", "spryker/config": "Use this module when using plugins that need Config dependencies.", - "spryker/container": "If you want to use twig plugins.", "spryker/messenger": "Use this module when using plugins that need Messenger dependencies.", - "spryker/security": "Add this module to use the SecurityPlugin.", "spryker/shipment-cart-connector": "If you want to use shipment totals in quote or shipment source prices, min version 2.1.0", "spryker/silex": "Use this module when using plugins that need Silex dependencies." }, @@ -9369,9 +9365,9 @@ ], "description": "CustomerPage module", "support": { - "source": "https://github.com/spryker-shop/customer-page/tree/2.50.0" + "source": "https://github.com/spryker-shop/customer-page/tree/2.51.0" }, - "time": "2023-12-06T07:00:27+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/customer-page-extension", @@ -12457,20 +12453,20 @@ }, { "name": "spryker-shop/security-blocker-page", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/security-blocker-page.git", - "reference": "c0f5ac3392b97e89ac40469df56fdd7be899cc94" + "reference": "07ee1d8e9d1c223d0bf3fd2151f93278c7048e74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/security-blocker-page/zipball/c0f5ac3392b97e89ac40469df56fdd7be899cc94", - "reference": "c0f5ac3392b97e89ac40469df56fdd7be899cc94", + "url": "https://api.github.com/repos/spryker-shop/security-blocker-page/zipball/07ee1d8e9d1c223d0bf3fd2151f93278c7048e74", + "reference": "07ee1d8e9d1c223d0bf3fd2151f93278c7048e74", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/event-dispatcher-extension": "^1.0.0", "spryker/glossary-storage": "^1.0.0", "spryker/kernel": "^3.30.0", @@ -12504,26 +12500,26 @@ ], "description": "SecurityBlockerPage module", "support": { - "source": "https://github.com/spryker-shop/security-blocker-page/tree/1.1.0" + "source": "https://github.com/spryker-shop/security-blocker-page/tree/1.2.0" }, - "time": "2023-07-20T06:54:36+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/session-agent-validation", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/session-agent-validation.git", - "reference": "4fc793d7327a66a286c8b129767c8ebc60e7d4fd" + "reference": "10bee287ab7f9ab24a9b30b000fa314c7fe9123d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/session-agent-validation/zipball/4fc793d7327a66a286c8b129767c8ebc60e7d4fd", - "reference": "4fc793d7327a66a286c8b129767c8ebc60e7d4fd", + "url": "https://api.github.com/repos/spryker-shop/session-agent-validation/zipball/10bee287ab7f9ab24a9b30b000fa314c7fe9123d", + "reference": "10bee287ab7f9ab24a9b30b000fa314c7fe9123d", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker-shop/customer-page-extension": "^1.2.0", "spryker-shop/session-agent-validation-extension": "^1.0.0", "spryker/agent": "^1.4.0", @@ -12560,9 +12556,9 @@ ], "description": "SessionAgentValidation module", "support": { - "source": "https://github.com/spryker-shop/session-agent-validation/tree/1.1.0" + "source": "https://github.com/spryker-shop/session-agent-validation/tree/1.2.0" }, - "time": "2023-04-25T15:38:45+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/session-agent-validation-extension", @@ -12607,20 +12603,20 @@ }, { "name": "spryker-shop/session-customer-validation-page", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/session-customer-validation-page.git", - "reference": "066745370d710540b6759998c368d2a5e9d5888f" + "reference": "a3e2c80231164137c965e833f5ae13a37e650a9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/session-customer-validation-page/zipball/066745370d710540b6759998c368d2a5e9d5888f", - "reference": "066745370d710540b6759998c368d2a5e9d5888f", + "url": "https://api.github.com/repos/spryker-shop/session-customer-validation-page/zipball/a3e2c80231164137c965e833f5ae13a37e650a9b", + "reference": "a3e2c80231164137c965e833f5ae13a37e650a9b", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker-shop/agent-page-extension": "^1.0.0", "spryker-shop/session-customer-validation-page-extension": "^1.0.0", "spryker/customer": "^7.0.0", @@ -12657,9 +12653,9 @@ ], "description": "SessionCustomerValidationPage module", "support": { - "source": "https://github.com/spryker-shop/session-customer-validation-page/tree/1.0.0" + "source": "https://github.com/spryker-shop/session-customer-validation-page/tree/1.1.0" }, - "time": "2022-12-13T15:22:32+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/session-customer-validation-page-extension", @@ -13401,20 +13397,20 @@ }, { "name": "spryker-shop/store-widget", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker-shop/store-widget.git", - "reference": "65b9c5522bcb90aea322d4a2a52ab6d68b63181c" + "reference": "97bafa8862895442281e4a75046437800a62a44f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-shop/store-widget/zipball/65b9c5522bcb90aea322d4a2a52ab6d68b63181c", - "reference": "65b9c5522bcb90aea322d4a2a52ab6d68b63181c", + "url": "https://api.github.com/repos/spryker-shop/store-widget/zipball/97bafa8862895442281e4a75046437800a62a44f", + "reference": "97bafa8862895442281e4a75046437800a62a44f", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/application-extension": "^1.0.0", "spryker/kernel": "^3.30.0", "spryker/session": "^4.0.0", @@ -13447,9 +13443,9 @@ ], "description": "StoreWidget module", "support": { - "source": "https://github.com/spryker-shop/store-widget/tree/1.1.0" + "source": "https://github.com/spryker-shop/store-widget/tree/1.2.0" }, - "time": "2023-04-14T12:33:33+00:00" + "time": "2023-12-21T16:51:03+00:00" }, { "name": "spryker-shop/tabs-widget", @@ -22788,16 +22784,16 @@ }, { "name": "spryker/customer", - "version": "7.53.0", + "version": "7.55.0", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "3a201143cb7b4033f11a2050120d4bd744c160eb" + "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/3a201143cb7b4033f11a2050120d4bd744c160eb", - "reference": "3a201143cb7b4033f11a2050120d4bd744c160eb", + "url": "https://api.github.com/repos/spryker/customer/zipball/5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", + "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", "shasum": "" }, "require": { @@ -22806,7 +22802,7 @@ "spryker/authorization-extension": "^1.0.0", "spryker/checkout-extension": "^1.2.0", "spryker/country": "^3.1.0 || ^4.0.0", - "spryker/customer-extension": "^1.4.0", + "spryker/customer-extension": "^1.5.0", "spryker/gui": "^3.39.0", "spryker/kernel": "^3.72.0", "spryker/locale": "^3.0.0 || ^4.0.0", @@ -22864,9 +22860,9 @@ ], "description": "Customer module", "support": { - "source": "https://github.com/spryker/customer/tree/7.53.0" + "source": "https://github.com/spryker/customer/tree/7.55.0" }, - "time": "2023-11-24T22:16:26+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/customer-access", @@ -23116,20 +23112,20 @@ }, { "name": "spryker/customer-extension", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/spryker/customer-extension.git", - "reference": "c2f0fdbae3479968b3ef297fe7371aeb0ae5b503" + "reference": "83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer-extension/zipball/c2f0fdbae3479968b3ef297fe7371aeb0ae5b503", - "reference": "c2f0fdbae3479968b3ef297fe7371aeb0ae5b503", + "url": "https://api.github.com/repos/spryker/customer-extension/zipball/83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20", + "reference": "83d918f0babe10ce1afb85bbbcf9f1fa2ba73c20", "shasum": "" }, "require": { - "php": ">=7.4" + "php": ">=8.1" }, "require-dev": { "spryker/code-sniffer": "*" @@ -23151,9 +23147,9 @@ ], "description": "CustomerExtension module", "support": { - "source": "https://github.com/spryker/customer-extension/tree/1.4.0" + "source": "https://github.com/spryker/customer-extension/tree/1.5.0" }, - "time": "2022-07-11T13:46:05+00:00" + "time": "2023-12-11T16:59:08+00:00" }, { "name": "spryker/customer-group", @@ -27170,20 +27166,20 @@ }, { "name": "spryker/http", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/spryker/http.git", - "reference": "c672bd1352d96f49fc31830e90546b1a6c22169c" + "reference": "0afd9b0bb5db66dd2e729d4691388c274dbe2c24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/http/zipball/c672bd1352d96f49fc31830e90546b1a6c22169c", - "reference": "c672bd1352d96f49fc31830e90546b1a6c22169c", + "url": "https://api.github.com/repos/spryker/http/zipball/0afd9b0bb5db66dd2e729d4691388c274dbe2c24", + "reference": "0afd9b0bb5db66dd2e729d4691388c274dbe2c24", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/application-extension": "^1.0.0", "spryker/event-dispatcher-extension": "^1.0.0", "spryker/form-extension": "^1.0.0", @@ -27225,9 +27221,9 @@ ], "description": "Http module", "support": { - "source": "https://github.com/spryker/http/tree/1.10.0" + "source": "https://github.com/spryker/http/tree/1.11.0" }, - "time": "2023-04-18T12:57:09+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/http-extension", @@ -29082,20 +29078,20 @@ }, { "name": "spryker/oauth-agent-connector", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/spryker/oauth-agent-connector.git", - "reference": "0b862f542401850ce3ceea75828ed1458febb2f5" + "reference": "82c7dbdf2a8b60bcfb5664cb4433742afe941402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oauth-agent-connector/zipball/0b862f542401850ce3ceea75828ed1458febb2f5", - "reference": "0b862f542401850ce3ceea75828ed1458febb2f5", + "url": "https://api.github.com/repos/spryker/oauth-agent-connector/zipball/82c7dbdf2a8b60bcfb5664cb4433742afe941402", + "reference": "82c7dbdf2a8b60bcfb5664cb4433742afe941402", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "psr/http-message": "^1.0.0", "spryker/agent": "^1.0.0", "spryker/kernel": "^3.30.0", @@ -29131,9 +29127,9 @@ ], "description": "OauthAgentConnector module", "support": { - "source": "https://github.com/spryker/oauth-agent-connector/tree/1.1.0" + "source": "https://github.com/spryker/oauth-agent-connector/tree/1.2.0" }, - "time": "2023-04-25T15:38:42+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/oauth-api", @@ -42437,24 +42433,24 @@ }, { "name": "spryker/security", - "version": "1.7.1", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spryker/security.git", - "reference": "56bb645a4a30fbb0d0611e64f8e284eb9cee0d23" + "reference": "1de605712f5a8d4d299db180f7d281ce6266aff2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security/zipball/56bb645a4a30fbb0d0611e64f8e284eb9cee0d23", - "reference": "56bb645a4a30fbb0d0611e64f8e284eb9cee0d23", + "url": "https://api.github.com/repos/spryker/security/zipball/1de605712f5a8d4d299db180f7d281ce6266aff2", + "reference": "1de605712f5a8d4d299db180f7d281ce6266aff2", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/application-extension": "^1.0.0", "spryker/kernel": "^3.52.0", "spryker/security-extension": "^1.1.0", - "spryker/symfony": "^3.8.0", + "spryker/symfony": "^3.15.0", "spryker/validator-extension": "^1.0.0" }, "require-dev": { @@ -42469,7 +42465,6 @@ "spryker/testify": "*" }, "suggest": { - "spryker/container": "Add this module to use the Container.", "spryker/event-dispatcher": "Add this module to use the EventDispatcher.", "spryker/event-dispatcher-extension": "Add this module to use the EventDispatcherExtension.", "spryker/log": "Add this module when you want to use the Logger." @@ -42493,9 +42488,9 @@ ], "description": "Security module", "support": { - "source": "https://github.com/spryker/security/tree/1.7.1" + "source": "https://github.com/spryker/security/tree/1.8.0" }, - "time": "2023-01-24T16:01:46+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/security-blocker", @@ -42590,20 +42585,20 @@ }, { "name": "spryker/security-blocker-backoffice-gui", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/security-blocker-backoffice-gui.git", - "reference": "6fb790774528345610125f760ef9df464b1fcbc9" + "reference": "3e40406425d0fa6edb90a5c5074606210440e44e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security-blocker-backoffice-gui/zipball/6fb790774528345610125f760ef9df464b1fcbc9", - "reference": "6fb790774528345610125f760ef9df464b1fcbc9", + "url": "https://api.github.com/repos/spryker/security-blocker-backoffice-gui/zipball/3e40406425d0fa6edb90a5c5074606210440e44e", + "reference": "3e40406425d0fa6edb90a5c5074606210440e44e", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/event-dispatcher-extension": "^1.0.0", "spryker/glossary": "^3.0.0", "spryker/kernel": "^3.30.0", @@ -42638,9 +42633,9 @@ ], "description": "SecurityBlockerBackofficeGui module", "support": { - "source": "https://github.com/spryker/security-blocker-backoffice-gui/tree/1.0.0" + "source": "https://github.com/spryker/security-blocker-backoffice-gui/tree/1.1.0" }, - "time": "2023-03-28T12:28:15+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/security-blocker-extension", @@ -42868,23 +42863,23 @@ }, { "name": "spryker/security-gui", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spryker/security-gui.git", - "reference": "6ed419c3267d56e6bc91abea2268926943c28719" + "reference": "bee29d901c596035d6a5b7001a02034c61c2a14e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security-gui/zipball/6ed419c3267d56e6bc91abea2268926943c28719", - "reference": "6ed419c3267d56e6bc91abea2268926943c28719", + "url": "https://api.github.com/repos/spryker/security-gui/zipball/bee29d901c596035d6a5b7001a02034c61c2a14e", + "reference": "bee29d901c596035d6a5b7001a02034c61c2a14e", "shasum": "" }, "require": { "php": ">=8.1", "spryker/kernel": "^3.30.0", "spryker/messenger": "^3.0.0", - "spryker/security": "^1.3.0", + "spryker/security": "^1.8.0", "spryker/security-blocker": "^1.0.0", "spryker/security-extension": "^1.0.0", "spryker/security-gui-extension": "^1.2.0", @@ -42907,7 +42902,6 @@ "spryker/validator": "*" }, "suggest": { - "spryker/container": "Add this module to use the Container.", "spryker/router": "You need to install this module when you want to use the RouterExtension interfaces." }, "type": "library", @@ -42927,9 +42921,9 @@ ], "description": "SecurityGui module", "support": { - "source": "https://github.com/spryker/security-gui/tree/1.5.0" + "source": "https://github.com/spryker/security-gui/tree/1.6.0" }, - "time": "2023-11-24T22:16:26+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/security-gui-extension", @@ -42974,20 +42968,20 @@ }, { "name": "spryker/security-oauth-user", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/security-oauth-user.git", - "reference": "01d9a998e3c6c09ac75361ccc4e442fda1da5699" + "reference": "becf10b85a6e7b53284b115580b980962b1e0e68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security-oauth-user/zipball/01d9a998e3c6c09ac75361ccc4e442fda1da5699", - "reference": "01d9a998e3c6c09ac75361ccc4e442fda1da5699", + "url": "https://api.github.com/repos/spryker/security-oauth-user/zipball/becf10b85a6e7b53284b115580b980962b1e0e68", + "reference": "becf10b85a6e7b53284b115580b980962b1e0e68", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl": "^3.4.0", "spryker/kernel": "^3.30.0", "spryker/messenger": "^3.0.0", @@ -43009,9 +43003,6 @@ "spryker/session": "*", "spryker/testify": "*" }, - "suggest": { - "spryker/container": "Add this module to use the Container." - }, "type": "library", "extra": { "branch-alias": { @@ -43029,9 +43020,9 @@ ], "description": "SecurityOauthUser module", "support": { - "source": "https://github.com/spryker/security-oauth-user/tree/1.3.0" + "source": "https://github.com/spryker/security-oauth-user/tree/1.4.0" }, - "time": "2023-03-03T10:26:17+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/security-oauth-user-extension", @@ -43076,24 +43067,25 @@ }, { "name": "spryker/security-system-user", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/security-system-user.git", - "reference": "a30d66d05108c3dac8c785e5b42fcdc53f33caf9" + "reference": "65a1cee5a9f89f4b2f270a917071288e2bc8df3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/security-system-user/zipball/a30d66d05108c3dac8c785e5b42fcdc53f33caf9", - "reference": "a30d66d05108c3dac8c785e5b42fcdc53f33caf9", + "url": "https://api.github.com/repos/spryker/security-system-user/zipball/65a1cee5a9f89f4b2f270a917071288e2bc8df3f", + "reference": "65a1cee5a9f89f4b2f270a917071288e2bc8df3f", "shasum": "" }, "require": { - "php": ">=7.3", + "php": ">=8.1", "spryker/kernel": "^3.33.0", "spryker/security-extension": "^1.0.0", "spryker/session-redis-extension": "^1.0.0", "spryker/symfony": "^3.5.0", + "spryker/transfer": "^3.25.0", "spryker/user": "^3.0.0" }, "require-dev": { @@ -43103,11 +43095,9 @@ "spryker/event-dispatcher": "*", "spryker/router": "*", "spryker/security": "*", + "spryker/session": "*", "spryker/testify": "*" }, - "suggest": { - "spryker/container": "Add this module when you want to use the Container." - }, "type": "library", "extra": { "branch-alias": { @@ -43125,9 +43115,9 @@ ], "description": "SecuritySystemUser module", "support": { - "source": "https://github.com/spryker/security-system-user/tree/1.0.0" + "source": "https://github.com/spryker/security-system-user/tree/1.1.0" }, - "time": "2021-08-11T11:07:06+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/sequence-number", @@ -43470,20 +43460,21 @@ }, { "name": "spryker/session-user-validation", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/session-user-validation.git", - "reference": "105d9a5c863a217fd78d524d484def5cfb8c795d" + "reference": "d8aa137b9479f6f9c2e4fa7234c1a3effa914b94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/session-user-validation/zipball/105d9a5c863a217fd78d524d484def5cfb8c795d", - "reference": "105d9a5c863a217fd78d524d484def5cfb8c795d", + "url": "https://api.github.com/repos/spryker/session-user-validation/zipball/d8aa137b9479f6f9c2e4fa7234c1a3effa914b94", + "reference": "d8aa137b9479f6f9c2e4fa7234c1a3effa914b94", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", + "spryker/container": "^1.4.0", "spryker/kernel": "^3.30.0", "spryker/security-extension": "^1.0.0", "spryker/session-user-validation-extension": "^1.0.0", @@ -43492,12 +43483,10 @@ "spryker/user": "^3.17.0" }, "require-dev": { - "spryker/code-sniffer": "*", - "spryker/container": "*" + "spryker/code-sniffer": "*" }, "suggest": { - "spryker/container": "Add this module if you want to use security plugins.N", - "spryker/event-dispatcher": "Add this module if you want to use security plugins.N" + "spryker/event-dispatcher": "Add this module if you want to use security plugins." }, "type": "library", "extra": { @@ -43516,9 +43505,9 @@ ], "description": "SessionUserValidation module", "support": { - "source": "https://github.com/spryker/session-user-validation/tree/1.3.0" + "source": "https://github.com/spryker/session-user-validation/tree/1.4.0" }, - "time": "2023-09-07T10:42:07+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/session-user-validation-extension", @@ -45767,16 +45756,16 @@ }, { "name": "spryker/symfony", - "version": "3.14.0", + "version": "3.15.0", "source": { "type": "git", "url": "https://github.com/spryker/symfony.git", - "reference": "5310f7b7af7de82957a65c637d872e5542e5e702" + "reference": "9eee920faa74a702919def1720196456e085ac5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/symfony/zipball/5310f7b7af7de82957a65c637d872e5542e5e702", - "reference": "5310f7b7af7de82957a65c637d872e5542e5e702", + "url": "https://api.github.com/repos/spryker/symfony/zipball/9eee920faa74a702919def1720196456e085ac5a", + "reference": "9eee920faa74a702919def1720196456e085ac5a", "shasum": "" }, "require": { @@ -45800,10 +45789,10 @@ "symfony/process": "^5.4.0 || ^6.0.0", "symfony/property-access": "^5.4.0 || ^6.0.0", "symfony/routing": "^5.1.0 || ^6.0.0", - "symfony/security-core": "^5.4.21", + "symfony/security-core": "^5.4.21 || ^6.0.0", "symfony/security-csrf": "^5.3.0 || ^6.0.0", - "symfony/security-guard": "^5.4.21", - "symfony/security-http": "^5.4.31", + "symfony/security-guard": "^5.4.0", + "symfony/security-http": "^5.4.31 || ^6.0.0", "symfony/serializer": "^5.0.9 || ^6.0.0", "symfony/stopwatch": "^5.0.9 || ^6.0.0", "symfony/translation": "^5.0.9 || ^6.0.0", @@ -45834,9 +45823,9 @@ ], "description": "Symfony module", "support": { - "source": "https://github.com/spryker/symfony/tree/3.14.0" + "source": "https://github.com/spryker/symfony/tree/3.15.0" }, - "time": "2023-11-13T12:52:16+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/symfony-mailer", @@ -47038,16 +47027,16 @@ }, { "name": "spryker/user", - "version": "3.19.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/spryker/user.git", - "reference": "a9e2d9f5f30a193da6f2b485e0a95c143125db23" + "reference": "5b351d23318437a8fb7223792183798861461049" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/user/zipball/a9e2d9f5f30a193da6f2b485e0a95c143125db23", - "reference": "a9e2d9f5f30a193da6f2b485e0a95c143125db23", + "url": "https://api.github.com/repos/spryker/user/zipball/5b351d23318437a8fb7223792183798861461049", + "reference": "5b351d23318437a8fb7223792183798861461049", "shasum": "" }, "require": { @@ -47082,7 +47071,6 @@ "spryker/zed-navigation": "*" }, "suggest": { - "spryker/container": "If you want to use UserTwigPlugin.", "spryker/installer": "If you want to use Installer plugin.", "spryker/silex": "If you want to use ServiceProvider.", "spryker/twig": "Use this module when using plugins that need Twig dependencies." @@ -47105,9 +47093,9 @@ ], "description": "User module", "support": { - "source": "https://github.com/spryker/user/tree/3.19.0" + "source": "https://github.com/spryker/user/tree/3.20.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-12-21T16:51:01+00:00" }, { "name": "spryker/user-extension", @@ -52867,52 +52855,44 @@ }, { "name": "symfony/security-core", - "version": "v5.4.30", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928" + "reference": "9e24a7199744d944c03fc1448276dc57f6237a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928", - "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928", + "url": "https://api.github.com/repos/symfony/security-core/zipball/9e24a7199744d944c03fc1448276dc57f6237a33", + "reference": "9e24a7199744d944c03fc1448276dc57f6237a33", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^1.1|^2|^3", - "symfony/password-hasher": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1.6|^2|^3" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/event-dispatcher-contracts": "^2.5|^3", + "symfony/password-hasher": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<4.4", - "symfony/http-foundation": "<5.3", - "symfony/ldap": "<4.4", - "symfony/security-guard": "<4.4", - "symfony/validator": "<5.2" + "symfony/event-dispatcher": "<5.4", + "symfony/http-foundation": "<5.4", + "symfony/ldap": "<5.4", + "symfony/security-guard": "<5.4", + "symfony/validator": "<5.4" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "psr/container": "^1.0|^2.0", + "psr/container": "^1.1|^2.0", "psr/log": "^1|^2|^3", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/ldap": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/validator": "^5.2|^6.0" - }, - "suggest": { - "psr/container-implementation": "To instantiate the Security class", - "symfony/event-dispatcher": "", - "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/ldap": "For using LDAP integration", - "symfony/validator": "For using the user password constraint" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/ldap": "^5.4|^6.0|^7.0", + "symfony/string": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -52940,7 +52920,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v5.4.30" + "source": "https://github.com/symfony/security-core/tree/v6.4.0" }, "funding": [ { @@ -52956,7 +52936,7 @@ "type": "tidelift" } ], - "time": "2023-10-27T07:38:28+00:00" + "time": "2023-11-06T17:20:05+00:00" }, { "name": "symfony/security-csrf", @@ -53028,24 +53008,23 @@ }, { "name": "symfony/security-guard", - "version": "v5.4.27", + "version": "v5.4.0-BETA1", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc" + "reference": "80c6fabecc78e40cf2c804f7d2a738d447458471" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc", - "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/80c6fabecc78e40cf2c804f7d2a738d447458471", + "reference": "80c6fabecc78e40cf2c804f7d2a738d447458471", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.15", - "symfony/security-core": "^5.0", - "symfony/security-http": "^5.3" + "symfony/security-core": "^5.0|^6.0", + "symfony/security-http": "^5.3|^6.0" }, "require-dev": { "psr/log": "^1|^2|^3" @@ -53076,7 +53055,7 @@ "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v5.4.27" + "source": "https://github.com/symfony/security-guard/tree/v5.4.0-BETA1" }, "funding": [ { @@ -53092,49 +53071,51 @@ "type": "tidelift" } ], - "time": "2023-07-28T14:44:35+00:00" + "time": "2021-11-03T09:24:47+00:00" }, { "name": "symfony/security-http", - "version": "v5.4.31", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9" + "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9", - "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9", + "url": "https://api.github.com/repos/symfony/security-http/zipball/1b49ad8e9f2c3ceec011d67ac09e774e4107416b", + "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^5.3|^6.0", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-foundation": "^6.2|^7.0", + "symfony/http-kernel": "^6.3|^7.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5", - "symfony/service-contracts": "^1.10|^2|^3" + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<4.3", - "symfony/security-bundle": "<5.3", - "symfony/security-csrf": "<4.4" + "symfony/clock": "<6.3", + "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9", + "symfony/http-client-contracts": "<3.0", + "symfony/security-bundle": "<5.4", + "symfony/security-csrf": "<5.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", - "symfony/security-csrf": "For using tokens to protect authentication/logout attempts" + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.3|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^3.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/security-csrf": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "web-token/jwt-checker": "^3.1", + "web-token/jwt-signature-algorithm-ecdsa": "^3.1" }, "type": "library", "autoload": { @@ -53162,7 +53143,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.4.31" + "source": "https://github.com/symfony/security-http/tree/v6.4.0" }, "funding": [ { @@ -53178,7 +53159,7 @@ "type": "tidelift" } ], - "time": "2023-11-03T16:13:08+00:00" + "time": "2023-11-24T21:18:21+00:00" }, { "name": "symfony/serializer", From d93ee7ef50c54b2773be776c3098ad3e1c769a0d Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Thu, 28 Dec 2023 14:50:38 +0200 Subject: [PATCH 51/64] FRW-5940 Integration plugins --- .../CustomerPageDependencyProvider.php | 4 ++-- .../Security/SecurityDependencyProvider.php | 10 ++++++---- .../ShopApplicationDependencyProvider.php | 8 ++++---- .../Validator/ValidatorDependencyProvider.php | 4 ++-- .../ApplicationDependencyProvider.php | 7 ++++--- .../Security/SecurityDependencyProvider.php | 20 +++++++++---------- .../Validator/ValidatorDependencyProvider.php | 4 ++-- 7 files changed, 30 insertions(+), 27 deletions(-) diff --git a/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php b/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php index 1fb6a71f93..5e4451b353 100644 --- a/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php +++ b/src/Pyz/Yves/CustomerPage/CustomerPageDependencyProvider.php @@ -7,7 +7,7 @@ namespace Pyz\Yves\CustomerPage; -use SprykerShop\Yves\AgentPage\Plugin\FixAgentTokenAfterCustomerAuthenticationSuccessPlugin; +use SprykerShop\Yves\AgentPage\Plugin\Security\UpdateAgentTokenAfterCustomerAuthenticationSuccessPlugin; use SprykerShop\Yves\CustomerPage\CustomerPageDependencyProvider as SprykerShopCustomerPageDependencyProvider; use SprykerShop\Yves\CustomerReorderWidget\Plugin\CustomerPage\CustomerReorderWidgetPlugin; use SprykerShop\Yves\SessionAgentValidation\Plugin\CustomerPage\UpdateAgentSessionAfterCustomerAuthenticationSuccessPlugin; @@ -50,7 +50,7 @@ protected function getCustomerOrderViewWidgetPlugins(): array protected function getAfterCustomerAuthenticationSuccessPlugins(): array { return [ - new FixAgentTokenAfterCustomerAuthenticationSuccessPlugin(), + new UpdateAgentTokenAfterCustomerAuthenticationSuccessPlugin(), new UpdateAgentSessionAfterCustomerAuthenticationSuccessPlugin(), ]; } diff --git a/src/Pyz/Yves/Security/SecurityDependencyProvider.php b/src/Pyz/Yves/Security/SecurityDependencyProvider.php index 6cae77d309..069d96b8ce 100644 --- a/src/Pyz/Yves/Security/SecurityDependencyProvider.php +++ b/src/Pyz/Yves/Security/SecurityDependencyProvider.php @@ -9,8 +9,9 @@ use Spryker\Yves\Security\Plugin\Security\RememberMeSecurityPlugin; use Spryker\Yves\Security\SecurityDependencyProvider as SprykerSecurityDependencyProvider; -use SprykerShop\Yves\AgentPage\Plugin\Security\AgentPageSecurityPlugin; -use SprykerShop\Yves\CustomerPage\Plugin\Security\CustomerPageSecurityPlugin; +use SprykerShop\Yves\AgentPage\Plugin\Security\YvesAgentPageSecurityPlugin; +use SprykerShop\Yves\CustomerPage\Plugin\Security\CustomerRememberMeSecurityPlugin; +use SprykerShop\Yves\CustomerPage\Plugin\Security\YvesCustomerPageSecurityPlugin; use SprykerShop\Yves\SessionAgentValidation\Plugin\Security\SaveAgentSessionSecurityPlugin; use SprykerShop\Yves\SessionAgentValidation\Plugin\Security\SessionAgentValidationSecurityAuthenticationListenerFactoryTypeExpanderPlugin; use SprykerShop\Yves\SessionAgentValidation\Plugin\Security\ValidateAgentSessionSecurityPlugin; @@ -26,8 +27,9 @@ protected function getSecurityPlugins(): array { return [ new RememberMeSecurityPlugin(), - new AgentPageSecurityPlugin(), - new CustomerPageSecurityPlugin(), + new CustomerRememberMeSecurityPlugin(), + new YvesAgentPageSecurityPlugin(), + new YvesCustomerPageSecurityPlugin(), new ValidateCustomerSessionSecurityPlugin(), new SaveCustomerSessionSecurityPlugin(), new ValidateAgentSessionSecurityPlugin(), diff --git a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php index 061089b5e6..5d1831e2b0 100644 --- a/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php +++ b/src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php @@ -13,11 +13,11 @@ use Spryker\Yves\ErrorHandler\Plugin\Application\ErrorHandlerApplicationPlugin; use Spryker\Yves\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin; use Spryker\Yves\Form\Plugin\Application\FormApplicationPlugin; -use Spryker\Yves\Http\Plugin\Application\HttpApplicationPlugin; +use Spryker\Yves\Http\Plugin\Application\YvesHttpApplicationPlugin; use Spryker\Yves\Locale\Plugin\Application\LocaleApplicationPlugin; use Spryker\Yves\Messenger\Plugin\Application\FlashMessengerApplicationPlugin; use Spryker\Yves\Router\Plugin\Application\RouterApplicationPlugin; -use Spryker\Yves\Security\Plugin\Application\SecurityApplicationPlugin; +use Spryker\Yves\Security\Plugin\Application\YvesSecurityApplicationPlugin; use Spryker\Yves\Session\Plugin\Application\SessionApplicationPlugin; use Spryker\Yves\Translator\Plugin\Application\TranslatorApplicationPlugin; use Spryker\Yves\Twig\Plugin\Application\TwigApplicationPlugin; @@ -239,7 +239,7 @@ protected function getFilterControllerEventSubscriberPlugins(): array protected function getApplicationPlugins(): array { $applicationPlugins = [ - new HttpApplicationPlugin(), + new YvesHttpApplicationPlugin(), new TwigApplicationPlugin(), new EventDispatcherApplicationPlugin(), new ShopApplicationApplicationPlugin(), @@ -252,7 +252,7 @@ protected function getApplicationPlugins(): array new FlashMessengerApplicationPlugin(), new FormApplicationPlugin(), new ValidatorApplicationPlugin(), - new SecurityApplicationPlugin(), + new YvesSecurityApplicationPlugin(), new CustomerConfirmationUserCheckerApplicationPlugin(), ]; diff --git a/src/Pyz/Yves/Validator/ValidatorDependencyProvider.php b/src/Pyz/Yves/Validator/ValidatorDependencyProvider.php index a66af2445c..a20a4478f8 100644 --- a/src/Pyz/Yves/Validator/ValidatorDependencyProvider.php +++ b/src/Pyz/Yves/Validator/ValidatorDependencyProvider.php @@ -7,7 +7,7 @@ namespace Pyz\Yves\Validator; -use Spryker\Yves\Security\Plugin\Validator\UserPasswordValidatorConstraintPlugin; +use Spryker\Yves\Security\Plugin\Validator\YvesUserPasswordValidatorConstraintPlugin; use Spryker\Yves\Translator\Plugin\Validator\TranslatorValidatorPlugin; use Spryker\Yves\Validator\Plugin\Validator\ConstraintValidatorFactoryValidatorPlugin; use Spryker\Yves\Validator\Plugin\Validator\MetadataFactoryValidatorPlugin; @@ -33,7 +33,7 @@ protected function getValidatorPlugins(): array protected function getConstraintPlugins(): array { return [ - new UserPasswordValidatorConstraintPlugin(), + new YvesUserPasswordValidatorConstraintPlugin(), ]; } } diff --git a/src/Pyz/Zed/Application/ApplicationDependencyProvider.php b/src/Pyz/Zed/Application/ApplicationDependencyProvider.php index 6d0f39de5b..6111d6a919 100644 --- a/src/Pyz/Zed/Application/ApplicationDependencyProvider.php +++ b/src/Pyz/Zed/Application/ApplicationDependencyProvider.php @@ -24,7 +24,7 @@ use Spryker\Zed\Router\Communication\Plugin\Application\BackendGatewayRouterApplicationPlugin; use Spryker\Zed\Router\Communication\Plugin\Application\BackofficeRouterApplicationPlugin; use Spryker\Zed\Router\Communication\Plugin\Application\RouterApplicationPlugin; -use Spryker\Zed\Security\Communication\Plugin\Application\SecurityApplicationPlugin; +use Spryker\Zed\Security\Communication\Plugin\Application\ZedSecurityApplicationPlugin; use Spryker\Zed\Session\Communication\Plugin\Application\MockArraySessionApplicationPlugin; use Spryker\Zed\Session\Communication\Plugin\Application\SessionApplicationPlugin; use Spryker\Zed\Store\Communication\Plugin\Application\BackofficeStoreApplicationPlugin; @@ -56,7 +56,7 @@ protected function getApplicationPlugins(): array new ErrorHandlerApplicationPlugin(), new FormApplicationPlugin(), new ValidatorApplicationPlugin(), - new SecurityApplicationPlugin(), + new ZedSecurityApplicationPlugin(), new NumberFormatterApplicationPlugin(), new BackofficeStoreApplicationPlugin(), ]; @@ -86,7 +86,7 @@ protected function getBackofficeApplicationPlugins(): array new ErrorHandlerApplicationPlugin(), new FormApplicationPlugin(), new ValidatorApplicationPlugin(), - new SecurityApplicationPlugin(), + new ZedSecurityApplicationPlugin(), new NumberFormatterApplicationPlugin(), new BackofficeStoreApplicationPlugin(), ]; @@ -103,6 +103,7 @@ protected function getBackofficeApplicationPlugins(): array protected function getBackendGatewayApplicationPlugins(): array { return [ + new ZedSecurityApplicationPlugin(), new BackendGatewayEventDispatcherApplicationPlugin(), new RequestBackendGatewayApplicationPlugin(), new StoreBackendGatewayApplicationPlugin(), diff --git a/src/Pyz/Zed/Security/SecurityDependencyProvider.php b/src/Pyz/Zed/Security/SecurityDependencyProvider.php index e444a0a6e1..c8d69c3077 100644 --- a/src/Pyz/Zed/Security/SecurityDependencyProvider.php +++ b/src/Pyz/Zed/Security/SecurityDependencyProvider.php @@ -8,12 +8,12 @@ namespace Pyz\Zed\Security; use Spryker\Zed\Security\SecurityDependencyProvider as SprykerSecurityDependencyProvider; -use Spryker\Zed\SecurityGui\Communication\Plugin\Security\UserSecurityPlugin; -use Spryker\Zed\SecurityOauthUser\Communication\Plugin\Security\OauthUserSecurityPlugin; -use Spryker\Zed\SecuritySystemUser\Communication\Plugin\Security\SystemUserSecurityPlugin; +use Spryker\Zed\SecurityGui\Communication\Plugin\Security\ZedUserSecurityPlugin; +use Spryker\Zed\SecurityOauthUser\Communication\Plugin\Security\ZedOauthUserSecurityPlugin; +use Spryker\Zed\SecuritySystemUser\Communication\Plugin\Security\ZedSystemUserSecurityPlugin; use Spryker\Zed\SessionUserValidation\Communication\Plugin\Security\SaveSessionUserSecurityPlugin; -use Spryker\Zed\SessionUserValidation\Communication\Plugin\Security\ValidateSessionUserSecurityPlugin; -use Spryker\Zed\User\Communication\Plugin\Security\UserSessionHandlerSecurityPlugin; +use Spryker\Zed\SessionUserValidation\Communication\Plugin\Security\ZedValidateSessionUserSecurityPlugin; +use Spryker\Zed\User\Communication\Plugin\Security\ZedUserSessionHandlerSecurityPlugin; class SecurityDependencyProvider extends SprykerSecurityDependencyProvider { @@ -23,11 +23,11 @@ class SecurityDependencyProvider extends SprykerSecurityDependencyProvider protected function getSecurityPlugins(): array { return [ - new UserSessionHandlerSecurityPlugin(), - new SystemUserSecurityPlugin(), - new UserSecurityPlugin(), - new OauthUserSecurityPlugin(), - new ValidateSessionUserSecurityPlugin(), + new ZedUserSessionHandlerSecurityPlugin(), + new ZedSystemUserSecurityPlugin(), + new ZedUserSecurityPlugin(), + new ZedOauthUserSecurityPlugin(), + new ZedValidateSessionUserSecurityPlugin(), new SaveSessionUserSecurityPlugin(), ]; } diff --git a/src/Pyz/Zed/Validator/ValidatorDependencyProvider.php b/src/Pyz/Zed/Validator/ValidatorDependencyProvider.php index fedd4de979..6b9a331ff2 100644 --- a/src/Pyz/Zed/Validator/ValidatorDependencyProvider.php +++ b/src/Pyz/Zed/Validator/ValidatorDependencyProvider.php @@ -7,7 +7,7 @@ namespace Pyz\Zed\Validator; -use Spryker\Zed\Security\Communication\Plugin\Validator\UserPasswordValidatorConstraintPlugin; +use Spryker\Zed\Security\Communication\Plugin\Validator\ZedUserPasswordValidatorConstraintPlugin; use Spryker\Zed\Translator\Communication\Plugin\Validator\TranslatorValidatorPlugin; use Spryker\Zed\Validator\Communication\Plugin\Validator\ConstraintFactoryValidatorPlugin; use Spryker\Zed\Validator\Communication\Plugin\Validator\MetadataFactoryValidatorPlugin; @@ -33,7 +33,7 @@ protected function getValidatorPlugins(): array protected function getConstraintPlugins(): array { return [ - new UserPasswordValidatorConstraintPlugin(), + new ZedUserPasswordValidatorConstraintPlugin(), ]; } } From 3790eda689fd0f7f2b07614c6204b98292bdb0a7 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Thu, 28 Dec 2023 17:24:58 +0200 Subject: [PATCH 52/64] FRW-5940 Updated composer.lock --- composer.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index 7de05c884d..6e471697f2 100644 --- a/composer.lock +++ b/composer.lock @@ -60106,7 +60106,7 @@ "source": { "type": "git", "url": "https://github.com/spryker/robotframework-suite-tests.git", - "reference": "af5db7741486bf4b9e2b771a9c1f04a1856d455b" + "reference": "70c8f6bc177770a27c684a0b43f623bb110543f0" }, "default-branch": true, "type": "library", @@ -60114,7 +60114,7 @@ "MIT" ], "description": "Automated tests for the Robot Framework", - "time": "2023-11-28T09:20:43+00:00" + "time": "2023-12-28T10:46:25+00:00" }, { "name": "spryker/testify", From 45f878598e12588a31a3936387c965b5bc8ec76b Mon Sep 17 00:00:00 2001 From: upgrader Date: Wed, 3 Jan 2024 13:45:36 +0000 Subject: [PATCH 53/64] Applied release group `CC-31953 Introduced a basic infrastructure for the Glue BAPI E2E testing.`, RG link https://api.release.spryker.com/release-group/5204 --- composer.lock | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/composer.lock b/composer.lock index 6e471697f2..6cbbd21d11 100644 --- a/composer.lock +++ b/composer.lock @@ -14854,20 +14854,20 @@ }, { "name": "spryker/authentication-oauth", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/spryker/authentication-oauth.git", - "reference": "0d7d29d61082569a826522a370a188e6452e6fa7" + "reference": "42f0ce3e87a5bb75a8c4f4dfdac46c81940635dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/authentication-oauth/zipball/0d7d29d61082569a826522a370a188e6452e6fa7", - "reference": "0d7d29d61082569a826522a370a188e6452e6fa7", + "url": "https://api.github.com/repos/spryker/authentication-oauth/zipball/42f0ce3e87a5bb75a8c4f4dfdac46c81940635dc", + "reference": "42f0ce3e87a5bb75a8c4f4dfdac46c81940635dc", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/authentication-extension": "^1.0.0", "spryker/kernel": "^3.66.0", "spryker/oauth": "^2.4.0", @@ -14892,7 +14892,8 @@ }, "autoload": { "psr-4": { - "Spryker\\": "src/Spryker/" + "Spryker\\": "src/Spryker/", + "SprykerTest\\Shared\\AuthenticationOauth\\Helper\\": "tests/SprykerTest/Shared/AuthenticationOauth/_support/Helper/" } }, "notification-url": "https://packagist.org/downloads/", @@ -14901,9 +14902,9 @@ ], "description": "AuthenticationOauth module", "support": { - "source": "https://github.com/spryker/authentication-oauth/tree/1.0.1" + "source": "https://github.com/spryker/authentication-oauth/tree/1.1.0" }, - "time": "2023-03-31T19:36:11+00:00" + "time": "2023-12-29T09:21:43+00:00" }, { "name": "spryker/authorization", @@ -60118,16 +60119,16 @@ }, { "name": "spryker/testify", - "version": "3.50.0", + "version": "3.52.0", "source": { "type": "git", "url": "https://github.com/spryker/testify.git", - "reference": "b14eb30fc58a987d3e600cf0af604478e7c1ecb1" + "reference": "685ef0decd19dfc9bf21a5144bff7296ca238541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/testify/zipball/b14eb30fc58a987d3e600cf0af604478e7c1ecb1", - "reference": "b14eb30fc58a987d3e600cf0af604478e7c1ecb1", + "url": "https://api.github.com/repos/spryker/testify/zipball/685ef0decd19dfc9bf21a5144bff7296ca238541", + "reference": "685ef0decd19dfc9bf21a5144bff7296ca238541", "shasum": "" }, "require": { @@ -60135,7 +60136,7 @@ "dms/phpunit-arraysubset-asserts": "^0.4.0", "fakerphp/faker": "^1.16.0", "mikey179/vfsstream": "^1.6.7", - "php": ">=8.0", + "php": ">=8.1", "spryker/application": "^3.12.0", "spryker/application-extension": "^1.0.0", "spryker/config": "^3.5.0", @@ -60156,7 +60157,8 @@ "spryker/json-schema": "^1.0.0", "spryker/propel-orm": "*", "spryker/silex": "*", - "spryker/twig": "^3.0.0" + "spryker/twig": "^3.0.0", + "symfony/dom-crawler": "*" }, "suggest": { "spryker/silex": "Add this when you still want to use the abandoned Silex." @@ -60189,9 +60191,9 @@ ], "description": "Testify module", "support": { - "source": "https://github.com/spryker/testify/tree/3.50.0" + "source": "https://github.com/spryker/testify/tree/3.52.0" }, - "time": "2023-09-18T09:59:00+00:00" + "time": "2023-12-29T09:21:43+00:00" }, { "name": "spryker/web-profiler", From b4b7b17fa8443f3e237e46ba8043c9a1ec1be72b Mon Sep 17 00:00:00 2001 From: Denys Sokolov Date: Wed, 3 Jan 2024 15:14:58 +0100 Subject: [PATCH 54/64] CC-31953: Introduced a basic infrastructure for the Glue BAPI E2E testing. --- composer.json | 4 ++-- composer.lock | 12 ++++++++++-- config/Shared/config_default-ci.php | 8 +++++++- config/Shared/config_default-docker.dev.php | 13 ++++++++++++- config/Shared/config_default.php | 14 ++++++++++++-- 5 files changed, 43 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 5a57b0c022..f2a68ad994 100644 --- a/composer.json +++ b/composer.json @@ -60,7 +60,7 @@ "spryker-feature/scheduled-prices": "^202311.0", "spryker-feature/search": "^202311.0", "spryker-feature/shipment": "dev-master as 202403.0", - "spryker-feature/spryker-core": "^202311.0", + "spryker-feature/spryker-core": "dev-master as 202403.0", "spryker-feature/spryker-core-back-office": "dev-master as 202403.0", "spryker-feature/state-machine": "^202311.0", "spryker-feature/tax": "^202311.0", @@ -246,7 +246,7 @@ "spryker/docker-chromedriver": "dev-master", "spryker/profiler": "^0.1.1", "spryker/robotframework-suite-tests": "dev-master", - "spryker/testify": "^3.49.0", + "spryker/testify": "^3.52.0", "stecman/symfony-console-completion": "*", "symfony/web-profiler-bundle": "*" }, diff --git a/composer.lock b/composer.lock index 6cbbd21d11..7d01b1baae 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": "b538ecdebc7a66870aa11714d75ced07", + "content-hash": "022be70cd8ea5343d8c330bb9b3e7e23", "packages": [ { "name": "async-aws/core", @@ -6725,7 +6725,7 @@ }, { "name": "spryker-feature/spryker-core", - "version": "202311.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/spryker-feature/spryker-core.git", @@ -6821,6 +6821,7 @@ "spryker/vault": "^1.2.0", "spryker/zed-request": "^3.20.0" }, + "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -60854,6 +60855,12 @@ "alias": "202403.0", "alias_normalized": "202403.0" }, + { + "package": "spryker-feature/spryker-core", + "version": "9999999-dev", + "alias": "202403.0", + "alias_normalized": "202403.0" + }, { "package": "spryker-feature/spryker-core-back-office", "version": "9999999-dev", @@ -60866,6 +60873,7 @@ "spryker-feature/category-management": 20, "spryker-feature/customer-account-management": 20, "spryker-feature/shipment": 20, + "spryker-feature/spryker-core": 20, "spryker-feature/spryker-core-back-office": 20, "spryker/docker-chromedriver": 20, "spryker/robotframework-suite-tests": 20 diff --git a/config/Shared/config_default-ci.php b/config/Shared/config_default-ci.php index 73c7c66ab4..960888da97 100644 --- a/config/Shared/config_default-ci.php +++ b/config/Shared/config_default-ci.php @@ -54,6 +54,8 @@ $backendGatewayHost = $dynamicStoreEnabled ? 'backend-gateway.eu.spryker.test' : 'backend-gateway.de.spryker.test'; $backendApiHost = $dynamicStoreEnabled ? 'backend-api.eu.spryker.test' : 'backend-api.de.spryker.test'; +$isTestifyConstantsClassExists = class_exists(TestifyConstants::class); + // ---------------------------------------------------------------------------- // ------------------------------ CODEBASE ------------------------------------ // ---------------------------------------------------------------------------- @@ -256,7 +258,7 @@ $glueHost, ); -if (class_exists(TestifyConstants::class)) { +if ($isTestifyConstantsClassExists) { $config[TestifyConstants::GLUE_APPLICATION_DOMAIN] = $config[GlueApplicationConstants::GLUE_APPLICATION_DOMAIN]; } @@ -293,6 +295,10 @@ 'Pyz', ]; +if ($isTestifyConstantsClassExists) { + $config[TestifyConstants::GLUE_BACKEND_API_DOMAIN] = sprintf('http://%s', $glueBackendHost); +} + // ---------------------------------------------------------------------------- // ------------------------------ Glue Storefront API ------------------------------- // ---------------------------------------------------------------------------- diff --git a/config/Shared/config_default-docker.dev.php b/config/Shared/config_default-docker.dev.php index 0d54b80d76..083f8a0dc9 100644 --- a/config/Shared/config_default-docker.dev.php +++ b/config/Shared/config_default-docker.dev.php @@ -90,6 +90,8 @@ $config[ZedRequestConstants::TRANSFER_DEBUG_SESSION_FORWARD_ENABLED] = (bool)getenv('SPRYKER_DEBUG_ENABLED'); $config[ZedRequestConstants::SET_REPEAT_DATA] = (bool)getenv('SPRYKER_DEBUG_ENABLED'); +$isTestifyConstantsClassExists = class_exists(TestifyConstants::class); + if (!getenv('SPRYKER_SSL_ENABLE')) { // ---------------------------------------------------------------------------- // ------------------------------ SECURITY ------------------------------------ @@ -142,7 +144,7 @@ $gluePort !== 80 ? ':' . $gluePort : '', ); - if (class_exists(TestifyConstants::class, true)) { + if ($isTestifyConstantsClassExists) { $config[TestifyConstants::GLUE_APPLICATION_DOMAIN] = $config[GlueApplicationConstants::GLUE_APPLICATION_DOMAIN]; } } @@ -164,11 +166,20 @@ // ------------------------------ Glue Backend API ------------------------------- // ---------------------------------------------------------------------------- $sprykerGlueBackendHost = getenv('SPRYKER_GLUE_BACKEND_HOST'); +$sprykerGlueBackendPort = (int)(getenv('SPRYKER_GLUE_BACKEND_PORT')) ?: 80; $config[GlueBackendApiApplicationConstants::GLUE_BACKEND_API_HOST] = $sprykerGlueBackendHost; $config[GlueBackendApiApplicationConstants::PROJECT_NAMESPACES] = [ 'Pyz', ]; +if ($isTestifyConstantsClassExists) { + $config[TestifyConstants::GLUE_BACKEND_API_DOMAIN] = sprintf( + 'http://%s%s', + $sprykerGlueBackendHost, + $sprykerGlueBackendPort !== 80 ? ':' . $sprykerGlueBackendPort : '', + ); +} + // ---------------------------------------------------------------------------- // ------------------------------ Glue Storefront API ------------------------------- // ---------------------------------------------------------------------------- diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 3366d7a8ea..dfd29438e0 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -187,8 +187,9 @@ ]; // >>> TESTING +$isTestifyConstantsClassExists = class_exists(TestifyConstants::class); -if (class_exists(TestifyConstants::class)) { +if ($isTestifyConstantsClassExists) { $config[TestifyConstants::GLUE_OPEN_API_SCHEMA] = APPLICATION_SOURCE_DIR . '/Generated/Glue/Specification/spryker_rest_api.schema.yml'; $config[TestifyConstants::BOOTSTRAP_CLASS_YVES] = YvesBootstrap::class; $config[TestifyConstants::BOOTSTRAP_CLASS_ZED] = ZedBootstrap::class; @@ -643,7 +644,7 @@ $gluePort !== 443 ? ':' . $gluePort : '', ); -if (class_exists(TestifyConstants::class)) { +if ($isTestifyConstantsClassExists) { $config[TestifyConstants::GLUE_APPLICATION_DOMAIN] = $config[GlueApplicationConstants::GLUE_APPLICATION_DOMAIN]; } @@ -794,12 +795,21 @@ // ------------------------------ Glue Backend API ------------------------------- // ---------------------------------------------------------------------------- $sprykerGlueBackendHost = getenv('SPRYKER_GLUE_BACKEND_HOST'); +$sprykerGlueBackendPort = (int)(getenv('SPRYKER_GLUE_BACKEND_PORT')) ?: 443; $config[GlueBackendApiApplicationConstants::GLUE_BACKEND_API_HOST] = $sprykerGlueBackendHost; $config[GlueBackendApiApplicationConstants::PROJECT_NAMESPACES] = [ 'Pyz', ]; $config[GlueBackendApiApplicationConstants::GLUE_BACKEND_CORS_ALLOW_ORIGIN] = getenv('SPRYKER_GLUE_APPLICATION_CORS_ALLOW_ORIGIN') ?: '*'; +if ($isTestifyConstantsClassExists) { + $config[TestifyConstants::GLUE_BACKEND_API_DOMAIN] = sprintf( + 'https://%s%s', + $sprykerGlueBackendHost, + $sprykerGlueBackendPort !== 443 ? ':' . $sprykerGlueBackendPort : '', + ); +} + // ---------------------------------------------------------------------------- // ------------------------------ Glue Storefront API ------------------------------- // ---------------------------------------------------------------------------- From db3ff35f074020aaf3c404fd0fe8c0d2fc294ed5 Mon Sep 17 00:00:00 2001 From: upgrader Date: Fri, 5 Jan 2024 14:10:07 +0000 Subject: [PATCH 55/64] Applied release group `Fixed address mappings in checkout, checkout-data endpoints.`, RG link https://api.release.spryker.com/release-group/5227 --- composer.lock | 72 ++++++++++--------- .../CheckoutRestApiDependencyProvider.php | 2 + .../CustomersRestApiConfig.php | 29 ++++++++ .../CheckoutRestApiDependencyProvider.php | 4 +- 4 files changed, 70 insertions(+), 37 deletions(-) create mode 100644 src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php diff --git a/composer.lock b/composer.lock index 7d01b1baae..9f24ac5c09 100644 --- a/composer.lock +++ b/composer.lock @@ -22386,20 +22386,20 @@ }, { "name": "spryker/country", - "version": "4.1.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/spryker/country.git", - "reference": "98885772899f19fb0296734bd466db01ad7b4180" + "reference": "8fa56d4e33f2d42e272e5a8538e9491d2344539d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/country/zipball/98885772899f19fb0296734bd466db01ad7b4180", - "reference": "98885772899f19fb0296734bd466db01ad7b4180", + "url": "https://api.github.com/repos/spryker/country/zipball/8fa56d4e33f2d42e272e5a8538e9491d2344539d", + "reference": "8fa56d4e33f2d42e272e5a8538e9491d2344539d", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl-merchant-portal-extension": "^1.0.0", "spryker/checkout-rest-api-extension": "^1.2.0", "spryker/gui": "^3.0.0", @@ -22439,9 +22439,9 @@ ], "description": "Country module", "support": { - "source": "https://github.com/spryker/country/tree/4.1.0" + "source": "https://github.com/spryker/country/tree/4.2.0" }, - "time": "2023-05-04T11:09:49+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/country-data-import", @@ -22786,16 +22786,16 @@ }, { "name": "spryker/customer", - "version": "7.55.0", + "version": "7.55.1", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca" + "reference": "b17fa1926524af1e88b3503d2751b50b08ab0258" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", - "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", + "url": "https://api.github.com/repos/spryker/customer/zipball/b17fa1926524af1e88b3503d2751b50b08ab0258", + "reference": "b17fa1926524af1e88b3503d2751b50b08ab0258", "shasum": "" }, "require": { @@ -22862,9 +22862,9 @@ ], "description": "Customer module", "support": { - "source": "https://github.com/spryker/customer/tree/7.55.0" + "source": "https://github.com/spryker/customer/tree/7.55.1" }, - "time": "2023-12-21T16:51:01+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/customer-access", @@ -23537,20 +23537,20 @@ }, { "name": "spryker/customers-rest-api", - "version": "1.21.2", + "version": "1.22.0", "source": { "type": "git", "url": "https://github.com/spryker/customers-rest-api.git", - "reference": "d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e" + "reference": "06ffb3f50b48382c093474d42bc441e46d4ddf5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customers-rest-api/zipball/d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e", - "reference": "d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e", + "url": "https://api.github.com/repos/spryker/customers-rest-api/zipball/06ffb3f50b48382c093474d42bc441e46d4ddf5f", + "reference": "06ffb3f50b48382c093474d42bc441e46d4ddf5f", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/checkout-rest-api-extension": "^1.5.0", "spryker/customer": "^7.30.0", "spryker/customers-rest-api-extension": "^1.1.0", @@ -23562,10 +23562,12 @@ "spryker/session": "^3.2.0 || ^4.0.0", "spryker/shipments-rest-api-extension": "^1.0.0", "spryker/symfony": "^3.0.0", + "spryker/util-text": "^1.1.0", "spryker/uuid-behavior": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/container": "*", "spryker/testify": "*" }, "suggest": { @@ -23591,9 +23593,9 @@ ], "description": "CustomersRestApi module", "support": { - "source": "https://github.com/spryker/customers-rest-api/tree/1.21.2" + "source": "https://github.com/spryker/customers-rest-api/tree/1.22.0" }, - "time": "2022-12-29T12:04:01+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/customers-rest-api-extension", @@ -44324,20 +44326,20 @@ }, { "name": "spryker/shipments-rest-api", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/spryker/shipments-rest-api.git", - "reference": "3e15d511a9e0010f9a34349bf186e7ea35c42165" + "reference": "fa12d576503e281a2dfce4852fcf292e6e9ee841" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipments-rest-api/zipball/3e15d511a9e0010f9a34349bf186e7ea35c42165", - "reference": "3e15d511a9e0010f9a34349bf186e7ea35c42165", + "url": "https://api.github.com/repos/spryker/shipments-rest-api/zipball/fa12d576503e281a2dfce4852fcf292e6e9ee841", + "reference": "fa12d576503e281a2dfce4852fcf292e6e9ee841", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/checkout-rest-api-extension": "^1.5.0", "spryker/glue-application": "^1.0.0", "spryker/glue-application-extension": "^1.0.0", @@ -44345,7 +44347,7 @@ "spryker/orders-rest-api-extension": "^1.1.0", "spryker/quote-requests-rest-api-extension": "^1.0.0", "spryker/shipment": "^6.11.0 || ^7.4.0 || ^8.17.0", - "spryker/shipments-rest-api-extension": "^1.2.0", + "spryker/shipments-rest-api-extension": "^1.3.0", "spryker/symfony": "^3.3.0", "spryker/transfer": "^3.27.0" }, @@ -44373,26 +44375,26 @@ ], "description": "ShipmentsRestApi module", "support": { - "source": "https://github.com/spryker/shipments-rest-api/tree/1.12.0" + "source": "https://github.com/spryker/shipments-rest-api/tree/1.13.0" }, - "time": "2023-11-01T10:06:20+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/shipments-rest-api-extension", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/shipments-rest-api-extension.git", - "reference": "93f9f65d3f52ce600726a2d134593ec33e6626dd" + "reference": "bfc42100139fb7b254121b87ba0521647ea26fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipments-rest-api-extension/zipball/93f9f65d3f52ce600726a2d134593ec33e6626dd", - "reference": "93f9f65d3f52ce600726a2d134593ec33e6626dd", + "url": "https://api.github.com/repos/spryker/shipments-rest-api-extension/zipball/bfc42100139fb7b254121b87ba0521647ea26fca", + "reference": "bfc42100139fb7b254121b87ba0521647ea26fca", "shasum": "" }, "require": { - "php": ">=8.0" + "php": ">=8.1" }, "require-dev": { "spryker/code-sniffer": "*" @@ -44414,9 +44416,9 @@ ], "description": "ShipmentsRestApiExtension module", "support": { - "source": "https://github.com/spryker/shipments-rest-api-extension/tree/1.2.0" + "source": "https://github.com/spryker/shipments-rest-api-extension/tree/1.3.0" }, - "time": "2023-11-01T10:06:20+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/shopping-list-extension", diff --git a/src/Pyz/Glue/CheckoutRestApi/CheckoutRestApiDependencyProvider.php b/src/Pyz/Glue/CheckoutRestApi/CheckoutRestApiDependencyProvider.php index f9fe6e0ff6..8b9a44d74f 100644 --- a/src/Pyz/Glue/CheckoutRestApi/CheckoutRestApiDependencyProvider.php +++ b/src/Pyz/Glue/CheckoutRestApi/CheckoutRestApiDependencyProvider.php @@ -9,6 +9,7 @@ use Spryker\Glue\CheckoutRestApi\CheckoutRestApiDependencyProvider as SprykerCheckoutRestApiDependencyProvider; use Spryker\Glue\CheckoutRestApi\Plugin\SinglePaymentCheckoutRequestAttributesValidatorPlugin; +use Spryker\Glue\CustomersRestApi\Plugin\CheckoutRestApi\BillingAddressCheckoutRequestAttributesValidatorPlugin; use Spryker\Glue\PaymentsRestApi\Plugin\CheckoutRestApi\SelectedPaymentMethodCheckoutDataResponseMapperPlugin; use Spryker\Glue\ShipmentsRestApi\Plugin\CheckoutRestApi\AddressSourceCheckoutRequestValidatorPlugin; use Spryker\Glue\ShipmentsRestApi\Plugin\CheckoutRestApi\ShipmentDataCheckoutRequestValidatorPlugin; @@ -22,6 +23,7 @@ protected function getCheckoutRequestAttributesValidatorPlugins(): array { return [ new SinglePaymentCheckoutRequestAttributesValidatorPlugin(), + new BillingAddressCheckoutRequestAttributesValidatorPlugin(), ]; } diff --git a/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php b/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php new file mode 100644 index 0000000000..68011f5c5f --- /dev/null +++ b/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php @@ -0,0 +1,29 @@ + + */ + public function getBillingAddressFieldsToSkipValidation(): array + { + return array_merge(parent::getBillingAddressFieldsToSkipValidation(), [ + RestAddressTransfer::ID_COMPANY_BUSINESS_UNIT_ADDRESS, + ]); + } +} diff --git a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiDependencyProvider.php b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiDependencyProvider.php index 766412c500..cf307beb7f 100644 --- a/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiDependencyProvider.php +++ b/src/Pyz/Zed/CheckoutRestApi/CheckoutRestApiDependencyProvider.php @@ -8,7 +8,7 @@ namespace Pyz\Zed\CheckoutRestApi; use Spryker\Zed\CheckoutRestApi\CheckoutRestApiDependencyProvider as SprykerCheckoutRestApiDependencyProvider; -use Spryker\Zed\Country\Communication\Plugin\CheckoutRestApi\CountryCheckoutDataValidatorPlugin; +use Spryker\Zed\Country\Communication\Plugin\CheckoutRestApi\CountriesCheckoutDataValidatorPlugin; use Spryker\Zed\CustomersRestApi\Communication\Plugin\CheckoutRestApi\AddressQuoteMapperPlugin; use Spryker\Zed\CustomersRestApi\Communication\Plugin\CheckoutRestApi\CustomerAddressCheckoutDataValidatorPlugin; use Spryker\Zed\CustomersRestApi\Communication\Plugin\CheckoutRestApi\CustomerQuoteMapperPlugin; @@ -43,10 +43,10 @@ protected function getQuoteMapperPlugins(): array protected function getCheckoutDataValidatorPlugins(): array { return [ - new CountryCheckoutDataValidatorPlugin(), new ShipmentMethodCheckoutDataValidatorPlugin(), new ItemsCheckoutDataValidatorPlugin(), new CustomerAddressCheckoutDataValidatorPlugin(), + new CountriesCheckoutDataValidatorPlugin(), ]; } From ec1223d36537849caef0753254b910a30eb23489 Mon Sep 17 00:00:00 2001 From: Pavel Maksimov <82393959+pavelmaksimov25@users.noreply.github.com> Date: Fri, 5 Jan 2024 15:41:39 +0100 Subject: [PATCH 56/64] SDK-5711: Updated `evaluator` dependency. --- composer.json | 2 +- composer.lock | 655 +++++++++++++++++++++++++------------------------- 2 files changed, 328 insertions(+), 329 deletions(-) diff --git a/composer.json b/composer.json index f2a68ad994..bddc05a0ae 100644 --- a/composer.json +++ b/composer.json @@ -239,7 +239,7 @@ "spryker-feature/development-tools": "^202311.0", "spryker-sdk/benchmark": "^0.2.2", "spryker-sdk/composer-constrainer": "^0.2.6", - "spryker-sdk/evaluator": "^0.1.9", + "spryker-sdk/evaluator": "^0.2.1", "spryker-sdk/phpstan-spryker": "^0.4.0", "spryker/architecture-sniffer": "^0.5.5", "spryker/code-sniffer": "^0.17.18", diff --git a/composer.lock b/composer.lock index 7d01b1baae..4dff762950 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": "022be70cd8ea5343d8c330bb9b3e7e23", + "content-hash": "0f599dcff6408468feea46dced220ec1", "packages": [ { "name": "async-aws/core", @@ -1307,16 +1307,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", "shasum": "" }, "require": { @@ -1331,11 +1331,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1413,7 +1413,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.0" + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" }, "funding": [ { @@ -1429,28 +1429,28 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:20:53+00:00" + "time": "2023-12-03T20:35:24+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d" + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "type": "library", "extra": { @@ -1496,7 +1496,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.1" + "source": "https://github.com/guzzle/promises/tree/2.0.2" }, "funding": [ { @@ -1512,20 +1512,20 @@ "type": "tidelift" } ], - "time": "2023-08-03T15:11:55+00:00" + "time": "2023-12-03T20:19:20+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.1", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { @@ -1539,9 +1539,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1612,7 +1612,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.1" + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { @@ -1628,7 +1628,7 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:13:57+00:00" + "time": "2023-12-03T20:05:35+00:00" }, { "name": "justinrainbow/json-schema", @@ -1830,16 +1830,16 @@ }, { "name": "laminas/laminas-filter", - "version": "2.33.0", + "version": "2.34.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-filter.git", - "reference": "6ad64828d25ec4bdf226ec5096aabb04aa710324" + "reference": "008923542683d853109af5c71b7e9099de76c3e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/6ad64828d25ec4bdf226ec5096aabb04aa710324", - "reference": "6ad64828d25ec4bdf226ec5096aabb04aa710324", + "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/008923542683d853109af5c71b7e9099de76c3e6", + "reference": "008923542683d853109af5c71b7e9099de76c3e6", "shasum": "" }, "require": { @@ -1854,14 +1854,14 @@ }, "require-dev": { "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-crypt": "^3.10", - "laminas/laminas-i18n": "^2.23.1", + "laminas/laminas-crypt": "^3.11", + "laminas/laminas-i18n": "^2.25.0", "laminas/laminas-uri": "^2.11", "pear/archive_tar": "^1.4.14", - "phpunit/phpunit": "^10.4.2", + "phpunit/phpunit": "^10.5.5", "psalm/plugin-phpunit": "^0.18.4", "psr/http-factory": "^1.0.2", - "vimeo/psalm": "^5.15.0" + "vimeo/psalm": "^5.18.0" }, "suggest": { "laminas/laminas-crypt": "Laminas\\Crypt component, for encryption filters", @@ -1905,7 +1905,7 @@ "type": "community_bridge" } ], - "time": "2023-11-03T13:29:10+00:00" + "time": "2024-01-04T11:47:08+00:00" }, { "name": "laminas/laminas-servicemanager", @@ -7071,16 +7071,16 @@ }, { "name": "spryker-sdk/evaluator", - "version": "0.1.15", + "version": "0.2.1", "source": { "type": "git", "url": "https://github.com/spryker-sdk/evaluator.git", - "reference": "cdd63f1a0b44ec82f37d1644f9981cf93d9a357a" + "reference": "be96e940dae52d9197edd589517ec79da0cb9456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-sdk/evaluator/zipball/cdd63f1a0b44ec82f37d1644f9981cf93d9a357a", - "reference": "cdd63f1a0b44ec82f37d1644f9981cf93d9a357a", + "url": "https://api.github.com/repos/spryker-sdk/evaluator/zipball/be96e940dae52d9197edd589517ec79da0cb9456", + "reference": "be96e940dae52d9197edd589517ec79da0cb9456", "shasum": "" }, "require": { @@ -7089,21 +7089,21 @@ "ext-iconv": "*", "ext-json": "*", "guzzlehttp/guzzle": "^7.5", - "php": ">=7.4", + "php": ">=8.0", "spryker-sdk/security-checker": "^0.2.0", - "spryker-sdk/utils": "^0.1.1", - "symfony/console": "^5.4|^6.0", - "symfony/dotenv": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", + "spryker-sdk/utils": "^0.2.1", + "symfony/console": "^6.0", + "symfony/dotenv": "^6.0", + "symfony/filesystem": "^6.0", "symfony/flex": "^1.17|^2", - "symfony/framework-bundle": "^5.4|^6.0", + "symfony/framework-bundle": "^6.0", "symfony/monolog-bundle": "^3.8", - "symfony/process": "^5.4|^6.0", - "symfony/runtime": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "symfony/process": "^6.0", + "symfony/runtime": "^6.0", + "symfony/serializer": "^6.0", + "symfony/stopwatch": "^6.0", + "symfony/uid": "^6.0", + "symfony/yaml": "^6.0" }, "conflict": { "symfony/symfony": "*" @@ -7125,7 +7125,7 @@ "extra": { "symfony": { "allow-contrib": false, - "require": "^5.4|^6.0" + "require": "^6.0" } }, "autoload": { @@ -7140,9 +7140,9 @@ "description": "The tool for evaluating Spryker shops", "support": { "issues": "https://github.com/spryker-sdk/evaluator/issues", - "source": "https://github.com/spryker-sdk/evaluator/tree/0.1.15" + "source": "https://github.com/spryker-sdk/evaluator/tree/0.2.1" }, - "time": "2023-11-16T15:12:17+00:00" + "time": "2024-01-05T10:52:46+00:00" }, { "name": "spryker-sdk/security-checker", @@ -7194,33 +7194,32 @@ }, { "name": "spryker-sdk/utils", - "version": "0.1.1", + "version": "0.2.2", "source": { "type": "git", "url": "https://github.com/spryker-sdk/utils.git", - "reference": "1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa" + "reference": "2ea6418e3272c92ee8ad010e4aab0263daa62ba3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker-sdk/utils/zipball/1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa", - "reference": "1b0b9da1700df2d6b2bd30c49d15f0cadf30cbfa", + "url": "https://api.github.com/repos/spryker-sdk/utils/zipball/2ea6418e3272c92ee8ad010e4aab0263daa62ba3", + "reference": "2ea6418e3272c92ee8ad010e4aab0263daa62ba3", "shasum": "" }, "require": { - "composer/semver": "^3.3", + "composer/semver": "^3.4", "ext-mbstring": "*", - "laminas/laminas-filter": "^2.11.0", - "php": ">=7.4", + "php": ">=8.0", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/filesystem": "^5.3.0 || ^6.0.0", - "symfony/finder": "^5.3.0 || ^6.0.0", - "symfony/process": "^5.0.0 || ^6.0.0" + "symfony/filesystem": "^6.0.0", + "symfony/finder": "^6.0.0", + "symfony/process": "^6.0.0" }, "require-dev": { "ext-zip": "*", "phpstan/phpstan": "^1.0.0", "phpunit/phpunit": "^9.5.0", - "spryker/code-sniffer": "0.17.18" + "spryker/code-sniffer": "^0.17.20" }, "type": "library", "autoload": { @@ -7235,9 +7234,9 @@ "description": "Spryker SDK Utils Module", "support": { "issues": "https://github.com/spryker-sdk/utils/issues", - "source": "https://github.com/spryker-sdk/utils/tree/0.1.1" + "source": "https://github.com/spryker-sdk/utils/tree/0.2.2" }, - "time": "2023-11-14T12:52:26+00:00" + "time": "2024-01-05T09:40:55+00:00" }, { "name": "spryker-shop/agent-page", @@ -49371,16 +49370,16 @@ }, { "name": "symfony/cache", - "version": "v6.3.6", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "84aff8d948d6292d2b5a01ac622760be44dddc72" + "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/84aff8d948d6292d2b5a01ac622760be44dddc72", - "reference": "84aff8d948d6292d2b5a01ac622760be44dddc72", + "url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978", + "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978", "shasum": "" }, "require": { @@ -49389,7 +49388,7 @@ "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6" + "symfony/var-exporter": "^6.3.6|^7.0" }, "conflict": { "doctrine/dbal": "<2.13.1", @@ -49407,12 +49406,12 @@ "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -49447,7 +49446,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.3.6" + "source": "https://github.com/symfony/cache/tree/v6.4.2" }, "funding": [ { @@ -49463,20 +49462,20 @@ "type": "tidelift" } ], - "time": "2023-10-17T14:44:58+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "ad945640ccc0ae6e208bcea7d7de4b39b569896b" + "reference": "1d74b127da04ffa87aa940abe15446fa89653778" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ad945640ccc0ae6e208bcea7d7de4b39b569896b", - "reference": "ad945640ccc0ae6e208bcea7d7de4b39b569896b", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778", + "reference": "1d74b127da04ffa87aa940abe15446fa89653778", "shasum": "" }, "require": { @@ -49523,7 +49522,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/cache-contracts/tree/v3.4.0" }, "funding": [ { @@ -49539,7 +49538,7 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2023-09-25T12:52:38+00:00" }, { "name": "symfony/clock", @@ -49616,22 +49615,22 @@ }, { "name": "symfony/config", - "version": "v6.3.2", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "b47ca238b03e7b0d7880ffd1cf06e8d637ca1467" + "reference": "5d33e0fb707d603330e0edfd4691803a1253572e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/b47ca238b03e7b0d7880ffd1cf06e8d637ca1467", - "reference": "b47ca238b03e7b0d7880ffd1cf06e8d637ca1467", + "url": "https://api.github.com/repos/symfony/config/zipball/5d33e0fb707d603330e0edfd4691803a1253572e", + "reference": "5d33e0fb707d603330e0edfd4691803a1253572e", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { @@ -49639,11 +49638,11 @@ "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0" + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -49671,7 +49670,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.3.2" + "source": "https://github.com/symfony/config/tree/v6.4.0" }, "funding": [ { @@ -49687,20 +49686,20 @@ "type": "tidelift" } ], - "time": "2023-07-19T20:22:16+00:00" + "time": "2023-11-09T08:28:32+00:00" }, { "name": "symfony/console", - "version": "v6.3.4", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", + "url": "https://api.github.com/repos/symfony/console/zipball/0254811a143e6bc6c8deea08b589a7e68a37f625", + "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625", "shasum": "" }, "require": { @@ -49708,7 +49707,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0" + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { "symfony/dependency-injection": "<5.4", @@ -49722,12 +49721,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -49761,7 +49764,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" + "source": "https://github.com/symfony/console/tree/v6.4.2" }, "funding": [ { @@ -49777,7 +49780,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T10:10:12+00:00" + "time": "2023-12-10T16:15:48+00:00" }, { "name": "symfony/debug", @@ -49850,16 +49853,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.3.5", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2ed62b3bf98346e1f45529a7b6be2196739bb993" + "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2ed62b3bf98346e1f45529a7b6be2196739bb993", - "reference": "2ed62b3bf98346e1f45529a7b6be2196739bb993", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/226ea431b1eda6f0d9f5a4b278757171960bb195", + "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195", "shasum": "" }, "require": { @@ -49867,7 +49870,7 @@ "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10" + "symfony/var-exporter": "^6.2.10|^7.0" }, "conflict": { "ext-psr": "<1.1|>=2", @@ -49881,9 +49884,9 @@ "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.1", - "symfony/expression-language": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "symfony/config": "^6.1|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -49911,7 +49914,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.3.5" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.2" }, "funding": [ { @@ -49927,11 +49930,11 @@ "type": "tidelift" } ], - "time": "2023-09-25T16:46:40+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", @@ -49978,7 +49981,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -49998,16 +50001,16 @@ }, { "name": "symfony/dotenv", - "version": "v6.3.7", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e" + "reference": "835f8d2d1022934ac038519de40b88158798c96f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e", - "reference": "7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/835f8d2d1022934ac038519de40b88158798c96f", + "reference": "835f8d2d1022934ac038519de40b88158798c96f", "shasum": "" }, "require": { @@ -50018,8 +50021,8 @@ "symfony/process": "<5.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -50052,7 +50055,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.3.7" + "source": "https://github.com/symfony/dotenv/tree/v6.4.2" }, "funding": [ { @@ -50068,7 +50071,7 @@ "type": "tidelift" } ], - "time": "2023-10-26T18:15:14+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/error-handler", @@ -50146,16 +50149,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v6.3.2", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" + "reference": "e95216850555cd55e71b857eb9d6c2674124603a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e95216850555cd55e71b857eb9d6c2674124603a", + "reference": "e95216850555cd55e71b857eb9d6c2674124603a", "shasum": "" }, "require": { @@ -50172,13 +50175,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -50206,7 +50209,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.2" }, "funding": [ { @@ -50222,11 +50225,11 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:56:43+00:00" + "time": "2023-12-27T22:16:42+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", @@ -50282,7 +50285,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" }, "funding": [ { @@ -50302,16 +50305,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.3.1", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", "shasum": "" }, "require": { @@ -50345,7 +50348,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.3.1" + "source": "https://github.com/symfony/filesystem/tree/v6.4.0" }, "funding": [ { @@ -50361,27 +50364,27 @@ "type": "tidelift" } ], - "time": "2023-06-01T08:30:39+00:00" + "time": "2023-07-26T17:27:13+00:00" }, { "name": "symfony/finder", - "version": "v6.3.5", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^6.0" + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -50409,7 +50412,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.5" + "source": "https://github.com/symfony/finder/tree/v6.4.0" }, "funding": [ { @@ -50425,20 +50428,20 @@ "type": "tidelift" } ], - "time": "2023-09-26T12:56:25+00:00" + "time": "2023-10-31T17:30:12+00:00" }, { "name": "symfony/flex", - "version": "v2.4.1", + "version": "v2.4.3", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "ae6dea68771c5fca9d172e0c0910bdd06199f6f4" + "reference": "6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/ae6dea68771c5fca9d172e0c0910bdd06199f6f4", - "reference": "ae6dea68771c5fca9d172e0c0910bdd06199f6f4", + "url": "https://api.github.com/repos/symfony/flex/zipball/6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1", + "reference": "6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1", "shasum": "" }, "require": { @@ -50474,7 +50477,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.1" + "source": "https://github.com/symfony/flex/tree/v2.4.3" }, "funding": [ { @@ -50490,7 +50493,7 @@ "type": "tidelift" } ], - "time": "2023-10-30T18:35:17+00:00" + "time": "2024-01-02T11:08:32+00:00" }, { "name": "symfony/form", @@ -50591,16 +50594,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v6.3.7", + "version": "v6.3.11", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "dba20792c726c30d455626eddfb2db008f64085f" + "reference": "0b436fd990b80939fac8d06fdbd7f7dcd344160b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/dba20792c726c30d455626eddfb2db008f64085f", - "reference": "dba20792c726c30d455626eddfb2db008f64085f", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0b436fd990b80939fac8d06fdbd7f7dcd344160b", + "reference": "0b436fd990b80939fac8d06fdbd7f7dcd344160b", "shasum": "" }, "require": { @@ -50627,7 +50630,7 @@ "phpdocumentor/type-resolver": "<1.4.0", "symfony/asset": "<5.4", "symfony/clock": "<6.3", - "symfony/console": "<5.4", + "symfony/console": "<5.4|>=7.0", "symfony/dom-crawler": "<6.3", "symfony/dotenv": "<5.4", "symfony/form": "<5.4", @@ -50715,7 +50718,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.3.7" + "source": "https://github.com/symfony/framework-bundle/tree/v6.3.11" }, "funding": [ { @@ -50731,7 +50734,7 @@ "type": "tidelift" } ], - "time": "2023-10-26T18:15:14+00:00" + "time": "2023-12-29T15:20:22+00:00" }, { "name": "symfony/http-client", @@ -50827,16 +50830,16 @@ }, { "name": "symfony/http-client-contracts", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "3b66325d0176b4ec826bffab57c9037d759c31fb" + "reference": "1ee70e699b41909c209a0c930f11034b93578654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/3b66325d0176b4ec826bffab57c9037d759c31fb", - "reference": "3b66325d0176b4ec826bffab57c9037d759c31fb", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1ee70e699b41909c209a0c930f11034b93578654", + "reference": "1ee70e699b41909c209a0c930f11034b93578654", "shasum": "" }, "require": { @@ -50885,7 +50888,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.4.0" }, "funding": [ { @@ -50901,20 +50904,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2023-07-30T20:28:31+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.3.7", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e" + "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/59d1837d5d992d16c2628cd0d6b76acf8d69b33e", - "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/172d807f9ef3fc3fbed8377cc57c20d389269271", + "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271", "shasum": "" }, "require": { @@ -50929,12 +50932,12 @@ "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^5.4|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -50962,7 +50965,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.7" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.2" }, "funding": [ { @@ -50978,20 +50981,20 @@ "type": "tidelift" } ], - "time": "2023-10-28T23:55:27+00:00" + "time": "2023-12-27T22:16:42+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.7", + "version": "v6.3.11", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "6d4098095f93279d9536a0e9124439560cc764d0" + "reference": "9e9966d27dfe612898ffb3c507a1db2f29faefd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6d4098095f93279d9536a0e9124439560cc764d0", - "reference": "6d4098095f93279d9536a0e9124439560cc764d0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9e9966d27dfe612898ffb3c507a1db2f29faefd1", + "reference": "9e9966d27dfe612898ffb3c507a1db2f29faefd1", "shasum": "" }, "require": { @@ -51075,7 +51078,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.7" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.11" }, "funding": [ { @@ -51091,7 +51094,7 @@ "type": "tidelift" } ], - "time": "2023-10-29T14:31:45+00:00" + "time": "2023-12-30T13:09:13+00:00" }, { "name": "symfony/intl", @@ -51424,43 +51427,38 @@ }, { "name": "symfony/monolog-bridge", - "version": "v5.4.22", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a" + "reference": "c262c2f54ce7e160a231808817f306f880c32750" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/34be6f0695e4187dbb832a05905fb4c6581ac39a", - "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/c262c2f54ce7e160a231808817f306f880c32750", + "reference": "c262c2f54ce7e160a231808817f306f880c32750", "shasum": "" }, "require": { - "monolog/monolog": "^1.25.1|^2", - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3" + "monolog/monolog": "^1.25.1|^2|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<4.4", - "symfony/http-foundation": "<5.3" + "symfony/console": "<5.4", + "symfony/http-foundation": "<5.4", + "symfony/security-core": "<6.0" }, "require-dev": { - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/mailer": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/security-core": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", - "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", - "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/mailer": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "symfony-bridge", "autoload": { @@ -51488,7 +51486,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.22" + "source": "https://github.com/symfony/monolog-bridge/tree/v6.4.0" }, "funding": [ { @@ -51504,20 +51502,20 @@ "type": "tidelift" } ], - "time": "2023-03-06T21:29:33+00:00" + "time": "2023-10-31T08:18:17+00:00" }, { "name": "symfony/monolog-bundle", - "version": "v3.9.0", + "version": "v3.10.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "d14cf794d5b63337849d7e30925778ceaed82b34" + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/d14cf794d5b63337849d7e30925778ceaed82b34", - "reference": "d14cf794d5b63337849d7e30925778ceaed82b34", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", "shasum": "" }, "require": { @@ -51569,7 +51567,7 @@ ], "support": { "issues": "https://github.com/symfony/monolog-bundle/issues", - "source": "https://github.com/symfony/monolog-bundle/tree/v3.9.0" + "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" }, "funding": [ { @@ -51585,20 +51583,20 @@ "type": "tidelift" } ], - "time": "2023-11-06T11:28:48+00:00" + "time": "2023-11-06T17:08:13+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.3.0", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + "reference": "22301f0e7fdeaacc14318928612dee79be99860e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22301f0e7fdeaacc14318928612dee79be99860e", + "reference": "22301f0e7fdeaacc14318928612dee79be99860e", "shasum": "" }, "require": { @@ -51636,7 +51634,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.0" }, "funding": [ { @@ -51652,7 +51650,7 @@ "type": "tidelift" } ], - "time": "2023-05-12T14:21:09+00:00" + "time": "2023-08-08T10:16:24+00:00" }, { "name": "symfony/password-hasher", @@ -52474,16 +52472,16 @@ }, { "name": "symfony/process", - "version": "v6.3.4", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" + "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", - "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54", + "url": "https://api.github.com/repos/symfony/process/zipball/c4b1ef0bc80533d87a2e969806172f1c2a980241", + "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241", "shasum": "" }, "require": { @@ -52515,7 +52513,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.3.4" + "source": "https://github.com/symfony/process/tree/v6.4.2" }, "funding": [ { @@ -52531,7 +52529,7 @@ "type": "tidelift" } ], - "time": "2023-08-07T10:39:22+00:00" + "time": "2023-12-22T16:42:54+00:00" }, { "name": "symfony/property-access", @@ -52695,16 +52693,16 @@ }, { "name": "symfony/routing", - "version": "v6.3.5", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31" + "reference": "98eab13a07fddc85766f1756129c69f207ffbc21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/82616e59acd3e3d9c916bba798326cb7796d7d31", - "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31", + "url": "https://api.github.com/repos/symfony/routing/zipball/98eab13a07fddc85766f1756129c69f207ffbc21", + "reference": "98eab13a07fddc85766f1756129c69f207ffbc21", "shasum": "" }, "require": { @@ -52720,11 +52718,11 @@ "require-dev": { "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -52758,7 +52756,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.3.5" + "source": "https://github.com/symfony/routing/tree/v6.4.2" }, "funding": [ { @@ -52774,20 +52772,20 @@ "type": "tidelift" } ], - "time": "2023-09-20T16:05:51+00:00" + "time": "2023-12-29T15:34:34+00:00" }, { "name": "symfony/runtime", - "version": "v6.3.2", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "d5c09493647a0c1a16e6c8da308098e840d1164f" + "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/d5c09493647a0c1a16e6c8da308098e840d1164f", - "reference": "d5c09493647a0c1a16e6c8da308098e840d1164f", + "url": "https://api.github.com/repos/symfony/runtime/zipball/86539231fadfdc7f7e9911d6fa7ed84a606e7d34", + "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34", "shasum": "" }, "require": { @@ -52799,10 +52797,10 @@ }, "require-dev": { "composer/composer": "^1.0.2|^2.0", - "symfony/console": "^5.4.9|^6.0.9", - "symfony/dotenv": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0" + "symfony/console": "^5.4.9|^6.0.9|^7.0", + "symfony/dotenv": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0" }, "type": "composer-plugin", "extra": { @@ -52837,7 +52835,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.3.2" + "source": "https://github.com/symfony/runtime/tree/v6.4.0" }, "funding": [ { @@ -52853,7 +52851,7 @@ "type": "tidelift" } ], - "time": "2023-07-16T17:05:46+00:00" + "time": "2023-10-18T09:43:34+00:00" }, { "name": "symfony/security-core", @@ -53165,16 +53163,16 @@ }, { "name": "symfony/serializer", - "version": "v6.3.7", + "version": "v6.3.11", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "641472dd3d6dc3c4d0fdd1496ebd1b55c72e43d9" + "reference": "83a2e5ec60dddfb227b28ef9bffb7da073e50cfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/641472dd3d6dc3c4d0fdd1496ebd1b55c72e43d9", - "reference": "641472dd3d6dc3c4d0fdd1496ebd1b55c72e43d9", + "url": "https://api.github.com/repos/symfony/serializer/zipball/83a2e5ec60dddfb227b28ef9bffb7da073e50cfc", + "reference": "83a2e5ec60dddfb227b28ef9bffb7da073e50cfc", "shasum": "" }, "require": { @@ -53239,7 +53237,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.3.7" + "source": "https://github.com/symfony/serializer/tree/v6.3.11" }, "funding": [ { @@ -53255,37 +53253,33 @@ "type": "tidelift" } ], - "time": "2023-10-26T18:15:14+00:00" + "time": "2023-12-29T15:20:22+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.2", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.1", + "psr/container": "^1.1|^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, - "suggest": { - "symfony/service-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -53295,7 +53289,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -53322,7 +53319,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" }, "funding": [ { @@ -53338,11 +53335,11 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:29+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/stopwatch", - "version": "v6.3.0", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -53384,7 +53381,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.3.0" + "source": "https://github.com/symfony/stopwatch/tree/v6.4.0" }, "funding": [ { @@ -53404,16 +53401,16 @@ }, { "name": "symfony/string", - "version": "v6.3.5", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" + "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", + "url": "https://api.github.com/repos/symfony/string/zipball/7cb80bc10bfcdf6b5492741c0b9357dac66940bc", + "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc", "shasum": "" }, "require": { @@ -53427,11 +53424,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -53470,7 +53467,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.5" + "source": "https://github.com/symfony/string/tree/v6.4.2" }, "funding": [ { @@ -53486,7 +53483,7 @@ "type": "tidelift" } ], - "time": "2023-09-18T10:38:32+00:00" + "time": "2023-12-10T16:15:48+00:00" }, { "name": "symfony/translation", @@ -53585,16 +53582,16 @@ }, { "name": "symfony/translation-contracts", - "version": "v3.3.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86" + "reference": "06450585bf65e978026bda220cdebca3f867fde7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/02c24deb352fb0d79db5486c0c79905a85e37e86", - "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", "shasum": "" }, "require": { @@ -53643,7 +53640,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" }, "funding": [ { @@ -53659,7 +53656,7 @@ "type": "tidelift" } ], - "time": "2023-05-30T17:17:10+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/twig-bridge", @@ -53771,16 +53768,16 @@ }, { "name": "symfony/uid", - "version": "v6.3.0", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "01b0f20b1351d997711c56f1638f7a8c3061e384" + "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/01b0f20b1351d997711c56f1638f7a8c3061e384", - "reference": "01b0f20b1351d997711c56f1638f7a8c3061e384", + "url": "https://api.github.com/repos/symfony/uid/zipball/8092dd1b1a41372110d06374f99ee62f7f0b9a92", + "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92", "shasum": "" }, "require": { @@ -53788,7 +53785,7 @@ "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^5.4|^6.0" + "symfony/console": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -53825,7 +53822,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.3.0" + "source": "https://github.com/symfony/uid/tree/v6.4.0" }, "funding": [ { @@ -53841,7 +53838,7 @@ "type": "tidelift" } ], - "time": "2023-04-08T07:25:02+00:00" + "time": "2023-10-31T08:18:17+00:00" }, { "name": "symfony/validator", @@ -53941,16 +53938,16 @@ }, { "name": "symfony/var-dumper", - "version": "v6.3.6", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97" + "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/999ede244507c32b8e43aebaa10e9fce20de7c97", - "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", + "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", "shasum": "" }, "require": { @@ -53963,10 +53960,11 @@ }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", "twig/twig": "^2.13|^3.0.4" }, "bin": [ @@ -54005,7 +54003,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.6" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.2" }, "funding": [ { @@ -54021,27 +54019,28 @@ "type": "tidelift" } ], - "time": "2023-10-12T18:45:56+00:00" + "time": "2023-12-28T19:16:56+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.3.6", + "version": "v6.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "374d289c13cb989027274c86206ddc63b16a2441" + "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", - "reference": "374d289c13cb989027274c86206ddc63b16a2441", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5fe9a0021b8d35e67d914716ec8de50716a68e7e", + "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/var-dumper": "^5.4|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -54079,7 +54078,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.2" }, "funding": [ { @@ -54095,20 +54094,20 @@ "type": "tidelift" } ], - "time": "2023-10-13T09:16:49+00:00" + "time": "2023-12-27T08:18:35+00:00" }, { "name": "symfony/yaml", - "version": "v6.3.7", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "9758b6c69d179936435d0ffb577c3708d57e38a8" + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9758b6c69d179936435d0ffb577c3708d57e38a8", - "reference": "9758b6c69d179936435d0ffb577c3708d57e38a8", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", "shasum": "" }, "require": { @@ -54120,7 +54119,7 @@ "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0" + "symfony/console": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -54151,7 +54150,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.3.7" + "source": "https://github.com/symfony/yaml/tree/v6.4.0" }, "funding": [ { @@ -54167,7 +54166,7 @@ "type": "tidelift" } ], - "time": "2023-10-28T23:31:00+00:00" + "time": "2023-11-06T11:00:25+00:00" }, { "name": "twig/twig", From 9dfeb2123c8c88401fec0f15adc5ebd8cf0ff423 Mon Sep 17 00:00:00 2001 From: Pavel Maksimov <82393959+pavelmaksimov25@users.noreply.github.com> Date: Fri, 5 Jan 2024 16:09:05 +0100 Subject: [PATCH 57/64] SDK-5711: Fixed . --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 4dff762950..d0b74c1a5e 100644 --- a/composer.lock +++ b/composer.lock @@ -3525,16 +3525,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.33", + "version": "3.0.35", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0" + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/33fa69b2514a61138dd48e7a49f99445711e0ad0", - "reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4b1827beabce71953ca479485c0ae9c51287f2fe", + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe", "shasum": "" }, "require": { @@ -3615,7 +3615,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.33" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.35" }, "funding": [ { @@ -3631,7 +3631,7 @@ "type": "tidelift" } ], - "time": "2023-10-21T14:00:39+00:00" + "time": "2023-12-29T01:59:53+00:00" }, { "name": "predis/predis", From d9a57354de8dc3e882def20123a1529ec5ce8f65 Mon Sep 17 00:00:00 2001 From: Dmitriy Aseev Date: Fri, 5 Jan 2024 21:48:01 +0300 Subject: [PATCH 58/64] CC-32377: Adjusted auto-generated code, added API tests. --- codeception.yml | 2 +- composer.json | 4 +- composer.lock | 2 +- .../CustomersRestApiConfig.php | 29 ------- .../Validation/checkout.validation.yaml | 80 +++++++++++++++++ .../RestApi/CheckoutDataRestApiCest.php | 30 +++++++ .../Checkout/RestApi/CheckoutRestApiCest.php | 87 +++++++++++++++++++ .../Fixtures/CheckoutDataRestApiFixtures.php | 19 ++++ .../Fixtures/CheckoutRestApiFixtures.php | 19 ++++ .../Checkout/_support/CheckoutApiTester.php | 48 +++++++++- tests/PyzTest/Glue/Checkout/codeception.yml | 1 + 11 files changed, 286 insertions(+), 35 deletions(-) delete mode 100644 src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php create mode 100644 src/Pyz/Glue/CustomersRestApi/Validation/checkout.validation.yaml diff --git a/codeception.yml b/codeception.yml index 56d14afe65..dd5a410b02 100644 --- a/codeception.yml +++ b/codeception.yml @@ -2,7 +2,7 @@ namespace: PyzTest actor: Tester include: - - tests/PyzTest/*/* + - tests/PyzTest/Glue/Checkout paths: tests: tests diff --git a/composer.json b/composer.json index f2a68ad994..96a9af45ab 100644 --- a/composer.json +++ b/composer.json @@ -122,7 +122,7 @@ "spryker/customer-group-discount-connector": "^2.2.1", "spryker/customer-user-connector": "^1.0.4", "spryker/customer-user-connector-gui": "^1.5.0", - "spryker/customers-rest-api": "^1.21.2", + "spryker/customers-rest-api": "^1.22.0", "spryker/discount-calculation-connector": "^5.3.0", "spryker/discount-promotions-rest-api": "^1.4.2", "spryker/documentation-generator-rest-api": "^1.15.0", @@ -206,7 +206,7 @@ "spryker/shipment-checkout-connector": "^2.0.5", "spryker/shipment-discount-connector": "^4.0.5", "spryker/shipments-backend-api": "^1.0.0", - "spryker/shipments-rest-api": "^1.12.0", + "spryker/shipments-rest-api": "^1.13.0", "spryker/storage-gui": "^1.0.0", "spryker/stores-api": "^1.0.0", "spryker/stores-backend-api": "^1.0.0", diff --git a/composer.lock b/composer.lock index 9f24ac5c09..5681485d6e 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": "022be70cd8ea5343d8c330bb9b3e7e23", + "content-hash": "d17fcbd28ca3d56c0b872ada38dccd76", "packages": [ { "name": "async-aws/core", diff --git a/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php b/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php deleted file mode 100644 index 68011f5c5f..0000000000 --- a/src/Pyz/Glue/CustomersRestApi/CustomersRestApiConfig.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ - public function getBillingAddressFieldsToSkipValidation(): array - { - return array_merge(parent::getBillingAddressFieldsToSkipValidation(), [ - RestAddressTransfer::ID_COMPANY_BUSINESS_UNIT_ADDRESS, - ]); - } -} diff --git a/src/Pyz/Glue/CustomersRestApi/Validation/checkout.validation.yaml b/src/Pyz/Glue/CustomersRestApi/Validation/checkout.validation.yaml new file mode 100644 index 0000000000..069b89a59a --- /dev/null +++ b/src/Pyz/Glue/CustomersRestApi/Validation/checkout.validation.yaml @@ -0,0 +1,80 @@ +checkout-data: + post: + billingAddress: + - Optional: + constraints: + - Collection: + fields: + salutation: + - Optional: + constraints: + - NotBlank + firstName: + - Optional: + constraints: + - NotBlank + lastName: + - Optional: + constraints: + - NotBlank + address1: + - Optional: + constraints: + - NotBlank + address2: + - Optional: + constraints: + - NotBlank + zipCode: + - Optional: + constraints: + - NotBlank + city: + - Optional: + constraints: + - NotBlank + - Length: + min: 3 + iso2Code: + - Optional: + constraints: + - NotBlank +checkout: + post: + billingAddress: + - Collection: + fields: + salutation: + - Optional: + constraints: + - NotBlank + firstName: + - Optional: + constraints: + - NotBlank + lastName: + - Optional: + constraints: + - NotBlank + address1: + - Optional: + constraints: + - NotBlank + address2: + - Optional: + constraints: + - NotBlank + zipCode: + - Optional: + constraints: + - NotBlank + city: + - Optional: + constraints: + - NotBlank + - Length: + min: 3 + iso2Code: + - Optional: + constraints: + - NotBlank diff --git a/tests/PyzTest/Glue/Checkout/RestApi/CheckoutDataRestApiCest.php b/tests/PyzTest/Glue/Checkout/RestApi/CheckoutDataRestApiCest.php index b1198ee065..51d008614b 100644 --- a/tests/PyzTest/Glue/Checkout/RestApi/CheckoutDataRestApiCest.php +++ b/tests/PyzTest/Glue/Checkout/RestApi/CheckoutDataRestApiCest.php @@ -343,4 +343,34 @@ public function requestWithOneItemInQuoteAndFullBody(CheckoutApiTester $I): void ->whenI() ->seeSingleResourceHasSelfLink($url); } + + /** + * @depends loadFixtures + * + * @param \PyzTest\Glue\Checkout\CheckoutApiTester $I + * + * @return void + */ + public function requestWithCustomerBillingAddressIdOnly(CheckoutApiTester $I): void + { + // Arrange + $I->authorizeCustomerToGlue($this->fixtures->getCustomerTransfer()); + $requestPayload = [ + 'data' => [ + 'type' => CheckoutRestApiConfig::RESOURCE_CHECKOUT_DATA, + 'attributes' => [ + 'idCart' => $this->fixtures->getQuoteTransfer()->getUuid(), + 'billingAddress' => [ + 'id' => $this->fixtures->getCustomerAddress()->getUuid(), + ], + ], + ], + ]; + + // Act + $I->sendPOST($I->buildCheckoutDataUrl(), $requestPayload); + + // Assert + $I->seeResponseCodeIs(HttpCode::OK); + } } diff --git a/tests/PyzTest/Glue/Checkout/RestApi/CheckoutRestApiCest.php b/tests/PyzTest/Glue/Checkout/RestApi/CheckoutRestApiCest.php index 5c89ed0786..19c351c05a 100644 --- a/tests/PyzTest/Glue/Checkout/RestApi/CheckoutRestApiCest.php +++ b/tests/PyzTest/Glue/Checkout/RestApi/CheckoutRestApiCest.php @@ -459,4 +459,91 @@ public function requestWithGrossPriceModeAndSplitShipment(CheckoutApiTester $I): $shipmentMethodTransfer->getPrices()->offsetGet(0)->getGrossAmountOrFail(), ); } + + /** + * @depends loadFixtures + * + * @param \PyzTest\Glue\Checkout\CheckoutApiTester $I + * + * @return void + */ + public function requestWithCustomerBillingAddressIdOnly(CheckoutApiTester $I): void + { + // Arrange + $customerTransfer = $this->fixtures->getCustomerTransfer(); + $I->authorizeCustomerToGlue($customerTransfer); + + $shipmentMethodTransfer = $this->fixtures->getShipmentMethodTransfer(); + $quoteTransfer = $I->havePersistentQuoteWithItemsAndItemLevelShipment( + $customerTransfer, + [$I->getQuoteItemOverrideData($this->fixtures->getProductConcreteTransfers()[0], $shipmentMethodTransfer, 10)], + ); + $quoteTransfer = $I->getCartFacade()->validateQuote($quoteTransfer)->getQuoteTransfer(); + $shippingAddressTransfer = $quoteTransfer->getItems()[0]->getShipment()->getShippingAddress(); + + $requestPayload = [ + 'data' => [ + 'type' => CheckoutRestApiConfig::RESOURCE_CHECKOUT, + 'attributes' => [ + 'idCart' => $quoteTransfer->getUuid(), + 'billingAddress' => [ + 'id' => $this->fixtures->getCustomerAddress()->getUuid(), + ], + 'shippingAddress' => $I->getAddressRequestPayload($shippingAddressTransfer), + 'payments' => $I->getPaymentRequestPayload(), + 'shipment' => $I->getShipmentRequestPayload($shipmentMethodTransfer->getIdShipmentMethod()), + ], + ], + ]; + + // Act + $I->sendPOST($I->buildCheckoutUrl(['orders']), $requestPayload); + + // Assert + $I->seeResponseCodeIs(HttpCode::CREATED); + $I->assertCustomerBillingAddressInOrders($this->fixtures->getCustomerAddress()); + } + + /** + * @depends loadFixtures + * + * @param \PyzTest\Glue\Checkout\CheckoutApiTester $I + * + * @return void + */ + public function requestSplitCheckoutWithCustomerShippingAddressIdOnly(CheckoutApiTester $I): void + { + // Arrange + $customerTransfer = $this->fixtures->getCustomerTransfer(); + $I->authorizeCustomerToGlue($customerTransfer); + + $shipmentMethodTransfer = $this->fixtures->getShipmentMethodTransfer(); + $quoteTransfer = $I->havePersistentQuoteWithItemsAndItemLevelShipment( + $customerTransfer, + [$I->getQuoteItemOverrideData($this->fixtures->getProductConcreteTransfers()[0], $shipmentMethodTransfer, 1)], + ); + $quoteTransfer = $I->getCartFacade()->validateQuote($quoteTransfer)->getQuoteTransfer(); + $itemTransfer = $quoteTransfer->getItems()->offsetGet(0); + + $requestPayload = [ + 'data' => [ + 'type' => CheckoutRestApiConfig::RESOURCE_CHECKOUT, + 'attributes' => [ + 'idCart' => $quoteTransfer->getUuid(), + 'billingAddress' => $I->getAddressRequestPayload($quoteTransfer->getBillingAddress()), + 'payments' => $I->getPaymentRequestPayload(), + 'shipments' => [ + $I->getSplitShipmentRequestPayload($itemTransfer, $this->fixtures->getCustomerAddress()), + ], + ], + ], + ]; + + // Act + $I->sendPOST($I->buildCheckoutUrl(['orders', 'order-shipments']), $requestPayload); + + // Assert + $I->seeResponseCodeIs(HttpCode::CREATED); + $I->assertCustomerShippingAddressInOrderShipments($this->fixtures->getCustomerAddress()); + } } diff --git a/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutDataRestApiFixtures.php b/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutDataRestApiFixtures.php index 5f1eb6da59..2258a1175d 100644 --- a/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutDataRestApiFixtures.php +++ b/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutDataRestApiFixtures.php @@ -7,6 +7,7 @@ namespace PyzTest\Glue\Checkout\RestApi\Fixtures; +use Generated\Shared\Transfer\AddressTransfer; use Generated\Shared\Transfer\CustomerTransfer; use Generated\Shared\Transfer\QuoteTransfer; use Generated\Shared\Transfer\ShipmentMethodTransfer; @@ -53,6 +54,11 @@ class CheckoutDataRestApiFixtures implements FixturesBuilderInterface, FixturesC */ protected ShipmentMethodTransfer $shipmentMethodTransfer; + /** + * @var \Generated\Shared\Transfer\AddressTransfer + */ + protected AddressTransfer $customerAddress; + /** * @return \Generated\Shared\Transfer\QuoteTransfer */ @@ -77,6 +83,14 @@ public function getShipmentMethodTransfer(): ShipmentMethodTransfer return $this->shipmentMethodTransfer; } + /** + * @return \Generated\Shared\Transfer\AddressTransfer + */ + public function getCustomerAddress(): AddressTransfer + { + return $this->customerAddress; + } + /** * @param \PyzTest\Glue\Checkout\CheckoutApiTester $I * @@ -111,6 +125,11 @@ public function buildFixtures(CheckoutApiTester $I): FixturesContainerInterface [$I->getQuoteItemOverrideData($I->haveProductWithStock(), $this->shipmentMethodTransfer, 10)], ); + $this->customerAddress = $I->haveCustomerAddress([ + AddressTransfer::FK_CUSTOMER => $this->customerTransfer->getIdCustomer(), + AddressTransfer::FK_COUNTRY => $I->haveCountry()->getIdCountry(), + ]); + return $this; } } diff --git a/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutRestApiFixtures.php b/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutRestApiFixtures.php index acab3e8e0f..26e35c8fc2 100644 --- a/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutRestApiFixtures.php +++ b/tests/PyzTest/Glue/Checkout/RestApi/Fixtures/CheckoutRestApiFixtures.php @@ -7,6 +7,7 @@ namespace PyzTest\Glue\Checkout\RestApi\Fixtures; +use Generated\Shared\Transfer\AddressTransfer; use Generated\Shared\Transfer\CustomerTransfer; use Generated\Shared\Transfer\QuoteTransfer; use Generated\Shared\Transfer\ShipmentMethodTransfer; @@ -73,6 +74,11 @@ class CheckoutRestApiFixtures implements FixturesBuilderInterface, FixturesConta */ protected ShipmentMethodTransfer $shipmentMethodTransfer; + /** + * @var \Generated\Shared\Transfer\AddressTransfer + */ + protected AddressTransfer $customerAddress; + /** * @return \Generated\Shared\Transfer\CustomerTransfer */ @@ -113,6 +119,14 @@ public function getShipmentMethodTransfer(): ShipmentMethodTransfer return $this->shipmentMethodTransfer; } + /** + * @return \Generated\Shared\Transfer\AddressTransfer + */ + public function getCustomerAddress(): AddressTransfer + { + return $this->customerAddress; + } + /** * @param \PyzTest\Glue\Checkout\CheckoutApiTester $I * @@ -157,6 +171,11 @@ public function buildFixtures(CheckoutApiTester $I): FixturesContainerInterface ], ); + $this->customerAddress = $I->haveCustomerAddress([ + AddressTransfer::FK_CUSTOMER => $this->customerTransfer->getIdCustomer(), + AddressTransfer::FK_COUNTRY => $I->haveCountry()->getIdCountry(), + ]); + return $this; } } diff --git a/tests/PyzTest/Glue/Checkout/_support/CheckoutApiTester.php b/tests/PyzTest/Glue/Checkout/_support/CheckoutApiTester.php index 605e800774..b1182d6f72 100644 --- a/tests/PyzTest/Glue/Checkout/_support/CheckoutApiTester.php +++ b/tests/PyzTest/Glue/Checkout/_support/CheckoutApiTester.php @@ -294,15 +294,20 @@ public function getShipmentRequestPayload(int $idShipmentMethod): array /** * @param \Generated\Shared\Transfer\ItemTransfer $itemTransfer + * @param \Generated\Shared\Transfer\AddressTransfer|null $addressTransfer * * @return array */ - public function getSplitShipmentRequestPayload(ItemTransfer $itemTransfer): array + public function getSplitShipmentRequestPayload(ItemTransfer $itemTransfer, ?AddressTransfer $addressTransfer = null): array { + $shippingAddressPayload = $addressTransfer + ? [RestAddressTransfer::ID => $addressTransfer->getUuidOrFail()] + : $this->getAddressRequestPayload($itemTransfer->getShipmentOrFail()->getShippingAddressOrFail()); + return [ RestShipmentsTransfer::ID_SHIPMENT_METHOD => $itemTransfer->getShipmentOrFail()->getMethodOrFail()->getIdShipmentMethodOrFail(), RestShipmentsTransfer::ITEMS => [$itemTransfer->getGroupKeyOrFail()], - RestShipmentsTransfer::SHIPPING_ADDRESS => $this->getAddressRequestPayload($itemTransfer->getShipmentOrFail()->getShippingAddressOrFail()), + RestShipmentsTransfer::SHIPPING_ADDRESS => $shippingAddressPayload, RestShipmentsTransfer::REQUESTED_DELIVERY_DATE => (new DateTime('tomorrow'))->format('Y-m-d'), ]; } @@ -491,6 +496,45 @@ public function havePaymentMethodWithStore( return $this->havePaymentMethod($paymentMethodOverrideData); } + /** + * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer + * + * @return void + */ + public function assertCustomerBillingAddressInOrders(AddressTransfer $addressTransfer): void + { + $jsonPath = sprintf('$..included[?(@.type == \'%s\')]', 'orders'); + $billingAddress = $this->getDataFromResponseByJsonPath($jsonPath)[0]['attributes']['billingAddress']; + + $this->assertSame($addressTransfer->getAddress1(), $billingAddress['address1']); + $this->assertSame($addressTransfer->getAddress2(), $billingAddress['address2']); + $this->assertSame($addressTransfer->getAddress3(), $billingAddress['address3']); + $this->assertSame($addressTransfer->getCompany(), $billingAddress['company']); + $this->assertSame($addressTransfer->getCity(), $billingAddress['city']); + $this->assertSame($addressTransfer->getZipCode(), $billingAddress['zipCode']); + $this->assertSame($addressTransfer->getIso2Code(), $billingAddress['iso2Code']); + } + + /** + * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer + * + * @return void + */ + public function assertCustomerShippingAddressInOrderShipments( + AddressTransfer $addressTransfer, + ): void { + $jsonPath = sprintf('$..included[?(@.type == \'%s\')]', 'order-shipments'); + $shippingAddress = $this->getDataFromResponseByJsonPath($jsonPath)[0]['attributes']['shippingAddress']; + + $this->assertSame($addressTransfer->getAddress1(), $shippingAddress['address1']); + $this->assertSame($addressTransfer->getAddress2(), $shippingAddress['address2']); + $this->assertSame($addressTransfer->getAddress3(), $shippingAddress['address3']); + $this->assertSame($addressTransfer->getCompany(), $shippingAddress['company']); + $this->assertSame($addressTransfer->getCity(), $shippingAddress['city']); + $this->assertSame($addressTransfer->getZipCode(), $shippingAddress['zipCode']); + $this->assertSame($addressTransfer->getIso2Code(), $shippingAddress['iso2Code']); + } + /** * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer * diff --git a/tests/PyzTest/Glue/Checkout/codeception.yml b/tests/PyzTest/Glue/Checkout/codeception.yml index aa6aadfb58..eed2cc2c88 100644 --- a/tests/PyzTest/Glue/Checkout/codeception.yml +++ b/tests/PyzTest/Glue/Checkout/codeception.yml @@ -39,6 +39,7 @@ suites: - \SprykerTest\Zed\SalesOrderThreshold\Helper\SalesOrderThresholdHelper - \SprykerTest\Service\Container\Helper\ContainerHelper - \SprykerTest\Shared\Store\Helper\StoreDependencyHelper + - \SprykerTest\Zed\Country\Helper\CountryDataHelper config: \SprykerTest\Glue\Testify\Helper\GlueRest: depends: PhpBrowser From 8a3b2f22bbb6b188f438c0a75b6e4a779c9ee4d0 Mon Sep 17 00:00:00 2001 From: Dmitriy Aseev Date: Fri, 5 Jan 2024 21:49:08 +0300 Subject: [PATCH 59/64] CC-32377: Reverted change. --- codeception.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codeception.yml b/codeception.yml index dd5a410b02..56d14afe65 100644 --- a/codeception.yml +++ b/codeception.yml @@ -2,7 +2,7 @@ namespace: PyzTest actor: Tester include: - - tests/PyzTest/Glue/Checkout + - tests/PyzTest/*/* paths: tests: tests From 90932cdd1082df6f665b3d71d86ed677f9b15cd0 Mon Sep 17 00:00:00 2001 From: Dmitriy Aseev Date: Mon, 8 Jan 2024 13:26:00 +0300 Subject: [PATCH 60/64] CC-32377: Adjusted composer.lock. --- composer.lock | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index 5681485d6e..4a413acfc0 100644 --- a/composer.lock +++ b/composer.lock @@ -60262,12 +60262,12 @@ "version": "3.7.2", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", "shasum": "" }, @@ -60312,6 +60312,20 @@ "source": "https://github.com/squizlabs/PHP_CodeSniffer", "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], "time": "2023-02-22T23:07:41+00:00" }, { From abcce121bf225990dfadf7cb913cef8b21881f82 Mon Sep 17 00:00:00 2001 From: Dmytro Asieiev Date: Mon, 8 Jan 2024 15:02:20 +0300 Subject: [PATCH 61/64] CC-32377: Adjusted php packages version. --- composer.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/composer.lock b/composer.lock index 4a413acfc0..20fe1930c9 100644 --- a/composer.lock +++ b/composer.lock @@ -246,16 +246,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.284.0", + "version": "3.295.6", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "1b7e926acc990509e3d13fa708cdede686b40d90" + "reference": "9b0b2daf46d5e6a4600575917cea0764e4dbb6b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1b7e926acc990509e3d13fa708cdede686b40d90", - "reference": "1b7e926acc990509e3d13fa708cdede686b40d90", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/9b0b2daf46d5e6a4600575917cea0764e4dbb6b5", + "reference": "9b0b2daf46d5e6a4600575917cea0764e4dbb6b5", "shasum": "" }, "require": { @@ -335,9 +335,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.284.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.295.6" }, - "time": "2023-11-03T18:13:48+00:00" + "time": "2024-01-04T19:43:02+00:00" }, { "name": "brick/math", @@ -3525,16 +3525,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.33", + "version": "3.0.35", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0" + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/33fa69b2514a61138dd48e7a49f99445711e0ad0", - "reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4b1827beabce71953ca479485c0ae9c51287f2fe", + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe", "shasum": "" }, "require": { @@ -3615,7 +3615,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.33" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.35" }, "funding": [ { @@ -3631,7 +3631,7 @@ "type": "tidelift" } ], - "time": "2023-10-21T14:00:39+00:00" + "time": "2023-12-29T01:59:53+00:00" }, { "name": "predis/predis", From 43053ed27e25a8ee12eca6afd5fc3c0ab4b1b033 Mon Sep 17 00:00:00 2001 From: Dmytro Asieiev Date: Mon, 8 Jan 2024 15:11:01 +0300 Subject: [PATCH 62/64] CC-32377: Adjusted php packages version. --- composer.lock | 86 ++++++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/composer.lock b/composer.lock index d0b74c1a5e..7f1365fa4d 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": "0f599dcff6408468feea46dced220ec1", + "content-hash": "ed1ff066a6c12033167b921f5f1d3854", "packages": [ { "name": "async-aws/core", @@ -246,16 +246,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.284.0", + "version": "3.295.6", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "1b7e926acc990509e3d13fa708cdede686b40d90" + "reference": "9b0b2daf46d5e6a4600575917cea0764e4dbb6b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1b7e926acc990509e3d13fa708cdede686b40d90", - "reference": "1b7e926acc990509e3d13fa708cdede686b40d90", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/9b0b2daf46d5e6a4600575917cea0764e4dbb6b5", + "reference": "9b0b2daf46d5e6a4600575917cea0764e4dbb6b5", "shasum": "" }, "require": { @@ -335,9 +335,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.284.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.295.6" }, - "time": "2023-11-03T18:13:48+00:00" + "time": "2024-01-04T19:43:02+00:00" }, { "name": "brick/math", @@ -22385,20 +22385,20 @@ }, { "name": "spryker/country", - "version": "4.1.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/spryker/country.git", - "reference": "98885772899f19fb0296734bd466db01ad7b4180" + "reference": "8fa56d4e33f2d42e272e5a8538e9491d2344539d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/country/zipball/98885772899f19fb0296734bd466db01ad7b4180", - "reference": "98885772899f19fb0296734bd466db01ad7b4180", + "url": "https://api.github.com/repos/spryker/country/zipball/8fa56d4e33f2d42e272e5a8538e9491d2344539d", + "reference": "8fa56d4e33f2d42e272e5a8538e9491d2344539d", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/acl-merchant-portal-extension": "^1.0.0", "spryker/checkout-rest-api-extension": "^1.2.0", "spryker/gui": "^3.0.0", @@ -22438,9 +22438,9 @@ ], "description": "Country module", "support": { - "source": "https://github.com/spryker/country/tree/4.1.0" + "source": "https://github.com/spryker/country/tree/4.2.0" }, - "time": "2023-05-04T11:09:49+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/country-data-import", @@ -22785,16 +22785,16 @@ }, { "name": "spryker/customer", - "version": "7.55.0", + "version": "7.55.1", "source": { "type": "git", "url": "https://github.com/spryker/customer.git", - "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca" + "reference": "b17fa1926524af1e88b3503d2751b50b08ab0258" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customer/zipball/5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", - "reference": "5133e3114b6e354c1e53bf59b0bf061f1bf6a4ca", + "url": "https://api.github.com/repos/spryker/customer/zipball/b17fa1926524af1e88b3503d2751b50b08ab0258", + "reference": "b17fa1926524af1e88b3503d2751b50b08ab0258", "shasum": "" }, "require": { @@ -22861,9 +22861,9 @@ ], "description": "Customer module", "support": { - "source": "https://github.com/spryker/customer/tree/7.55.0" + "source": "https://github.com/spryker/customer/tree/7.55.1" }, - "time": "2023-12-21T16:51:01+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/customer-access", @@ -23536,20 +23536,20 @@ }, { "name": "spryker/customers-rest-api", - "version": "1.21.2", + "version": "1.22.0", "source": { "type": "git", "url": "https://github.com/spryker/customers-rest-api.git", - "reference": "d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e" + "reference": "06ffb3f50b48382c093474d42bc441e46d4ddf5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/customers-rest-api/zipball/d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e", - "reference": "d0e2c7bb69760205d1b0e99b37f17e0b3f5a869e", + "url": "https://api.github.com/repos/spryker/customers-rest-api/zipball/06ffb3f50b48382c093474d42bc441e46d4ddf5f", + "reference": "06ffb3f50b48382c093474d42bc441e46d4ddf5f", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/checkout-rest-api-extension": "^1.5.0", "spryker/customer": "^7.30.0", "spryker/customers-rest-api-extension": "^1.1.0", @@ -23561,10 +23561,12 @@ "spryker/session": "^3.2.0 || ^4.0.0", "spryker/shipments-rest-api-extension": "^1.0.0", "spryker/symfony": "^3.0.0", + "spryker/util-text": "^1.1.0", "spryker/uuid-behavior": "^1.0.0" }, "require-dev": { "spryker/code-sniffer": "*", + "spryker/container": "*", "spryker/testify": "*" }, "suggest": { @@ -23590,9 +23592,9 @@ ], "description": "CustomersRestApi module", "support": { - "source": "https://github.com/spryker/customers-rest-api/tree/1.21.2" + "source": "https://github.com/spryker/customers-rest-api/tree/1.22.0" }, - "time": "2022-12-29T12:04:01+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/customers-rest-api-extension", @@ -44323,20 +44325,20 @@ }, { "name": "spryker/shipments-rest-api", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/spryker/shipments-rest-api.git", - "reference": "3e15d511a9e0010f9a34349bf186e7ea35c42165" + "reference": "fa12d576503e281a2dfce4852fcf292e6e9ee841" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipments-rest-api/zipball/3e15d511a9e0010f9a34349bf186e7ea35c42165", - "reference": "3e15d511a9e0010f9a34349bf186e7ea35c42165", + "url": "https://api.github.com/repos/spryker/shipments-rest-api/zipball/fa12d576503e281a2dfce4852fcf292e6e9ee841", + "reference": "fa12d576503e281a2dfce4852fcf292e6e9ee841", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "spryker/checkout-rest-api-extension": "^1.5.0", "spryker/glue-application": "^1.0.0", "spryker/glue-application-extension": "^1.0.0", @@ -44344,7 +44346,7 @@ "spryker/orders-rest-api-extension": "^1.1.0", "spryker/quote-requests-rest-api-extension": "^1.0.0", "spryker/shipment": "^6.11.0 || ^7.4.0 || ^8.17.0", - "spryker/shipments-rest-api-extension": "^1.2.0", + "spryker/shipments-rest-api-extension": "^1.3.0", "spryker/symfony": "^3.3.0", "spryker/transfer": "^3.27.0" }, @@ -44372,26 +44374,26 @@ ], "description": "ShipmentsRestApi module", "support": { - "source": "https://github.com/spryker/shipments-rest-api/tree/1.12.0" + "source": "https://github.com/spryker/shipments-rest-api/tree/1.13.0" }, - "time": "2023-11-01T10:06:20+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/shipments-rest-api-extension", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/spryker/shipments-rest-api-extension.git", - "reference": "93f9f65d3f52ce600726a2d134593ec33e6626dd" + "reference": "bfc42100139fb7b254121b87ba0521647ea26fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/shipments-rest-api-extension/zipball/93f9f65d3f52ce600726a2d134593ec33e6626dd", - "reference": "93f9f65d3f52ce600726a2d134593ec33e6626dd", + "url": "https://api.github.com/repos/spryker/shipments-rest-api-extension/zipball/bfc42100139fb7b254121b87ba0521647ea26fca", + "reference": "bfc42100139fb7b254121b87ba0521647ea26fca", "shasum": "" }, "require": { - "php": ">=8.0" + "php": ">=8.1" }, "require-dev": { "spryker/code-sniffer": "*" @@ -44413,9 +44415,9 @@ ], "description": "ShipmentsRestApiExtension module", "support": { - "source": "https://github.com/spryker/shipments-rest-api-extension/tree/1.2.0" + "source": "https://github.com/spryker/shipments-rest-api-extension/tree/1.3.0" }, - "time": "2023-11-01T10:06:20+00:00" + "time": "2024-01-03T14:15:34+00:00" }, { "name": "spryker/shopping-list-extension", From 40140e932829a0e44cb72d3f311e50c903d5b2be Mon Sep 17 00:00:00 2001 From: Dmitriy Krainiy Date: Thu, 11 Jan 2024 13:24:23 +0100 Subject: [PATCH 63/64] Update deploy.spryker-scosb2c.yml --- deploy.spryker-scosb2c.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/deploy.spryker-scosb2c.yml b/deploy.spryker-scosb2c.yml index 86af91e3a5..8a16cce8ee 100644 --- a/deploy.spryker-scosb2c.yml +++ b/deploy.spryker-scosb2c.yml @@ -96,30 +96,38 @@ groups: backend-api.de.scos-b2c.sh01.demo-spryker.com: store: DE entry-point: BackendApi + cors-allow-origin: '*' backend-api.at.scos-b2c.sh01.demo-spryker.com: store: AT entry-point: BackendApi + cors-allow-origin: '*' glue: application: glue endpoints: glue.de.scos-b2c.sh01.demo-spryker.com: store: DE + cors-allow-origin: '*' glue.at.scos-b2c.sh01.demo-spryker.com: store: AT + cors-allow-origin: '*' gluestorefront: application: glue-storefront endpoints: glue-storefront.de.scos-b2c.sh01.demo-spryker.com: store: DE + cors-allow-origin: '*' glue-storefront.at.scos-b2c.sh01.demo-spryker.com: store: AT + cors-allow-origin: '*' gluebackend: application: glue-backend endpoints: glue-backend.de.scos-b2c.sh01.demo-spryker.com: store: DE + cors-allow-origin: '*' glue-backend.at.scos-b2c.sh01.demo-spryker.com: store: AT + cors-allow-origin: '*' services: database: engine: mysql From 2c1eae16320d7d4d917176affd50321a8e431fa5 Mon Sep 17 00:00:00 2001 From: Spryker Bot Date: Thu, 11 Jan 2024 18:17:04 +0200 Subject: [PATCH 64/64] Auto-updating Spryker modules on 2023-12-07 10:46 for release group #5164 / Jira ticket PBC-3553 (#403) * Applied release group `PBC-3553 Added TaxApp compatibility with Dynamic Multi Store`, RG link https://api.release.spryker.com/release-group/5164 * ACP-1420: Fixed TaxApp tests * ACP-1420: Composer update * ACP-1420: Composer update * PBC-3241: Integration * PBC-3241: Integration [1] * PBC-3241: Integration [2] * PBC-3241: Integration [3] --------- Co-authored-by: upgrader Co-authored-by: Anton Zubariev --- composer.json | 2 +- composer.lock | 49 ++++++++++--------- config/Shared/config_default.php | 1 + config/Zed/oms/DummyPayment01.xml | 10 +--- .../CalculationDependencyProvider.php | 21 +++----- src/Pyz/Zed/Oms/OmsDependencyProvider.php | 11 +++++ .../Zed/TaxApp/TaxAppDependencyProvider.php | 48 ++++++++++++++++++ .../Communication/TaxAppConfigMessageTest.php | 12 ++--- .../_support/TaxAppCommunicationTester.php | 10 ++-- 9 files changed, 106 insertions(+), 58 deletions(-) create mode 100644 src/Pyz/Zed/TaxApp/TaxAppDependencyProvider.php diff --git a/composer.json b/composer.json index 28f5fa9272..6afaaf824b 100644 --- a/composer.json +++ b/composer.json @@ -211,7 +211,7 @@ "spryker/stores-api": "^1.0.0", "spryker/stores-backend-api": "^1.0.0", "spryker/stores-rest-api": "^1.2.0", - "spryker/tax-app": "^0.2.0", + "spryker/tax-app": "^0.3.1", "spryker/tax-product-connector": "^4.7.1", "spryker/up-selling-products-rest-api": "^1.2.2", "spryker/urls-rest-api": "^1.0.2", diff --git a/composer.lock b/composer.lock index 7f1365fa4d..12153e59bd 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": "ed1ff066a6c12033167b921f5f1d3854", + "content-hash": "653e9c9b5a9e6d04858b3c1b43bd2cec", "packages": [ { "name": "async-aws/core", @@ -29910,16 +29910,16 @@ }, { "name": "spryker/oms", - "version": "11.28.0", + "version": "11.29.0", "source": { "type": "git", "url": "https://github.com/spryker/oms.git", - "reference": "a8b5a3481a0ba5474e014d3d397eaee4410a7271" + "reference": "4571b837f13e37d381db6c109643c3387837feda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms/zipball/a8b5a3481a0ba5474e014d3d397eaee4410a7271", - "reference": "a8b5a3481a0ba5474e014d3d397eaee4410a7271", + "url": "https://api.github.com/repos/spryker/oms/zipball/4571b837f13e37d381db6c109643c3387837feda", + "reference": "4571b837f13e37d381db6c109643c3387837feda", "shasum": "" }, "require": { @@ -29933,7 +29933,7 @@ "spryker/mail": "^4.6.0", "spryker/mail-extension": "^1.0.0", "spryker/message-broker": "^1.2.1", - "spryker/oms-extension": "^1.3.0", + "spryker/oms-extension": "^1.4.0", "spryker/propel": "^3.28.0", "spryker/propel-orm": "^1.16.0", "spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0", @@ -29976,9 +29976,9 @@ ], "description": "Oms module", "support": { - "source": "https://github.com/spryker/oms/tree/11.28.0" + "source": "https://github.com/spryker/oms/tree/11.29.0" }, - "time": "2023-11-02T20:09:27+00:00" + "time": "2023-12-29T11:01:15+00:00" }, { "name": "spryker/oms-discount-connector", @@ -30031,21 +30031,21 @@ }, { "name": "spryker/oms-extension", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/spryker/oms-extension.git", - "reference": "5351c4b6f3772cc01eea83816a69515ea320c2ab" + "reference": "fa6eb2df3a453ad03fcd93b8ce6ed342936f829a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/oms-extension/zipball/5351c4b6f3772cc01eea83816a69515ea320c2ab", - "reference": "5351c4b6f3772cc01eea83816a69515ea320c2ab", + "url": "https://api.github.com/repos/spryker/oms-extension/zipball/fa6eb2df3a453ad03fcd93b8ce6ed342936f829a", + "reference": "fa6eb2df3a453ad03fcd93b8ce6ed342936f829a", "shasum": "" }, "require": { - "php": ">=7.2", - "spryker/transfer": "^3.8.0" + "php": ">=8.1", + "spryker/transfer": "^3.27.0" }, "require-dev": { "spryker/code-sniffer": "*" @@ -30067,9 +30067,9 @@ ], "description": "OmsExtension module", "support": { - "source": "https://github.com/spryker/oms-extension/tree/1.3.0" + "source": "https://github.com/spryker/oms-extension/tree/1.4.0" }, - "time": "2020-06-23T16:50:44+00:00" + "time": "2023-12-29T11:01:15+00:00" }, { "name": "spryker/oms-multi-thread", @@ -46127,20 +46127,20 @@ }, { "name": "spryker/tax-app", - "version": "0.2.0", + "version": "0.3.1", "source": { "type": "git", "url": "https://github.com/spryker/tax-app.git", - "reference": "a6b7a4375f28cb65ffd99e69e1835654c52646d9" + "reference": "ca927c58e707f01909f10e599bf40d59bf8af1cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spryker/tax-app/zipball/a6b7a4375f28cb65ffd99e69e1835654c52646d9", - "reference": "a6b7a4375f28cb65ffd99e69e1835654c52646d9", + "url": "https://api.github.com/repos/spryker/tax-app/zipball/ca927c58e707f01909f10e599bf40d59bf8af1cc", + "reference": "ca927c58e707f01909f10e599bf40d59bf8af1cc", "shasum": "" }, "require": { - "php": ">=8.0", + "php": ">=8.1", "psr/http-message": "^1.0.0", "spryker/calculation-extension": "^1.0.0", "spryker/guzzle": "^2.4.1", @@ -46149,6 +46149,7 @@ "spryker/message-broker": "^1.5.0", "spryker/message-broker-extension": "^1.0.0", "spryker/oauth-client": "^1.4.0", + "spryker/oms-extension": "^1.4.0", "spryker/propel-orm": "^1.18.0", "spryker/ramsey-uuid": "^2.0.0", "spryker/sales": "^11.0.0", @@ -46192,9 +46193,9 @@ ], "description": "TaxApp module", "support": { - "source": "https://github.com/spryker/tax-app/tree/0.2.0" + "source": "https://github.com/spryker/tax-app/tree/0.3.1" }, - "time": "2023-10-26T12:55:48+00:00" + "time": "2024-01-10T08:27:19+00:00" }, { "name": "spryker/tax-app-extension", @@ -60898,5 +60899,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.2.0" } diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index dfd29438e0..f82455d68e 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -705,6 +705,7 @@ = $config[OauthClientConstants::TENANT_IDENTIFIER] = $config[PaymentConstants::TENANT_IDENTIFIER] = $config[AppCatalogGuiConstants::TENANT_IDENTIFIER] + = $config[TaxAppConstants::TENANT_IDENTIFIER] = getenv('SPRYKER_TENANT_IDENTIFIER') ?: ''; $config[MessageBrokerConstants::MESSAGE_TO_CHANNEL_MAP] = diff --git a/config/Zed/oms/DummyPayment01.xml b/config/Zed/oms/DummyPayment01.xml index 876271bd39..fec56fb371 100644 --- a/config/Zed/oms/DummyPayment01.xml +++ b/config/Zed/oms/DummyPayment01.xml @@ -32,9 +32,7 @@ - - cancellable - + @@ -107,12 +105,6 @@ skip timeout - - confirmed - cancelled - cancel - - waiting picking list generation scheduled diff --git a/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php b/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php index 706903b885..a168d8012f 100644 --- a/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php +++ b/src/Pyz/Zed/Calculation/CalculationDependencyProvider.php @@ -17,7 +17,6 @@ use Spryker\Zed\Calculation\Communication\Plugin\Calculator\ItemDiscountAmountFullAggregatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\ItemProductOptionPriceAggregatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\ItemSubtotalAggregatorPlugin; -use Spryker\Zed\Calculation\Communication\Plugin\Calculator\ItemTaxAmountFullAggregatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\NetTotalCalculatorPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\OrderTaxTotalCalculationPlugin; use Spryker\Zed\Calculation\Communication\Plugin\Calculator\PriceCalculatorPlugin; @@ -42,9 +41,6 @@ use Spryker\Zed\Shipment\Communication\Plugin\Calculation\FilterObsoleteShipmentExpensesCalculatorPlugin; use Spryker\Zed\Shipment\Communication\Plugin\Calculation\ShipmentTaxRateCalculatorPlugin; use Spryker\Zed\Shipment\Communication\Plugin\Calculation\ShipmentTotalCalculatorPlugin; -use Spryker\Zed\Tax\Communication\Plugin\Calculator\TaxAmountAfterCancellationCalculatorPlugin; -use Spryker\Zed\Tax\Communication\Plugin\Calculator\TaxAmountCalculatorPlugin; -use Spryker\Zed\Tax\Communication\Plugin\Calculator\TaxRateAverageAggregatorPlugin; use Spryker\Zed\TaxApp\Communication\Plugin\Calculation\TaxAppCalculationPlugin; use Spryker\Zed\TaxProductConnector\Communication\Plugin\Calculation\ProductItemTaxRateCalculatorPlugin; @@ -122,6 +118,10 @@ class CalculationDependencyProvider extends SprykerCalculationDependencyProvider * TaxRateAverageAggregatorPlugin - average tax rate for item, used when recalculating canceled amount when refunded * - Item.taxRateAverageAggregation * + * TaxAppCalculationPlugin - Calculate tax using external tax application. Replaces all tax calculation plugins above. + * Replaced tax calculation plugins should be moved to {@link \Spryker\Zed\TaxApp\TaxAppDependencyProvider::getFallbackQuoteCalculationPlugins} method. + * Replaced tax calculation plugin stack should include all plugins which were present between extracted tax-related plugins. + * * ProductItemTaxRateCalculatorPlugin - Sets tax rate to item based on shipping address * - Item.taxRate * @@ -213,13 +213,10 @@ protected function getQuoteCalculatorPluginStack(Container $container): array new DiscountAmountAggregatorForGenericAmountPlugin(), new ItemDiscountAmountFullAggregatorPlugin(), - new TaxAmountCalculatorPlugin(), - new ItemTaxAmountFullAggregatorPlugin(), + new TaxAppCalculationPlugin(), new PriceToPayAggregatorPlugin(), - new TaxRateAverageAggregatorPlugin(), - new RefundableAmountCalculatorPlugin(), new CalculateBundlePricesPlugin(), @@ -229,7 +226,6 @@ protected function getQuoteCalculatorPluginStack(Container $container): array new DiscountTotalCalculatorPlugin(), new RefundTotalCalculatorPlugin(), new TaxTotalCalculatorPlugin(), - new TaxAppCalculationPlugin(), new GrandTotalCalculatorPlugin(), new NetTotalCalculatorPlugin(), @@ -261,13 +257,10 @@ protected function getOrderCalculatorPluginStack(Container $container): array new DiscountAmountAggregatorForGenericAmountPlugin(), new ItemDiscountAmountFullAggregatorPlugin(), - new TaxAmountCalculatorPlugin(), - new ItemTaxAmountFullAggregatorPlugin(), + new TaxAppCalculationPlugin(), new PriceToPayAggregatorPlugin(), - new TaxAmountAfterCancellationCalculatorPlugin(), - new RefundableAmountCalculatorPlugin(), new ExpenseTotalCalculatorPlugin(), @@ -275,7 +268,7 @@ protected function getOrderCalculatorPluginStack(Container $container): array new RefundTotalCalculatorPlugin(), new CanceledTotalCalculationPlugin(), new OrderTaxTotalCalculationPlugin(), - new TaxAppCalculationPlugin(), + new GrandTotalCalculatorPlugin(), new NetTotalCalculatorPlugin(), ]; diff --git a/src/Pyz/Zed/Oms/OmsDependencyProvider.php b/src/Pyz/Zed/Oms/OmsDependencyProvider.php index f48b87cda7..451dab82ae 100644 --- a/src/Pyz/Zed/Oms/OmsDependencyProvider.php +++ b/src/Pyz/Zed/Oms/OmsDependencyProvider.php @@ -33,6 +33,7 @@ use Spryker\Zed\Shipment\Dependency\Plugin\Oms\ShipmentManualEventGrouperPlugin; use Spryker\Zed\Shipment\Dependency\Plugin\Oms\ShipmentOrderMailExpanderPlugin; use Spryker\Zed\TaxApp\Communication\Plugin\Oms\Command\SubmitPaymentTaxInvoicePlugin; +use Spryker\Zed\TaxApp\Communication\Plugin\Oms\OrderRefundedEventListenerPlugin; use Spryker\Zed\WarehouseAllocation\Communication\Plugin\Oms\SalesOrderWarehouseAllocationCommandPlugin; class OmsDependencyProvider extends SprykerOmsDependencyProvider @@ -175,4 +176,14 @@ protected function getTimeoutProcessorPlugins(): array new InitiationTimeoutProcessorPlugin(), ]; } + + /** + * @return array<\Spryker\Zed\OmsExtension\Dependency\Plugin\OmsEventTriggeredListenerPluginInterface> + */ + protected function getOmsEventTriggeredListenerPlugins(): array + { + return [ + new OrderRefundedEventListenerPlugin(), + ]; + } } diff --git a/src/Pyz/Zed/TaxApp/TaxAppDependencyProvider.php b/src/Pyz/Zed/TaxApp/TaxAppDependencyProvider.php new file mode 100644 index 0000000000..06014f6b5c --- /dev/null +++ b/src/Pyz/Zed/TaxApp/TaxAppDependencyProvider.php @@ -0,0 +1,48 @@ + + */ + protected function getFallbackQuoteCalculationPlugins(): array + { + return [ + new TaxAmountCalculatorPlugin(), + new ItemTaxAmountFullAggregatorPlugin(), + new PriceToPayAggregatorPlugin(), + new TaxRateAverageAggregatorPlugin(), + ]; + } + + /** + * {@inheritDoc} + * + * @return array<\Spryker\Zed\CalculationExtension\Dependency\Plugin\CalculationPluginInterface> + */ + protected function getFallbackOrderCalculationPlugins(): array + { + return [ + new TaxAmountCalculatorPlugin(), + new ItemTaxAmountFullAggregatorPlugin(), + new PriceToPayAggregatorPlugin(), + new TaxAmountAfterCancellationCalculatorPlugin(), + ]; + } +} diff --git a/tests/PyzTest/Zed/MessageBroker/MessageHandlers/TaxApp/Communication/TaxAppConfigMessageTest.php b/tests/PyzTest/Zed/MessageBroker/MessageHandlers/TaxApp/Communication/TaxAppConfigMessageTest.php index 7cab6c4e0c..1f6a5a3fc7 100644 --- a/tests/PyzTest/Zed/MessageBroker/MessageHandlers/TaxApp/Communication/TaxAppConfigMessageTest.php +++ b/tests/PyzTest/Zed/MessageBroker/MessageHandlers/TaxApp/Communication/TaxAppConfigMessageTest.php @@ -9,8 +9,8 @@ use Codeception\Test\Unit; use Generated\Shared\Transfer\ConfigureTaxAppTransfer; +use Generated\Shared\Transfer\DeleteTaxAppTransfer; use Generated\Shared\Transfer\MessageAttributesTransfer; -use Generated\Shared\Transfer\StoreTransfer; use PyzTest\Zed\MessageBroker\TaxAppCommunicationTester; /** @@ -55,7 +55,6 @@ public function testConfigureTaxAppMessageIsSuccessfullyHandled(): void MessageAttributesTransfer::STORE_REFERENCE => static::STORE_REFERENCE, ], [ ConfigureTaxAppTransfer::VENDOR_CODE => static::VENDOR_CODE, - ConfigureTaxAppTransfer::API_URL => 'url', ConfigureTaxAppTransfer::IS_ACTIVE => true, ]); @@ -75,12 +74,12 @@ public function testDeleteTaxAppMessageIsSuccessfullyHandled(): void $storeTransfer = $this->tester->getAllowedStore(); $this->tester->setStoreReferenceData([$storeTransfer->getName() => static::STORE_REFERENCE]); - $this->createDummyTaxAppConfig($storeTransfer); + $this->createDummyTaxAppConfig(); $deleteTaxAppTransfer = $this->tester->buildDeleteTaxAppTransfer([ MessageAttributesTransfer::STORE_REFERENCE => static::STORE_REFERENCE, ], [ - ConfigureTaxAppTransfer::VENDOR_CODE => static::VENDOR_CODE, + DeleteTaxAppTransfer::VENDOR_CODE => static::VENDOR_CODE, ]); // Act @@ -91,16 +90,15 @@ public function testDeleteTaxAppMessageIsSuccessfullyHandled(): void } /** - * @param \Generated\Shared\Transfer\StoreTransfer $storeTransfer - * * @return void */ - protected function createDummyTaxAppConfig(StoreTransfer $storeTransfer): void + protected function createDummyTaxAppConfig(): void { $this->tester->handleTaxAppMessage( $this->tester->buildConfigureTaxAppTransfer([ MessageAttributesTransfer::STORE_REFERENCE => static::STORE_REFERENCE, ConfigureTaxAppTransfer::VENDOR_CODE => static::VENDOR_CODE, + ConfigureTaxAppTransfer::IS_ACTIVE => true, ]), ); } diff --git a/tests/PyzTest/Zed/MessageBroker/_support/TaxAppCommunicationTester.php b/tests/PyzTest/Zed/MessageBroker/_support/TaxAppCommunicationTester.php index aa7f7c78a2..ac64813d8f 100644 --- a/tests/PyzTest/Zed/MessageBroker/_support/TaxAppCommunicationTester.php +++ b/tests/PyzTest/Zed/MessageBroker/_support/TaxAppCommunicationTester.php @@ -13,6 +13,7 @@ use Generated\Shared\Transfer\ConfigureTaxAppTransfer; use Generated\Shared\Transfer\DeleteTaxAppTransfer; use Generated\Shared\Transfer\StoreTransfer; +use Generated\Shared\Transfer\TaxAppApiUrlsTransfer; use Orm\Zed\TaxApp\Persistence\SpyTaxAppConfig; use Orm\Zed\TaxApp\Persistence\SpyTaxAppConfigQuery; use Spryker\Shared\Kernel\Transfer\TransferInterface; @@ -47,9 +48,12 @@ public function assertTaxAppConfigIsSavedCorrectlyForStore(StoreTransfer $storeT { $taxAppConfigEntity = $this->findTaxAppConfigEntity($storeTransfer, $configureTaxAppTransfer->getVendorCode()); - $this->assertEquals($taxAppConfigEntity->getApiUrl(), $configureTaxAppTransfer->getApiUrl()); + $taxAppConfigApiUrlsTransfer = (new TaxAppApiUrlsTransfer())->fromArray(json_decode($taxAppConfigEntity->getApiUrls(), true)); + + $this->assertEquals($taxAppConfigApiUrlsTransfer->getRefundsUrl(), $configureTaxAppTransfer->getApiUrlsOrFail()->getRefundsUrlOrFail()); + $this->assertEquals($taxAppConfigApiUrlsTransfer->getQuotationUrl(), $configureTaxAppTransfer->getApiUrlsOrFail()->getQuotationUrlOrFail()); $this->assertEquals($taxAppConfigEntity->getVendorCode(), $configureTaxAppTransfer->getVendorCode()); - $this->assertEquals($taxAppConfigEntity->getApplicationId(), $configureTaxAppTransfer->getMessageAttributesOrFail()->getEmitterOrFail()); + $this->assertEquals($taxAppConfigEntity->getApplicationId(), $configureTaxAppTransfer->getMessageAttributesOrFail()->getActorIdOrFail()); $this->assertEquals($taxAppConfigEntity->getIsActive(), $configureTaxAppTransfer->getIsActive()); } @@ -74,7 +78,7 @@ public function assertTaxAppConfigIsRemovedForStore(StoreTransfer $storeTransfer */ public function buildConfigureTaxAppTransfer(array $messageAttributesSeed = [], array $configureTaxAppSeed = []): ConfigureTaxAppTransfer { - return (new ConfigureTaxAppBuilder())->seed($configureTaxAppSeed) + return (new ConfigureTaxAppBuilder())->seed($configureTaxAppSeed)->withApiUrls() ->withMessageAttributes($messageAttributesSeed) ->build(); }