diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 540e18449..a7b5a2089 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,9 @@ name: Build on: - push: ~ + push: + branches-ignore: + - 'dependabot/**' pull_request: ~ release: types: [created] @@ -19,32 +21,33 @@ jobs: strategy: fail-fast: false matrix: - php: ["8.0", "8.1"] - symfony: ["^4.4", "^5.4"] - sylius: ["~1.10.11", "~1.11.2"] - node: ["14.x"] - mysql: ["5.7", "8.0"] + php: ["8.4"] + symfony: ["^7.3"] + sylius: ["~2.2.0"] + node: ["22.x"] + mysql: ["8.4"] env: APP_ENV: test + BEHAT_BASE_URL: "https://127.0.0.1:8080/" DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}" steps: - - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: "${{ matrix.php }}" - extensions: intl, gd - tools: symfony + extensions: intl + tools: flex,symfony coverage: none - name: Setup Node - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: "${{ matrix.node }}" @@ -64,25 +67,17 @@ jobs: run: php -v | head -n 1 | awk '{ print $2 }' > .php-version - - name: Install certificates - run: symfony server:ca:install - - - - name: Run Chrome Headless - run: google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1 > /dev/null 2>&1 & - - - - name: Run webserver - run: (cd tests/Application && symfony server:start --port=8080 --dir=public --daemon) + name: Validate composer.json + run: composer validate --ansi --strict - name: Get Composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache Composer - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }} @@ -93,7 +88,8 @@ jobs: name: Restrict Symfony version if: matrix.symfony != '' run: | - composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^1.10" + composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^2.4" + composer global config --no-plugins allow-plugins.symfony/flex true composer config extra.symfony.require "${{ matrix.symfony }}" - @@ -103,16 +99,40 @@ jobs: - name: Install PHP dependencies - run: composer update --no-interaction + run: composer install --no-interaction + + - + name: Validate container + run: vendor/bin/console lint:container + + - + name: Run ECS + run: vendor/bin/ecs check + + - + name: Run PHPStan + run: vendor/bin/phpstan analyse -c phpstan.neon -l max src/ + + - + name: Run Psalm + run: vendor/bin/psalm + + - + name: Run PHPSpec + run: vendor/bin/phpspec run --ansi -f progress --no-interaction + + - + name: Run unit tests + run: vendor/bin/phpunit --colors=always --testsuite=unit - name: Get Yarn cache directory id: yarn-cache - run: echo "::set-output name=dir::$(yarn cache dir)" + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - name: Cache Yarn - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{ steps.yarn-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json **/yarn.lock') }} @@ -121,61 +141,88 @@ jobs: - name: Install JS dependencies - run: (cd tests/Application && yarn install) + run: (cd vendor/sylius/test-application && yarn install) - name: Prepare test application database run: | - (cd tests/Application && bin/console doctrine:database:create -vvv) - (cd tests/Application && bin/console doctrine:migrations:migrate -n -vvv -q) + vendor/bin/console doctrine:database:create -vvv + vendor/bin/console doctrine:schema:create -vvv + + - + name: Validate database schema + run: vendor/bin/console doctrine:schema:validate - name: Prepare test application assets run: | - (cd tests/Application && bin/console assets:install public -vvv) - (cd tests/Application && yarn build) + vendor/bin/console assets:install -vvv + (cd vendor/sylius/test-application && yarn build) - name: Prepare test application cache - run: (cd tests/Application && bin/console cache:warmup -vvv) + run: vendor/bin/console cache:warmup -vvv - name: Load fixtures in test application - run: (cd tests/Application && bin/console sylius:fixtures:load -n) - - - - name: Validate composer.json - run: composer validate --ansi --strict - - - - name: Validate database schema - run: (cd tests/Application && bin/console doctrine:schema:validate) + run: vendor/bin/console sylius:fixtures:load -n - - name: Run security check - run: symfony security:check + name: Run Non-unit PHPUnit tests + run: vendor/bin/phpunit --colors=always --testsuite=non-unit - - name: Run PHPStan - run: vendor/bin/phpstan analyse -c phpstan.neon -l max src/ + name: Install certificates + run: symfony server:ca:install || true - - name: Run PHPSpec - run: vendor/bin/phpspec run --ansi -f progress --no-interaction + name: Run Chrome Headless + run: google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1 > /dev/null 2>&1 & - - name: Run PHPUnit - run: vendor/bin/phpunit --colors=always + name: Run webserver + run: symfony server:start --port=8080 --daemon - name: Run Behat - run: vendor/bin/behat --colors --strict -vvv --no-interaction -f progress || vendor/bin/behat --colors --strict -vvv --no-interaction -f progress --rerun + run: vendor/bin/behat --colors --strict -vvv --no-interaction || vendor/bin/behat --colors --strict -vvv --no-interaction --rerun - name: Upload Behat logs - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 if: failure() with: - name: Behat logs + name: "Behat logs - ${{ matrix.sylius }}-${{ github.run_id }}-${{ github.run_number }}" path: etc/build/ if-no-files-found: ignore + compression-level: 6 + overwrite: true + + roave_bc_check: + name: Roave BC Check + runs-on: ubuntu-latest + env: + PHP_VERSION: 8.4 + steps: + - + name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - + name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: "${{ env.PHP_VERSION }}" + extensions: intl + tools: flex,symfony + coverage: none + + - + name: Install roave/backward-compatibility-check. + run: composer require --dev roave/backward-compatibility-check --no-plugins + + - + name: Run roave/backward-compatibility-check. + run: vendor/bin/roave-backward-compatibility-check --format=github-actions diff --git a/.gitignore b/.gitignore index 2fba55ec9..783cd5c40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /bin/* !/bin/.gitkeep +!/bin/create_console_symlink.php /vendor/ /node_modules/ @@ -8,8 +9,16 @@ /etc/build/* !/etc/build/.gitkeep -/tests/Application/yarn.lock +/var/ /web/media /.phpunit.result.cache +/.php-version + +/compose.override.yml +/compose.test.yml +/docker/xdebug.ini + +/tests/TestApplication/.env.local +/tests/TestApplication/.env.*.local diff --git a/README.md b/README.md index f35172096..2a22d0b5f 100644 --- a/README.md +++ b/README.md @@ -34,28 +34,44 @@ After creating an Order via Admin panel, this new Order is listed like any other ## Installation -#### Beware! - -> This installation instruction assumes that you're using Symfony Flex. If you don't, take a look at the -[legacy installation instruction](docs/legacy_installation.md). However, we strongly encourage you to use -Symfony Flex, it's much quicker! :) +Requires Sylius `~2.2.0` and PHP `^8.2`. 1. Require plugin with composer: ```bash - composer require sylius/admin-order-creation-plugin + composer require webgriffe/sylius-admin-order-creation-plugin ``` - + > Remember to allow community recipes with `composer config extra.symfony.allow-contrib true` or during plugin installation process -2. Copy Sylius templates overridden in plugin to your templates directory (e.g `templates/bundles/`): +2. Register the bundle in `config/bundles.php`: + + ```php + Webgriffe\SyliusAdminOrderCreationPlugin\WebgriffeSyliusAdminOrderCreationPlugin::class => ['all' => true], + ``` + +3. Import plugin configuration in `config/packages/sylius_admin_order_creation_plugin.yaml`: + + ```yaml + imports: + - { resource: "@WebgriffeSyliusAdminOrderCreationPlugin/config/config.yaml" } + ``` + +4. Import plugin routes in `config/routes/sylius_admin_order_creation_plugin.yaml`: + + ```yaml + sylius_admin_order_creation_plugin: + resource: "@WebgriffeSyliusAdminOrderCreationPlugin/config/routing.yaml" + ``` + +5. Copy Sylius templates overridden in plugin to your templates directory (e.g `templates/bundles/`): ```bash mkdir -p templates/bundles/SyliusAdminBundle/ - cp -R vendor/sylius/admin-order-creation-plugin/src/Resources/views/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/ + cp -R vendor/webgriffe/sylius-admin-order-creation-plugin/templates/bundles/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/ ``` -3. Override repositories +6. Override repositories 1. Create repository classes ```bash @@ -71,8 +87,8 @@ Symfony Flex, it's much quicker! :) namespace App\Repository; - use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryInterface; - use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryTrait; + use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryInterface; + use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryTrait; use Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository as BaseCustomerRepository; final class CustomerRepository extends BaseCustomerRepository implements CustomerRepositoryInterface @@ -88,8 +104,8 @@ Symfony Flex, it's much quicker! :) namespace App\Repository; - use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryInterface; - use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryTrait; + use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryInterface; + use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryTrait; use Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository as BaseProductVariantRepository; final class ProductVariantRepository extends BaseProductVariantRepository implements ProductVariantRepositoryInterface @@ -118,7 +134,7 @@ Symfony Flex, it's much quicker! :) ## Extension points Admin Order Creation Plugin makes it possible to add custom discount during order creation - thus some of Order -Show templates need to be replaced with those placed in `Resources/views` package. +Show templates need to be replaced with those placed in the `templates/bundles/SyliusAdminBundle` directory. Payment link generation and sending process is based on logic placed in the PaymentLinkCreationListener class. Thus, it can be easily replaced with suitable implementation. @@ -134,6 +150,36 @@ it with a proper tag. Admin Order Creation process is based on Symfony Forms. To find out more about Symfony Forms extension possibilities, check out [Symfony Docs](https://symfony.com/doc/current/form/create_form_type_extension.html). +## Development + +### Docker + +1. Copy `compose.override.dist.yml` to `compose.override.yml` and adjust it to your needs. + +2. Start the containers: + + ```bash + docker compose up -d + ``` + +3. Install PHP dependencies and initialize the test application: + + ```bash + docker compose exec php composer install + docker compose exec php composer test-app-init + ``` + +4. The test application is available at `http://localhost`. + +### Running the test suite + +```bash +docker compose exec php composer suite +``` + +runs ECS, PHPStan, Psalm, PHPSpec, PHPUnit and Behat in sequence (each can also be run individually via `composer ecs`, +`composer phpstan`, `composer psalm`, `composer phpspec`, `composer phpunit`, `composer behat`). + ## Security issues If you think that you have found a security issue, please do not use the issue tracker and do not post it publicly. diff --git a/UPGRADE.md b/UPGRADE.md index b9429eff0..3cd51577e 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -32,8 +32,8 @@ declare(strict_types=1); namespace App\Doctrine\ORM; -use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryInterface; -use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryTrait; +use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\CustomerRepositoryTrait; use Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository as BaseCustomerRepository; final class CustomerRepository extends BaseCustomerRepository implements CustomerRepositoryInterface @@ -50,8 +50,8 @@ declare(strict_types=1); namespace App\Doctrine\ORM; -use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryInterface; -use Sylius\AdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryTrait; +use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM\ProductVariantRepositoryTrait; use Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository as BaseProductVariantRepository; final class ProductVariantRepository extends BaseProductVariantRepository implements ProductVariantRepositoryInterface diff --git a/tests/Application/config/api_platform/.gitignore b/assets/admin/entrypoint.js similarity index 100% rename from tests/Application/config/api_platform/.gitignore rename to assets/admin/entrypoint.js diff --git a/tests/Application/public/media/image/.gitignore b/assets/shop/entrypoint.js similarity index 100% rename from tests/Application/public/media/image/.gitignore rename to assets/shop/entrypoint.js diff --git a/behat.yml.dist b/behat.yml.dist index bab155d7e..43e50dd11 100644 --- a/behat.yml.dist +++ b/behat.yml.dist @@ -3,50 +3,42 @@ imports: - tests/Behat/Resources/suites.yml default: + formatters: + pretty: + verbose: true + paths: false + snippets: false + extensions: DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~ - FriendsOfBehat\MinkDebugExtension\ServiceContainer\MinkDebugExtension: + FriendsOfBehat\MinkDebugExtension: directory: etc/build clean_start: false screenshot: true Behat\MinkExtension: files_path: "%paths.base%/vendor/sylius/sylius/src/Sylius/Behat/Resources/fixtures/" - base_url: "https://127.0.0.1:8080/" + base_url: "%env(BEHAT_BASE_URL)%" default_session: symfony - javascript_session: chrome_headless + javascript_session: chromedriver sessions: symfony: symfony: ~ - chrome_headless: + chromedriver: + chrome: + api_url: http://127.0.0.1:9222 + validate_certificate: false + chrome_headless_second_session: chrome: api_url: http://127.0.0.1:9222 validate_certificate: false - chrome: - selenium2: - browser: chrome - capabilities: - browserName: chrome - browser: chrome - version: "" - marionette: null # https://github.com/Behat/MinkExtension/pull/311 - chrome: - switches: - - "start-fullscreen" - - "start-maximized" - - "no-sandbox" - extra_capabilities: - unexpectedAlertBehaviour: accept - firefox: - selenium2: - browser: firefox show_auto: false FriendsOfBehat\SymfonyExtension: - bootstrap: tests/Application/config/bootstrap.php + bootstrap: vendor/sylius/test-application/config/bootstrap.php kernel: - class: Tests\Sylius\AdminOrderCreationPlugin\Application\Kernel + class: Sylius\TestApplication\Kernel FriendsOfBehat\VariadicExtension: ~ diff --git a/bin/create_console_symlink.php b/bin/create_console_symlink.php new file mode 100644 index 000000000..9dbf03cb1 --- /dev/null +++ b/bin/create_console_symlink.php @@ -0,0 +1,53 @@ + {$targetRelativeFromBin}"); +} + +@chmod($linkPath, 0755); +info("Created symlink: bin/console -> {$targetRelativeFromBin}"); diff --git a/compose.override.dist.yml b/compose.override.dist.yml new file mode 100644 index 000000000..5b4e56e62 --- /dev/null +++ b/compose.override.dist.yml @@ -0,0 +1,66 @@ +services: + php: + image: ghcr.io/sylius/sylius-php:8.3-fixuid-xdebug-alpine + user: ${DOCKER_USER:-1000:1000} + depends_on: + mysql: + condition: service_healthy + environment: + # You can move these environment variables to your .env.local file + APP_ENV: ${ENV:-prod} + APP_SECRET: EDITME + DATABASE_URL: "mysql://root@mysql/sylius_%kernel.environment%" + MAILER_DSN: smtp://mailhog:1025 + MESSENGER_TRANSPORT_DSN: doctrine://default + SYLIUS_MESSENGER_TRANSPORT_MAIN_DSN: doctrine://default + SYLIUS_MESSENGER_TRANSPORT_MAIN_FAILED_DSN: doctrine://default?queue_name=main_failed + SYLIUS_MESSENGER_TRANSPORT_CATALOG_PROMOTION_REMOVAL_DSN: doctrine://default?queue_name=catalog_promotion_removal + SYLIUS_MESSENGER_TRANSPORT_CATALOG_PROMOTION_REMOVAL_FAILED_DSN: doctrine://default?queue_name=catalog_promotion_removal_failed + SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_DSN: sync:// + SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_FAILED_DSN: sync:// + PHP_DATE_TIMEZONE: ${PHP_DATE_TIMEZONE:-UTC} + XDEBUG_MODE: debug + XDEBUG_CONFIG: >- + client_host=host.docker.internal + client_port=9003 + # This should correspond to the server declared in PHPStorm `Preferences | Languages & Frameworks | PHP | Servers` + # Then PHPStorm will use the corresponding path mappings + PHP_IDE_CONFIG: serverName=sylius + extra_hosts: + - "host.docker.internal:host-gateway" + volumes: + - .:/srv/sylius:rw,cached + # if you develop on Linux, you may use a bind-mounted host directory instead +# - ./var:/srv/sylius/var:rw + - ./public:/srv/sylius/public:rw,delegated + # if you develop on Linux, you may use a bind-mounted host directory instead +# - ./public/media:/srv/sylius/public/media:rw + - public-media:/srv/sylius/public/media:rw + nginx: + environment: + WORKING_DIR: /srv/sylius/vendor/sylius/test-application + volumes: + - .:/srv/sylius:ro + # if you develop on Linux, you may use a bind-mounted host directory instead +# - ./public/media:/srv/sylius/public/media:ro + ports: + - "80:80" + nodejs: + image: node:${NODE_VERSION:-20}-alpine + user: ${DOCKER_USER:-1000:1000} + working_dir: /srv/sylius + entrypoint: [ "/bin/sh","-c" ] + command: + - | + cd vendor/sylius/test-application + yarn install + yarn build + volumes: + - .:/srv/sylius:rw,cached + - ./public:/srv/sylius/public:rw,delegated + mailhog: + ports: + - "8025:8025" + +volumes: + public-media: diff --git a/compose.yml b/compose.yml new file mode 100644 index 000000000..3e76f267d --- /dev/null +++ b/compose.yml @@ -0,0 +1,40 @@ +services: + php: + image: ghcr.io/sylius/sylius-php:8.4-alpine + mysql: + image: mysql:8.4 + platform: linux/amd64 + healthcheck: + test: '/usr/bin/mysql --execute "SHOW databases;"' + timeout: 3s + interval: 1s + retries: 10 + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: 1 + cap_add: + - SYS_NICE # prevent "mbind: Operation not permitted" errors + ports: + - ${MYSQL_PORT:-3306}:3306 + volumes: + - sylius-admin-order-creation-plugin-mysql-data:/var/lib/mysql:rw + nginx: + image: ghcr.io/sylius/sylius-nginx:latest + depends_on: + - php + chrome: + image: chromedp/headless-shell:stable + command: --remote-allow-origins=* + + chrome-proxy: + image: nginx:alpine + volumes: + - ./docker/nginx/chrome-proxy.conf:/etc/nginx/conf.d/default.conf:ro + depends_on: + - chrome + + mailhog: + # do not use in production! + image: axllent/mailpit:latest + +volumes: + sylius-admin-order-creation-plugin-mysql-data: diff --git a/composer.json b/composer.json index 4047626fd..a4c0dde1f 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "sylius/admin-order-creation-plugin", + "name": "webgriffe/sylius-admin-order-creation-plugin", "type": "sylius-plugin", "keywords": ["sylius", "sylius-plugin", "symfony", "e-commerce", "admin order creation"], "description": "Sylius Plugin for order creation in Admin panel", @@ -19,59 +19,118 @@ } ], "require": { - "php": "^8.0", - - "sylius/sylius": "~1.10.11 || ~1.11.2", - "friendsofsymfony/jsrouting-bundle": "^2.2" + "php": "^8.2", + "api-platform/metadata": "4.3.3", + "api-platform/symfony": "4.3.3", + "sylius/sylius": "^2.0", + "symfony/config": "7.4.8", + "symfony/property-info": "7.4.8", + "symfony/type-info": "7.4.8" }, "require-dev": { - "behat/behat": "^3.6", - "behat/mink-selenium2-driver": "^1.4", - "dmore/behat-chrome-extension": "^1.3", - "dmore/chrome-mink-driver": "^2.7", - "friends-of-behat/mink": "^1.8", - "friends-of-behat/mink-browserkit-driver": "^1.3", - "friends-of-behat/mink-extension": "^2.5", + "behat/behat": "^3.16", + "behat/mink": "^1.13", + "behat/mink-selenium2-driver": "^1.7", + "dbrekelmans/bdi": "^1.4", + "dmore/behat-chrome-extension": "^1.4", + "dmore/chrome-mink-driver": "^2.9", + "friends-of-behat/mink-browserkit-driver": "^1.6", + "friends-of-behat/mink-debug-extension": "^2.1", + "friends-of-behat/mink-extension": "^2.7", "friends-of-behat/page-object-extension": "^0.3", - "friends-of-behat/suite-settings-extension": "^1.0", - "friends-of-behat/symfony-extension": "^2.1", - "friends-of-behat/variadic-extension": "^1.3", - "friends-of-behat/mink-debug-extension": "^2.0", - "friendsofsymfony/oauth-server-bundle": "^1.6 || >2.0.0-alpha.0 ^2.0@dev", - "phpspec/phpspec": "^7.0", - "phpstan/phpstan": "0.12.96", - "phpstan/phpstan-webmozart-assert": "0.12.12", - "phpunit/phpunit": "^9.5", + "friends-of-behat/suite-settings-extension": "^1.1", + "friends-of-behat/symfony-extension": "^2.6", + "friends-of-behat/variadic-extension": "^1.6", + "phpspec/phpspec": "^8.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.12", + "phpstan/phpstan-doctrine": "^1.3", + "phpstan/phpstan-strict-rules": "^1.3.0", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^10.5", "polishsymfonycommunity/symfony-mocker-container": "^1.0", - "se/selenium-server-standalone": "^2.52", - "sylius-labs/coding-standard": "^3.0", - "symfony/debug-bundle": "^4.4 || ^5.4", - "symfony/dotenv": "^4.4 || ^5.4", - "symfony/web-profiler-bundle": "^4.4 || ^5.4" + "psalm/plugin-symfony": "^5.2", + "rector/rector": "^1.0", + "sylius-labs/coding-standard": "^4.4", + "sylius/sylius-rector": "^2.0", + "sylius/test-application": "^2.0.0@alpha", + "symfony/debug-bundle": "^6.4 || ^7.4", + "symfony/dotenv": "^6.4 || ^7.4", + "symfony/intl": "^6.4 || ^7.4", + "symfony/runtime": "^6.4 || ^7.4", + "symfony/web-profiler-bundle": "^6.4 || ^7.4", + "symfony/webpack-encore-bundle": "^2.2", + "vimeo/psalm": "^6.13" }, - "conflict": { - "doctrine/dbal": "^3.0" + "config": { + "sort-packages": true, + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": false, + "php-http/discovery": false, + "phpstan/extension-installer": true, + "symfony/flex": true, + "symfony/runtime": true + } + }, + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + }, + "symfony": { + "require": "^7.4" + }, + "public-dir": "vendor/sylius/test-application/public" }, - "prefer-stable": true, "autoload": { "psr-4": { - "Sylius\\AdminOrderCreationPlugin\\": "src/", - "Tests\\Sylius\\AdminOrderCreationPlugin\\": "tests/" + "Webgriffe\\SyliusAdminOrderCreationPlugin\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\Webgriffe\\SyliusAdminOrderCreationPlugin\\": ["tests/", "tests/TestApplication/src/"] } }, "scripts": { - "analyse": [ - "@composer validate --strict", - "vendor/bin/phpstan analyse -c phpstan.neon -l max src/", - "vendor/bin/ecs check src/ spec/" + "database-reset": [ + "vendor/bin/console doctrine:database:drop --force --if-exists", + "vendor/bin/console doctrine:database:create", + "vendor/bin/console doctrine:migration:migrate -n", + "vendor/bin/console sylius:fixtures:load -n" + ], + "frontend-clear": [ + "cd vendor/sylius/test-application && yarn install && yarn build", + "vendor/bin/console assets:install" ], - "fix": [ - "vendor/bin/ecs check src/ spec/ --fix" + "test-app-init": [ + "@database-reset", + "@frontend-clear" + ], + "ecs": "ecs", + "phpstan": "phpstan analyse", + "psalm": "psalm --no-cache", + "phpunit": "phpunit", + "phpspec": "phpspec run", + "behat": "behat --strict -vvv --no-interaction || behat --strict -vvv --no-interaction --rerun", + "suite": [ + "@ecs", + "@phpstan", + "@psalm", + "@phpunit", + "@phpspec", + "@behat" + ], + "auto-scripts": { + "security-checker security:check": "script" + }, + "post-install-cmd": [ + "@create-console-symlink" + ], + "post-update-cmd": [ + "@create-console-symlink" + ], + "create-console-symlink": [ + "@php bin/create_console_symlink.php" ] - }, - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } } } diff --git a/src/Resources/config/app/ajax.yml b/config/ajax.yaml similarity index 81% rename from src/Resources/config/app/ajax.yml rename to config/ajax.yaml index 22c3e21cb..ee343d57f 100644 --- a/src/Resources/config/app/ajax.yml +++ b/config/ajax.yaml @@ -2,7 +2,7 @@ sylius_admin_order_creation_ajax_customer: path: /customer-search methods: [GET] defaults: - _controller: sylius.controller.customer:indexAction + _controller: sylius.controller.customer::indexAction _format: json _sylius: permission: true @@ -14,7 +14,7 @@ sylius_admin_order_creation_ajax_customer_by_email: path: /customer-search-by-email methods: [GET] defaults: - _controller: sylius.controller.customer:indexAction + _controller: sylius.controller.customer::indexAction _format: json _sylius: permission: true @@ -26,7 +26,7 @@ sylius_admin_order_creation_ajax_product_variants_by_phrase_and_channel: path: /product-variant-search/{channelCode} methods: [GET] defaults: - _controller: sylius.controller.product_variant:indexAction + _controller: sylius.controller.product_variant::indexAction _format: json _sylius: permission: true @@ -42,7 +42,7 @@ sylius_admin_order_creation_ajax_product_variant_by_codes: path: /product-variant-search-by-code methods: [GET] defaults: - _controller: sylius.controller.product_variant:indexAction + _controller: sylius.controller.product_variant::indexAction _format: json _sylius: permission: true @@ -55,6 +55,6 @@ sylius_admin_order_creation_ajax_provide_available_shipping_methods: path: /admin/orders/available-shipping-methods/{customerId}/{channelCode}/{shipmentNumber} methods: [GET] defaults: - _controller: Sylius\AdminOrderCreationPlugin\Controller\ProvideAvailableShippingMethodsAction + _controller: Webgriffe\SyliusAdminOrderCreationPlugin\Controller\ProvideAvailableShippingMethodsAction options: expose: true diff --git a/src/Resources/config/app/config.yml b/config/config.yaml similarity index 85% rename from src/Resources/config/app/config.yml rename to config/config.yaml index 8964c6e19..b9b3656f0 100644 --- a/src/Resources/config/app/config.yml +++ b/config/config.yaml @@ -1,5 +1,5 @@ imports: - - { resource: '@SyliusAdminOrderCreationPlugin/Resources/config/services.xml' } + - { resource: '@WebgriffeSyliusAdminOrderCreationPlugin/config/services.xml' } sylius_grid: grids: @@ -29,4 +29,4 @@ sylius_mailer: emails: order_created_in_admin_panel: subject: 'sylius_admin_order_creation.email.order_created.subject' - template: '@SyliusAdminOrderCreationPlugin/Emails/orderCreated.html.twig' + template: '@WebgriffeSyliusAdminOrderCreationPlugin/emails/order_created.html.twig' diff --git a/src/Resources/config/app/routing.yml b/config/routing.yaml similarity index 67% rename from src/Resources/config/app/routing.yml rename to config/routing.yaml index a235552ba..4f1a2d60c 100644 --- a/src/Resources/config/app/routing.yml +++ b/config/routing.yaml @@ -2,7 +2,7 @@ sylius_admin_order_creation_select_order_customer: path: /admin/orders/new/select-customer methods: [GET] defaults: - _controller: Sylius\AdminOrderCreationPlugin\Controller\SelectNewOrderCustomerAction + _controller: Webgriffe\SyliusAdminOrderCreationPlugin\Controller\SelectNewOrderCustomerAction sylius_admin_order_creation_customer_create: path: /admin/orders/new/customer/{customerEmail}/{channelCode} @@ -10,7 +10,7 @@ sylius_admin_order_creation_customer_create: options: expose: true defaults: - _controller: Sylius\AdminOrderCreationPlugin\Controller\CustomerCreationAction + _controller: Webgriffe\SyliusAdminOrderCreationPlugin\Controller\CustomerCreationAction sylius_admin_order_creation_order_create: path: /admin/orders/new/{customerId}/{channelCode} @@ -18,14 +18,14 @@ sylius_admin_order_creation_order_create: options: expose: true defaults: - _controller: sylius.controller.order:createAction + _controller: sylius.controller.order::createAction _sylius: event: admin_create section: admin permission: true - template: '@SyliusAdminOrderCreationPlugin/Order/create.html.twig' + template: '@WebgriffeSyliusAdminOrderCreationPlugin/order/create.html.twig' form: - type: Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType + type: Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType factory: method: ['expr:service("Sylius\\AdminOrderCreationPlugin\\Factory\\OrderFactory")', 'createForCustomerAndChannel'] arguments: [$customerId, $channelCode] @@ -36,10 +36,10 @@ sylius_admin_order_creation_order_preview: path: /admin/orders/new/{customerId}/{channelCode}/preview methods: [POST] defaults: - _controller: Sylius\AdminOrderCreationPlugin\Controller\OrderPreviewAction + _controller: Webgriffe\SyliusAdminOrderCreationPlugin\Controller\OrderPreviewAction _sylius: form: - type: Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType + type: Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType factory: method: ['expr:service("Sylius\\AdminOrderCreationPlugin\\Factory\\OrderFactory")', 'createForCustomerAndChannel'] arguments: [$customerId, $channelCode] @@ -50,14 +50,14 @@ sylius_admin_order_creation_order_create_from_preview: options: expose: true defaults: - _controller: sylius.controller.order:createAction + _controller: sylius.controller.order::createAction _sylius: event: admin_create section: admin permission: true - template: '@SyliusAdminOrderCreationPlugin/Order/preview.html.twig' + template: '@WebgriffeSyliusAdminOrderCreationPlugin/order/preview.html.twig' form: - type: Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType + type: Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType factory: method: ['expr:service("Sylius\\AdminOrderCreationPlugin\\Factory\\OrderFactory")', 'createForCustomerAndChannel'] arguments: [$customerId, $channelCode] @@ -68,7 +68,7 @@ sylius_admin_order_creation_order_create_back: options: expose: true defaults: - _controller: Sylius\AdminOrderCreationPlugin\Controller\OrderCreateAction + _controller: Webgriffe\SyliusAdminOrderCreationPlugin\Controller\OrderCreateAction requirements: customerId: \d+ @@ -78,21 +78,18 @@ sylius_admin_order_creation_reorder: options: expose: true defaults: - _controller: sylius.controller.order:createAction + _controller: sylius.controller.order::createAction _sylius: event: admin_create section: admin permission: true - template: '@SyliusAdminOrderCreationPlugin/Order/create.html.twig' + template: '@WebgriffeSyliusAdminOrderCreationPlugin/order/create.html.twig' form: - type: Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType + type: Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType factory: method: ['expr:service("Sylius\\AdminOrderCreationPlugin\\Factory\\OrderFactory")', 'createFromExistingOrder'] arguments: ["expr:service('sylius.repository.order').find($id)"] sylius_admin_order_creation_ajax: prefix: admin/ajax - resource: "@SyliusAdminOrderCreationPlugin/Resources/config/app/ajax.yml" - -fos_js_routing: - resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml" + resource: "@WebgriffeSyliusAdminOrderCreationPlugin/config/ajax.yaml" diff --git a/src/Resources/config/services.xml b/config/services.xml similarity index 52% rename from src/Resources/config/services.xml rename to config/services.xml index 5e3f1bce4..085c00fa9 100644 --- a/src/Resources/config/services.xml +++ b/config/services.xml @@ -8,115 +8,115 @@ - + - - + + - - + + - - - + + + - - + + - + - + - + %sylius.model.order.class% %sylius.form.type.order.validation_groups% - + %sylius.model.order_item.class% %sylius.form.type.order_item.validation_groups% - + %sylius.model.shipment.class% %sylius.form.type.shipment.validation_groups% - + %sylius.model.payment.class% %sylius.form.type.payment.validation_groups% - + %sylius.model.adjustment.class% - + - + - + - + - + - + - + - + - - + + - + - + - + sylius_shop_order_after_pay - + - - + + diff --git a/src/Resources/config/services/reorder_processing.xml b/config/services/reorder_processing.xml similarity index 56% rename from src/Resources/config/services/reorder_processing.xml rename to config/services/reorder_processing.xml index 9eddea77d..e3879ee09 100644 --- a/src/Resources/config/services/reorder_processing.xml +++ b/config/services/reorder_processing.xml @@ -4,26 +4,26 @@ - + - + - + - + - + - - + + diff --git a/docker/nginx/chrome-proxy.conf b/docker/nginx/chrome-proxy.conf new file mode 100644 index 000000000..88e01e577 --- /dev/null +++ b/docker/nginx/chrome-proxy.conf @@ -0,0 +1,22 @@ +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +server { + listen 9222; + + sub_filter '"ws://localhost/' '"ws://chrome-proxy:9222/'; + sub_filter_once off; + sub_filter_types application/json; + + location / { + proxy_pass http://chrome:9222; + proxy_set_header Host localhost; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_buffering off; + proxy_read_timeout 86400; + } +} diff --git a/docs/legacy_installation.md b/docs/legacy_installation.md deleted file mode 100644 index 2b9443770..000000000 --- a/docs/legacy_installation.md +++ /dev/null @@ -1,61 +0,0 @@ -### Legacy installation (without Symfony Flex) - -1. Require plugin with composer: - - ```bash - composer require sylius/admin-order-creation-plugin - ``` - -2. Import configuration to `app/config/config.yml`: - - ```yaml - imports: - - { resource: "@SyliusAdminOrderCreationPlugin/Resources/config/app/config.yml" } - ``` - -3. Import routing to `app/config/routing.yml`: - - ```yaml - sylius_admin_order_creation: - resource: "@SyliusAdminOrderCreationPlugin/Resources/config/app/routing.yml" - ``` - -4. Add plugin class to your `AppKernel`: - - ```php - $bundles = [ - new \FOS\JsRoutingBundle\FOSJsRoutingBundle(), - new \Sylius\AdminOrderCreationPlugin\SyliusAdminOrderCreationPlugin(), - ]; - ``` - -5. Copy Sylius templates overridden in plugin to your templates directory (e.g `app/Resources/SyliusAdminBundle/views/`): - - ```bash - mkdir -p app/Resources/SyliusAdminBundle/views/ - cp -R vendor/sylius/admin-order-creation-plugin/src/Resources/views/SyliusAdminBundle/* app/Resources/SyliusAdminBundle/views/ - ``` - -6. Override repositories - - As shown [here](tests/Application/Doctrine/ORM) - and [here](tests/Application/config/packages/_sylius.yaml). - -7. Copy plugin migrations to your migrations directory (e.g. `src/Migrations`) and apply them to your database: - - ```bash - cp -R vendor/sylius/admin-order-creation-plugin/migrations/* src/Migrations - bin/console doctrine:migrations:migrate - ``` - -8. Install `FOSJsRoutingBundle` assets: - - ```bash - bin/console assets:install --symlink web - ``` - -8. Clear cache: - - ```bash - bin/console cache:clear - ``` diff --git a/easy-coding-standard.neon b/easy-coding-standard.neon deleted file mode 100644 index 004aef043..000000000 --- a/easy-coding-standard.neon +++ /dev/null @@ -1,2 +0,0 @@ -includes: - - vendor/sylius-labs/coding-standard/easy-coding-standard.neon diff --git a/easy-coding-standard.yml b/easy-coding-standard.yml deleted file mode 100644 index 240359952..000000000 --- a/easy-coding-standard.yml +++ /dev/null @@ -1,2 +0,0 @@ -imports: - - { resource: 'vendor/sylius-labs/coding-standard/easy-coding-standard.yml' } diff --git a/ecs.php b/ecs.php new file mode 100644 index 000000000..ebb975777 --- /dev/null +++ b/ecs.php @@ -0,0 +1,21 @@ +paths([ + __DIR__ . '/src', + __DIR__ . '/spec', + __DIR__ . '/tests/Behat', + __DIR__ . '/ecs.php', + ]); + + $ecsConfig->import('vendor/sylius-labs/coding-standard/ecs.php'); + + $ecsConfig->skip([ + VisibilityRequiredFixer::class => ['*Spec.php'], + ]); +}; diff --git a/phpspec.yml.dist b/phpspec.yml.dist index 1540dc27c..4eb8d1977 100644 --- a/phpspec.yml.dist +++ b/phpspec.yml.dist @@ -1,4 +1,4 @@ suites: main: - namespace: Sylius\AdminOrderCreationPlugin - psr4_prefix: Sylius\AdminOrderCreationPlugin + namespace: Webgriffe\SyliusAdminOrderCreationPlugin + psr4_prefix: Webgriffe\SyliusAdminOrderCreationPlugin diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 000000000..712647762 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,276 @@ +parameters: + ignoreErrors: + - + message: "#^Parameter \\#1 \\$email of method Sylius\\\\AdminOrderCreationPlugin\\\\Provider\\\\CustomerProviderInterface\\:\\:provideNewCustomer\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Controller/CustomerCreationAction.php + + - + message: "#^Parameter \\#1 \\$customerId of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Controller/OrderCreateAction.php + + - + message: "#^Parameter \\#2 \\$channelCode of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Controller/OrderCreateAction.php + + - + message: "#^Parameter \\#1 \\$customerId of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Controller/OrderPreviewAction.php + + - + message: "#^Parameter \\#1 \\$order of method Sylius\\\\Component\\\\Order\\\\Processor\\\\OrderProcessorInterface\\:\\:process\\(\\) expects Sylius\\\\Component\\\\Order\\\\Model\\\\OrderInterface, mixed given\\.$#" + count: 1 + path: src/Controller/OrderPreviewAction.php + + - + message: "#^Parameter \\#2 \\$channelCode of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Controller/OrderPreviewAction.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: src/Controller/ProvideAvailableShippingMethodsAction.php + + - + message: "#^Cannot call method getAmount\\(\\) on mixed\\.$#" + count: 1 + path: src/Form/Type/AdjustmentType.php + + - + message: "#^Cannot call method setAmount\\(\\) on mixed\\.$#" + count: 1 + path: src/Form/Type/AdjustmentType.php + + - + message: "#^Cannot call method setLabel\\(\\) on mixed\\.$#" + count: 1 + path: src/Form/Type/AdjustmentType.php + + - + message: "#^Cannot call method setType\\(\\) on mixed\\.$#" + count: 1 + path: src/Form/Type/AdjustmentType.php + + - + message: "#^Cannot access offset 'billingAddress' on mixed\\.$#" + count: 1 + path: src/Form/Type/NewOrderType.php + + - + message: "#^Cannot access offset 'shippingAddress' on mixed\\.$#" + count: 1 + path: src/Form/Type/NewOrderType.php + + - + message: "#^Parameter \\#1 \\$orderData of method Sylius\\\\AdminOrderCreationPlugin\\\\Form\\\\Type\\\\NewOrderType\\:\\:isBillingAddressEmpty\\(\\) expects array, mixed given\\.$#" + count: 1 + path: src/Form/Type/NewOrderType.php + + - + message: "#^Cannot access offset 'quantity' on mixed\\.$#" + count: 2 + path: src/Form/Type/OrderItemType.php + + - + message: "#^Parameter \\#1 \\$customerId of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Preparator/NewOrderPreparator.php + + - + message: "#^Parameter \\#2 \\$channelCode of method Sylius\\\\AdminOrderCreationPlugin\\\\Factory\\\\OrderFactoryInterface\\:\\:createForCustomerAndChannel\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Preparator/NewOrderPreparator.php + + - + message: "#^Parameter \\#1 \\$gatewayName of method Payum\\\\Core\\\\Security\\\\GenericTokenFactoryInterface\\:\\:createAuthorizeToken\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: src/Provider/PaymentTokenProvider.php + + - + message: "#^Parameter \\#1 \\$gatewayName of method Payum\\\\Core\\\\Security\\\\GenericTokenFactoryInterface\\:\\:createCaptureToken\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: src/Provider/PaymentTokenProvider.php + + - + message: "#^Cannot call method getCode\\(\\) on Sylius\\\\Component\\\\Product\\\\Model\\\\ProductVariantInterface\\|false\\.$#" + count: 2 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Cannot call method getDescriptor\\(\\) on Sylius\\\\Component\\\\Product\\\\Model\\\\ProductVariantInterface\\|false\\.$#" + count: 4 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Parameter \\#1 \\$customerEmail of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Page\\\\Admin\\\\NewOrderCustomerPageInterface\\:\\:selectCustomer\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Parameter \\#1 \\$productCode of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Page\\\\Admin\\\\OrderPreviewPageInterface\\:\\:hasItemDiscountValidationMessage\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Parameter \\#1 \\$productCode of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Page\\\\Admin\\\\OrderPreviewPageInterface\\:\\:lowerItemWithProductPriceBy\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Parameter \\#1 \\$productVariantDescriptor of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Admin\\\\OrderCreateFormElementInterface\\:\\:removeProduct\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Parameter \\#1 \\$productVariantDescriptor of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Admin\\\\OrderCreateFormElementInterface\\:\\:specifyQuantity\\(\\) expects string, string\\|null given\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Property Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Context\\\\Admin\\\\ManagingOrdersContext\\:\\:\\$addressComparator is never read, only written\\.$#" + count: 1 + path: tests/Behat/Context/Admin/ManagingOrdersContext.php + + - + message: "#^Cannot call method click\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Cannot call method clickLink\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Cannot call method findAll\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Cannot call method getText\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Cannot call method hasClass\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 3 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Cannot call method isVisible\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Admin\\\\OrderCreateFormElement\\:\\:__construct\\(\\) has parameter \\$parameters with no type specified\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Admin\\\\OrderCreateFormElement\\:\\:addItemAndWaitForIt\\(\\) should return Behat\\\\Mink\\\\Element\\\\NodeElement but returns Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Parameter \\#1 \\$addressForm of method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Admin\\\\OrderCreateFormElement\\:\\:fillAddressData\\(\\) expects Behat\\\\Mink\\\\Element\\\\NodeElement, Behat\\\\Mink\\\\Element\\\\NodeElement\\|null given\\.$#" + count: 2 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Parameter \\#2 \\$value of method Behat\\\\Mink\\\\Element\\\\TraversableElement\\:\\:fillField\\(\\) expects array\\\\|bool\\|string, int given\\.$#" + count: 2 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Parameter \\#2 \\$value of method Behat\\\\Mink\\\\Element\\\\TraversableElement\\:\\:fillField\\(\\) expects array\\\\|bool\\|string, string\\|null given\\.$#" + count: 6 + path: tests/Behat/Element/Admin/OrderCreateFormElement.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Element\\:\\:__construct\\(\\) has parameter \\$parameters with no type specified\\.$#" + count: 1 + path: tests/Behat/Element/Element.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Element\\:\\:getSelectorAsXpath\\(\\) has parameter \\$selector with no type specified\\.$#" + count: 1 + path: tests/Behat/Element/Element.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Element\\:\\:resolveParameters\\(\\) should return string but returns array\\.$#" + count: 1 + path: tests/Behat/Element/Element.php + + - + message: "#^Parameter \\#1 \\$selector of method Behat\\\\Mink\\\\Selector\\\\SelectorsHandler\\:\\:selectorToXpath\\(\\) expects string, int\\|string\\|null given\\.$#" + count: 1 + path: tests/Behat/Element/Element.php + + - + message: "#^Property Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Element\\\\Element\\:\\:\\$parameters has no type specified\\.$#" + count: 1 + path: tests/Behat/Element/Element.php + + - + message: "#^Method Tests\\\\Sylius\\\\AdminOrderCreationPlugin\\\\Behat\\\\Page\\\\Admin\\\\NewOrderCustomerPage\\:\\:__construct\\(\\) has parameter \\$parameters with no type specified\\.$#" + count: 1 + path: tests/Behat/Page/Admin/NewOrderCustomerPage.php + + - + message: "#^Cannot call method clickLink\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method fillField\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method find\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method focus\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method getText\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method has\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method press\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Page/Admin/OrderPreviewPage.php + + - + message: "#^Cannot call method find\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Page/Admin/OrderShowPage.php + + - + message: "#^Cannot call method click\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 2 + path: tests/Behat/Service/AutoCompleteSelector.php + + - + message: "#^Cannot call method getText\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Service/AutoCompleteSelector.php + + - + message: "#^Cannot call method hasClass\\(\\) on Behat\\\\Mink\\\\Element\\\\NodeElement\\|null\\.$#" + count: 1 + path: tests/Behat/Service/AutoCompleteSelector.php diff --git a/phpstan.neon b/phpstan.neon index 642a2abba..7c4addf1f 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,14 +1,23 @@ +includes: + - phpstan-baseline.neon + parameters: - checkMissingIterableValueType: false - checkGenericClassInNonGenericObjectType: false + level: max + reportUnmatchedIgnoredErrors: false + paths: + - src + - tests/Behat - excludes_analyse: + excludePaths: # Makes PHPStan crash - 'src/DependencyInjection/Configuration.php' # Test dependencies - - 'tests/Application/app/**.php' - - 'tests/Application/src/**.php' + - 'tests/TestApplication/src/**.php' ignoreErrors: + - + identifier: missingType.generics + - + identifier: missingType.iterableValue - '/Parameter #1 \$configuration of method Symfony\\Component\\DependencyInjection\\Extension\\Extension::processConfiguration\(\) expects Symfony\\Component\\Config\\Definition\\ConfigurationInterface, Symfony\\Component\\Config\\Definition\\ConfigurationInterface\|null given\./' diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 811338620..bce1cd440 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,18 +1,43 @@ - + bootstrap="vendor/sylius/test-application/config/bootstrap.php" +> + + + + + + + + + - + tests + tests/Application + tests/TestApplication + tests/Behat - - - - - + + tests/Unit + + + + tests/Functional + + + + tests/Integration + + + + tests/Functional + tests/Integration + + diff --git a/psalm-baseline.xml b/psalm-baseline.xml new file mode 100644 index 000000000..6217b22f8 --- /dev/null +++ b/psalm-baseline.xml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/psalm.xml b/psalm.xml new file mode 100644 index 000000000..fb2940b6d --- /dev/null +++ b/psalm.xml @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/spec/EventListener/OrderCreationListenerSpec.php b/spec/EventListener/OrderCreationListenerSpec.php index c3c000b47..9a6217f6b 100644 --- a/spec/EventListener/OrderCreationListenerSpec.php +++ b/spec/EventListener/OrderCreationListenerSpec.php @@ -2,29 +2,28 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\EventListener; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\EventListener; use PhpSpec\ObjectBehavior; -use SM\Factory\FactoryInterface; +use Sylius\Abstraction\StateMachine\StateMachineInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderCheckoutTransitions; use Sylius\Component\Order\Processor\OrderProcessorInterface; -use Sylius\Component\Resource\StateMachine\StateMachineInterface; use Symfony\Component\EventDispatcher\GenericEvent; final class OrderCreationListenerSpec extends ObjectBehavior { function let( OrderProcessorInterface $orderProcessor, - FactoryInterface $stateMachineFactory + StateMachineInterface $stateMachine, ) { - $this->beConstructedWith($orderProcessor, $stateMachineFactory); + $this->beConstructedWith($orderProcessor, $stateMachine); } function it_processes_order_before_creation( OrderProcessorInterface $orderProcessor, GenericEvent $event, - OrderInterface $order + OrderInterface $order, ) { $event->getSubject()->willReturn($order); @@ -35,58 +34,52 @@ function it_processes_order_before_creation( } function it_completes_order_before_creation( - FactoryInterface $stateMachineFactory, - GenericEvent $event, StateMachineInterface $stateMachine, - OrderInterface $order + GenericEvent $event, + OrderInterface $order, ) { $event->getSubject()->willReturn($order); - $stateMachineFactory->get($order, 'sylius_order_checkout')->willReturn($stateMachine); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(true); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(true); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldBeCalled(); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(true); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(true); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); $this->completeOrderBeforeCreation($event); } function it_completes_order_without_payment_before_creation( - FactoryInterface $stateMachineFactory, - GenericEvent $event, StateMachineInterface $stateMachine, - OrderInterface $order + GenericEvent $event, + OrderInterface $order, ) { $event->getSubject()->willReturn($order); - $stateMachineFactory->get($order, 'sylius_order_checkout')->willReturn($stateMachine); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(true); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(false); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldNotBeCalled(); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(true); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(false); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldNotBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); $this->completeOrderBeforeCreation($event); } function it_completes_order_without_shipping_before_creation( - FactoryInterface $stateMachineFactory, - GenericEvent $event, StateMachineInterface $stateMachine, - OrderInterface $order + GenericEvent $event, + OrderInterface $order, ) { $event->getSubject()->willReturn($order); - $stateMachineFactory->get($order, 'sylius_order_checkout')->willReturn($stateMachine); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(false); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldNotBeCalled(); - $stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(true); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldBeCalled(); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_ADDRESS)->shouldBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->willReturn(false); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)->shouldNotBeCalled(); + $stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->willReturn(true); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)->shouldBeCalled(); + $stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_COMPLETE)->shouldBeCalled(); $this->completeOrderBeforeCreation($event); } diff --git a/spec/EventListener/PaymentLinkCreationListenerSpec.php b/spec/EventListener/PaymentLinkCreationListenerSpec.php index a37379312..d552854ea 100644 --- a/spec/EventListener/PaymentLinkCreationListenerSpec.php +++ b/spec/EventListener/PaymentLinkCreationListenerSpec.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\EventListener; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\EventListener; use Doctrine\Persistence\ObjectManager; -use Payum\Core\Model\GatewayConfigInterface; use Payum\Core\Payum; use Payum\Core\Security\TokenInterface; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; -use Sylius\AdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; +use Sylius\Component\Payment\Model\GatewayConfigInterface; use Symfony\Component\EventDispatcher\GenericEvent; final class PaymentLinkCreationListenerSpec extends ObjectBehavior @@ -21,7 +21,7 @@ final class PaymentLinkCreationListenerSpec extends ObjectBehavior function let( PaymentTokenProviderInterface $paymentTokenProvider, ObjectManager $orderManager, - OrderPaymentLinkSenderInterface $orderPaymentLinkSender + OrderPaymentLinkSenderInterface $orderPaymentLinkSender, ) { $this->beConstructedWith($paymentTokenProvider, $orderManager, $orderPaymentLinkSender); } @@ -35,7 +35,7 @@ function it_sets_after_url_from_token_of_last_order_new_payment_and_sends_it( OrderInterface $order, PaymentInterface $payment, PaymentMethodInterface $paymentMethod, - GatewayConfigInterface $gatewayConfig + GatewayConfigInterface $gatewayConfig, ) { $event->getSubject()->willReturn($order); $order->getLastPayment(PaymentInterface::STATE_NEW)->willReturn($payment); @@ -81,7 +81,7 @@ function it_does_nothing_if_order_payment_gateway_is_offline( OrderInterface $order, PaymentInterface $payment, PaymentMethodInterface $paymentMethod, - GatewayConfigInterface $gatewayConfig + GatewayConfigInterface $gatewayConfig, ) { $event->getSubject()->willReturn($order); $order->getLastPayment(PaymentInterface::STATE_NEW)->willReturn($payment); diff --git a/spec/Factory/OrderFactorySpec.php b/spec/Factory/OrderFactorySpec.php index 3a4bd7254..b3848acf0 100644 --- a/spec/Factory/OrderFactorySpec.php +++ b/spec/Factory/OrderFactorySpec.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Factory; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Factory; use PhpSpec\ObjectBehavior; use Prophecy\Argument; -use Sylius\AdminOrderCreationPlugin\Factory\OrderFactoryInterface; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\Factory\OrderFactoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Channel\Repository\ChannelRepositoryInterface; use Sylius\Component\Core\Model\ChannelInterface; use Sylius\Component\Core\Model\CustomerInterface; @@ -23,13 +23,13 @@ function let( FactoryInterface $baseOrderFactory, CustomerRepositoryInterface $customerRepository, ChannelRepositoryInterface $channelRepository, - ReorderProcessor $reorderProcessor + ReorderProcessor $reorderProcessor, ) { $this->beConstructedWith( $baseOrderFactory, $customerRepository, $channelRepository, - $reorderProcessor + $reorderProcessor, ); } @@ -53,7 +53,7 @@ function it_creates_order_for_customer_with_default_channel_locale_and_currency( CustomerInterface $customer, ChannelInterface $channel, CurrencyInterface $currency, - LocaleInterface $locale + LocaleInterface $locale, ): void { $baseOrderFactory->createNew()->willReturn($order); @@ -79,7 +79,7 @@ function it_creates_order_for_customer_with_default_channel_locale_and_currency( function it_throws_an_exception_if_the_customer_does_not_exist( FactoryInterface $baseOrderFactory, - CustomerRepositoryInterface $customerRepository + CustomerRepositoryInterface $customerRepository, ): void { $customerRepository->find('1')->willReturn(null); @@ -97,7 +97,7 @@ function it_throws_an_exception_if_there_is_no_default_currency( ChannelRepositoryInterface $channelRepository, OrderInterface $order, CustomerInterface $customer, - ChannelInterface $channel + ChannelInterface $channel, ): void { $baseOrderFactory->createNew()->willReturn($order); @@ -123,7 +123,7 @@ function it_throws_an_exception_if_there_is_no_default_locale( OrderInterface $order, CustomerInterface $customer, ChannelInterface $channel, - CurrencyInterface $currency + CurrencyInterface $currency, ): void { $baseOrderFactory->createNew()->willReturn($order); @@ -150,7 +150,7 @@ function it_creates_reorder_from_an_existing_order( FactoryInterface $baseOrderFactory, ReorderProcessor $reorderProcessor, OrderInterface $order, - OrderInterface $reorder + OrderInterface $reorder, ): void { $baseOrderFactory->createNew()->willReturn($reorder); diff --git a/spec/Preparator/NewOrderPreparatorSpec.php b/spec/Preparator/NewOrderPreparatorSpec.php index 570214841..60c214ac9 100644 --- a/spec/Preparator/NewOrderPreparatorSpec.php +++ b/spec/Preparator/NewOrderPreparatorSpec.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Preparator; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Preparator; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\Factory\OrderFactoryInterface; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType; -use Sylius\AdminOrderCreationPlugin\Preparator\OrderPreparatorInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Factory\OrderFactoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Preparator\OrderPreparatorInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Order\Processor\OrderProcessorInterface; use Symfony\Component\Form\FormFactoryInterface; @@ -20,7 +20,7 @@ final class NewOrderPreparatorSpec extends ObjectBehavior function let( OrderFactoryInterface $orderFactory, FormFactoryInterface $formFactory, - OrderProcessorInterface $orderProcessor + OrderProcessorInterface $orderProcessor, ): void { $this->beConstructedWith($orderFactory, $formFactory, $orderProcessor); } @@ -37,7 +37,7 @@ function it_prepares_new_order_based_on_request_data( Request $request, OrderInterface $order, OrderInterface $orderWithData, - FormInterface $form + FormInterface $form, ): void { $request->attributes = new ParameterBag([ 'customerId' => '1', diff --git a/spec/Provider/AvailableShippingMethodsListProviderSpec.php b/spec/Provider/AvailableShippingMethodsListProviderSpec.php index 0919a7975..b32707eb3 100644 --- a/spec/Provider/AvailableShippingMethodsListProviderSpec.php +++ b/spec/Provider/AvailableShippingMethodsListProviderSpec.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Provider; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use PhpSpec\ObjectBehavior; use Sylius\Component\Core\Model\ShipmentInterface; @@ -20,7 +20,7 @@ function it_provides_supported_shipping_methods_list_for_order_shipment( ShippingMethodsResolverInterface $shippingMethodsResolver, ShipmentInterface $shipment, ShippingMethodInterface $freeShippingMethod, - ShippingMethodInterface $dhlShippingMethod + ShippingMethodInterface $dhlShippingMethod, ) { $shippingMethodsResolver->getSupportedMethods($shipment)->willReturn([ $freeShippingMethod, diff --git a/spec/Provider/CustomerProviderSpec.php b/spec/Provider/CustomerProviderSpec.php index febc7655d..6b4a290a0 100644 --- a/spec/Provider/CustomerProviderSpec.php +++ b/spec/Provider/CustomerProviderSpec.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Provider; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use InvalidArgumentException; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\Provider\CustomerProvider; -use Sylius\AdminOrderCreationPlugin\Provider\CustomerProviderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\CustomerProvider; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\CustomerProviderInterface; use Sylius\Component\Core\Model\CustomerInterface; use Sylius\Component\Core\Repository\CustomerRepositoryInterface; use Sylius\Component\Resource\Factory\FactoryInterface; @@ -31,7 +31,7 @@ function let(CustomerRepositoryInterface $customerRepository, FactoryInterface $ function it_finds_a_customer_by_id( CustomerRepositoryInterface $customerRepository, - CustomerInterface $customer + CustomerInterface $customer, ) { $customerRepository->find('1')->willReturn($customer); @@ -39,7 +39,7 @@ function it_finds_a_customer_by_id( } function it_throws_an_exception_if_no_customer_was_found( - CustomerRepositoryInterface $customerRepository + CustomerRepositoryInterface $customerRepository, ) { $customerRepository->find('2')->willReturn(null); @@ -50,7 +50,7 @@ function it_throws_an_exception_if_no_customer_was_found( function it_creates_a_customer_with_a_given_email( FactoryInterface $customerFactory, CustomerInterface $customer, - CustomerRepositoryInterface $customerRepository + CustomerRepositoryInterface $customerRepository, ) { $customerFactory->createNew()->willReturn($customer); diff --git a/spec/Provider/PaymentTokenProviderSpec.php b/spec/Provider/PaymentTokenProviderSpec.php index 82752c02d..3273fe18b 100644 --- a/spec/Provider/PaymentTokenProviderSpec.php +++ b/spec/Provider/PaymentTokenProviderSpec.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Provider; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Provider; -use Payum\Core\Model\GatewayConfigInterface; use Payum\Core\Payum; use Payum\Core\Security\GenericTokenFactoryInterface; use Payum\Core\Security\TokenInterface; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; use Sylius\Component\Core\Model\PaymentInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; +use Sylius\Component\Payment\Model\GatewayConfigInterface; final class PaymentTokenProviderSpec extends ObjectBehavior { @@ -31,7 +31,7 @@ function it_provides_authorize_token_for_payment_if_it_requires_authorization( PaymentInterface $payment, PaymentMethodInterface $paymentMethod, GatewayConfigInterface $gatewayConfig, - TokenInterface $token + TokenInterface $token, ) { $payum->getTokenFactory()->willReturn($tokenFactory); @@ -55,7 +55,7 @@ function it_provides_capture_token_for_payment( PaymentInterface $payment, PaymentMethodInterface $paymentMethod, GatewayConfigInterface $gatewayConfig, - TokenInterface $token + TokenInterface $token, ) { $payum->getTokenFactory()->willReturn($tokenFactory); diff --git a/spec/ReorderProcessing/ReorderDataProcessorSpec.php b/spec/ReorderProcessing/ReorderDataProcessorSpec.php index 17c2ced7a..311876622 100644 --- a/spec/ReorderProcessing/ReorderDataProcessorSpec.php +++ b/spec/ReorderProcessing/ReorderDataProcessorSpec.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Core\Model\AddressInterface; use Sylius\Component\Core\Model\ChannelInterface; use Sylius\Component\Core\Model\CustomerInterface; @@ -24,7 +24,7 @@ function it_copies_basic_order_data_to_reorder_instance( ChannelInterface $channel, CustomerInterface $customer, AddressInterface $shippingAddress, - AddressInterface $billingAddress + AddressInterface $billingAddress, ): void { $order->getChannel()->willReturn($channel); $order->getCustomer()->willReturn($customer); diff --git a/spec/ReorderProcessing/ReorderItemsProcessorSpec.php b/spec/ReorderProcessing/ReorderItemsProcessorSpec.php index 31198e142..c810feb2a 100644 --- a/spec/ReorderProcessing/ReorderItemsProcessorSpec.php +++ b/spec/ReorderProcessing/ReorderItemsProcessorSpec.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Doctrine\Common\Collections\ArrayCollection; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\OrderItemInterface; use Sylius\Component\Core\Model\ProductVariantInterface; @@ -19,7 +19,7 @@ final class ReorderItemsProcessorSpec extends ObjectBehavior function let( FactoryInterface $orderItemFactory, OrderItemQuantityModifierInterface $orderItemQuantityModifier, - OrderModifierInterface $orderModifier + OrderModifierInterface $orderModifier, ): void { $this->beConstructedWith($orderItemFactory, $orderItemQuantityModifier, $orderModifier); } @@ -40,7 +40,7 @@ function it_copies_items_from_existing_order_to_reorder_instance( OrderItemInterface $firstNewOrderItem, OrderItemInterface $secondNewOrderItem, ProductVariantInterface $firstProductVariant, - ProductVariantInterface $secondProductVariant + ProductVariantInterface $secondProductVariant, ): void { $order->getItems()->willReturn(new ArrayCollection([ $firstOrderItem->getWrappedObject(), diff --git a/spec/ReorderProcessing/ReorderPaymentProcessorSpec.php b/spec/ReorderProcessing/ReorderPaymentProcessorSpec.php index 563ce3925..f88715468 100644 --- a/spec/ReorderProcessing/ReorderPaymentProcessorSpec.php +++ b/spec/ReorderProcessing/ReorderPaymentProcessorSpec.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Doctrine\Common\Collections\ArrayCollection; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; @@ -30,7 +30,7 @@ function it_copies_payment_from_existing_order_to_reorder_instance( OrderInterface $reorder, PaymentInterface $payment, PaymentInterface $newPayment, - PaymentMethodInterface $paymentMethod + PaymentMethodInterface $paymentMethod, ): void { $order->hasPayments()->willReturn(true); $order->getPayments()->willReturn(new ArrayCollection([$payment->getWrappedObject()])); diff --git a/spec/ReorderProcessing/ReorderShipmentProcessorSpec.php b/spec/ReorderProcessing/ReorderShipmentProcessorSpec.php index d40da71c3..19294dae6 100644 --- a/spec/ReorderProcessing/ReorderShipmentProcessorSpec.php +++ b/spec/ReorderProcessing/ReorderShipmentProcessorSpec.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Doctrine\Common\Collections\ArrayCollection; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\ShipmentInterface; use Sylius\Component\Core\Model\ShippingMethodInterface; @@ -30,7 +30,7 @@ function it_copies_shipment_from_existing_order_to_reorder_instance( OrderInterface $reorder, ShipmentInterface $shipment, ShipmentInterface $newShipment, - ShippingMethodInterface $shippingMethod + ShippingMethodInterface $shippingMethod, ): void { $order->hasShipments()->willReturn(true); $order->getShipments()->willReturn(new ArrayCollection([$shipment->getWrappedObject()])); diff --git a/spec/Sender/OrderPaymentLinkSenderSpec.php b/spec/Sender/OrderPaymentLinkSenderSpec.php index 0c397c4f0..175263bfc 100644 --- a/spec/Sender/OrderPaymentLinkSenderSpec.php +++ b/spec/Sender/OrderPaymentLinkSenderSpec.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace spec\Sylius\AdminOrderCreationPlugin\Sender; +namespace spec\Webgriffe\SyliusAdminOrderCreationPlugin\Sender; use PhpSpec\ObjectBehavior; -use Sylius\AdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; use Sylius\Component\Core\Model\CustomerInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; @@ -27,7 +27,7 @@ function it_sends_payment_link_for_order_to_the_customer( SenderInterface $sender, OrderInterface $order, CustomerInterface $customer, - PaymentInterface $payment + PaymentInterface $payment, ) { $order->getLastPayment(PaymentInterface::STATE_NEW)->willReturn($payment); $order->getCustomer()->willReturn($customer); @@ -42,7 +42,7 @@ function it_sends_payment_link_for_order_to_the_customer( [ 'order' => $order, 'paymentLink' => 'http://payment-link.com', - ] + ], ) ->shouldBeCalled() ; diff --git a/src/Controller/CustomerCreationAction.php b/src/Controller/CustomerCreationAction.php index e3ae4ea08..e9d09b853 100644 --- a/src/Controller/CustomerCreationAction.php +++ b/src/Controller/CustomerCreationAction.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Controller; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Controller; -use Sylius\AdminOrderCreationPlugin\Provider\CustomerProviderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\CustomerProviderInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -20,7 +20,7 @@ final class CustomerCreationAction public function __construct( RouterInterface $router, - CustomerProviderInterface $customerProvider + CustomerProviderInterface $customerProvider, ) { $this->router = $router; $this->customerProvider = $customerProvider; @@ -36,8 +36,8 @@ public function __invoke(Request $request): Response [ 'customerId' => $customer->getId(), 'channelCode' => $request->attributes->get('channelCode'), - ] - ) + ], + ), ); } } diff --git a/src/Controller/OrderCreateAction.php b/src/Controller/OrderCreateAction.php index bd43332ce..a63a0a83a 100644 --- a/src/Controller/OrderCreateAction.php +++ b/src/Controller/OrderCreateAction.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Controller; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Controller; -use Sylius\AdminOrderCreationPlugin\Factory\OrderFactoryInterface; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Factory\OrderFactoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -25,7 +25,7 @@ final class OrderCreateAction public function __construct( OrderFactoryInterface $orderFactory, FormFactoryInterface $formFactory, - Environment $twig + Environment $twig, ) { $this->orderFactory = $orderFactory; $this->formFactory = $formFactory; @@ -42,7 +42,7 @@ public function __invoke(Request $request): Response $form = $this->formFactory->create(NewOrderType::class, $order); $form->handleRequest($request); - return new Response($this->twig->render('@SyliusAdminOrderCreationPlugin/Order/create.html.twig', [ + return new Response($this->twig->render('@WebgriffeSyliusAdminOrderCreationPlugin/order/create.html.twig', [ 'form' => $form->createView(), ])); } diff --git a/src/Controller/OrderPreviewAction.php b/src/Controller/OrderPreviewAction.php index 5f60575f8..70a7220eb 100644 --- a/src/Controller/OrderPreviewAction.php +++ b/src/Controller/OrderPreviewAction.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Controller; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Controller; -use Sylius\AdminOrderCreationPlugin\Factory\OrderFactoryInterface; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Factory\OrderFactoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType; use Sylius\Component\Order\Processor\OrderProcessorInterface; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\HttpFoundation\Request; @@ -30,7 +30,7 @@ public function __construct( OrderFactoryInterface $orderFactory, FormFactoryInterface $formFactory, OrderProcessorInterface $orderProcessor, - Environment $twig + Environment $twig, ) { $this->orderFactory = $orderFactory; $this->formFactory = $formFactory; @@ -49,7 +49,7 @@ public function __invoke(Request $request): Response $order = $form->handleRequest($request)->getData(); $this->orderProcessor->process($order); - return new Response($this->twig->render('@SyliusAdminOrderCreationPlugin/Order/preview.html.twig', [ + return new Response($this->twig->render('@WebgriffeSyliusAdminOrderCreationPlugin/order/preview.html.twig', [ 'form' => $form->createView(), ])); } diff --git a/src/Controller/ProvideAvailableShippingMethodsAction.php b/src/Controller/ProvideAvailableShippingMethodsAction.php index d9e901c02..da2220dc9 100644 --- a/src/Controller/ProvideAvailableShippingMethodsAction.php +++ b/src/Controller/ProvideAvailableShippingMethodsAction.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Controller; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Controller; -use Sylius\AdminOrderCreationPlugin\Preparator\OrderPreparatorInterface; -use Sylius\AdminOrderCreationPlugin\Provider\AvailableShippingMethodsListProvider; +use Webgriffe\SyliusAdminOrderCreationPlugin\Preparator\OrderPreparatorInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\AvailableShippingMethodsListProvider; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -20,7 +20,7 @@ final class ProvideAvailableShippingMethodsAction public function __construct( OrderPreparatorInterface $orderPreparator, - AvailableShippingMethodsListProvider $availableShippingMethodsListProvider + AvailableShippingMethodsListProvider $availableShippingMethodsListProvider, ) { $this->orderPreparator = $orderPreparator; $this->availableShippingMethodsListProvider = $availableShippingMethodsListProvider; diff --git a/src/Controller/SelectNewOrderCustomerAction.php b/src/Controller/SelectNewOrderCustomerAction.php index 188f18bbe..e44e9304b 100644 --- a/src/Controller/SelectNewOrderCustomerAction.php +++ b/src/Controller/SelectNewOrderCustomerAction.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Controller; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Controller; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderCustomerCreateType; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderCustomerSelectType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderCustomerCreateType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderCustomerSelectType; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -30,7 +30,7 @@ public function __invoke(Request $request): Response $selectCustomerForm = $this->formFactory->create(NewOrderCustomerSelectType::class); $createCustomerForm = $this->formFactory->create(NewOrderCustomerCreateType::class); - return new Response($this->twig->render('@SyliusAdminOrderCreationPlugin/Order/selectCustomer.html.twig', [ + return new Response($this->twig->render('@WebgriffeSyliusAdminOrderCreationPlugin/order/select_customer.html.twig', [ 'selectCustomerForm' => $selectCustomerForm->createView(), 'createCustomerForm' => $createCustomerForm->createView(), ])); diff --git a/src/DependencyInjection/Compiler/RegisterReorderProcessorsPass.php b/src/DependencyInjection/Compiler/RegisterReorderProcessorsPass.php index e506fc115..ce8d49777 100644 --- a/src/DependencyInjection/Compiler/RegisterReorderProcessorsPass.php +++ b/src/DependencyInjection/Compiler/RegisterReorderProcessorsPass.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\DependencyInjection\Compiler; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\DependencyInjection\Compiler; use Sylius\Bundle\ResourceBundle\DependencyInjection\Compiler\PrioritizedCompositeServicePass; @@ -11,10 +11,10 @@ final class RegisterReorderProcessorsPass extends PrioritizedCompositeServicePas public function __construct() { parent::__construct( - 'Sylius\AdminOrderCreationPlugin\ReorderProcessing\CompositeReorderProcessor', - 'Sylius\AdminOrderCreationPlugin\ReorderProcessing\CompositeReorderProcessor', + 'Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\CompositeReorderProcessor', + 'Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\CompositeReorderProcessor', 'sylius_admin_order_creation.reorder_processor', - 'addProcessor' + 'addProcessor', ); } } diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 1997d0487..a05617357 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\DependencyInjection; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\DependencyInjection; use Symfony\Component\Config\Definition\Builder\TreeBuilder; use Symfony\Component\Config\Definition\ConfigurationInterface; diff --git a/src/DependencyInjection/SyliusAdminOrderCreationExtension.php b/src/DependencyInjection/SyliusAdminOrderCreationExtension.php index 4f77fad5a..80d917589 100644 --- a/src/DependencyInjection/SyliusAdminOrderCreationExtension.php +++ b/src/DependencyInjection/SyliusAdminOrderCreationExtension.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\DependencyInjection; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\DependencyInjection; use Sylius\Bundle\CoreBundle\DependencyInjection\PrependDoctrineMigrationsTrait; use Symfony\Component\Config\FileLocator; @@ -18,7 +18,7 @@ final class SyliusAdminOrderCreationExtension extends Extension implements Prepe public function load(array $config, ContainerBuilder $container): void { $this->processConfiguration($this->getConfiguration([], $container), $config); - $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); + $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../../config')); } public function prepend(ContainerBuilder $container): void @@ -28,12 +28,12 @@ public function prepend(ContainerBuilder $container): void protected function getMigrationsNamespace(): string { - return 'Sylius\AdminOrderCreationPlugin\Migrations'; + return 'Webgriffe\SyliusAdminOrderCreationPlugin\Migrations'; } protected function getMigrationsDirectory(): string { - return '@SyliusAdminOrderCreationPlugin/Migrations'; + return '@WebgriffeSyliusAdminOrderCreationPlugin/src/Migrations'; } protected function getNamespacesOfMigrationsExecutedBefore(): array diff --git a/src/Doctrine/ORM/CustomerRepositoryInterface.php b/src/Doctrine/ORM/CustomerRepositoryInterface.php index c6cb7d7b8..00c5c2842 100644 --- a/src/Doctrine/ORM/CustomerRepositoryInterface.php +++ b/src/Doctrine/ORM/CustomerRepositoryInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Doctrine\ORM; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM; use Sylius\Component\Core\Repository\CustomerRepositoryInterface as BaseCustomerRepositoryInterface; diff --git a/src/Doctrine/ORM/CustomerRepositoryTrait.php b/src/Doctrine/ORM/CustomerRepositoryTrait.php index 60a8f86ea..bd03b9bb0 100644 --- a/src/Doctrine/ORM/CustomerRepositoryTrait.php +++ b/src/Doctrine/ORM/CustomerRepositoryTrait.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Doctrine\ORM; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM; use Doctrine\ORM\EntityManager; diff --git a/src/Doctrine/ORM/ProductVariantRepositoryInterface.php b/src/Doctrine/ORM/ProductVariantRepositoryInterface.php index 4a21c174f..f7f88ecda 100644 --- a/src/Doctrine/ORM/ProductVariantRepositoryInterface.php +++ b/src/Doctrine/ORM/ProductVariantRepositoryInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Doctrine\ORM; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM; use Sylius\Component\Core\Repository\ProductVariantRepositoryInterface as BaseProductVariantRepositoryInterface; diff --git a/src/Doctrine/ORM/ProductVariantRepositoryTrait.php b/src/Doctrine/ORM/ProductVariantRepositoryTrait.php index ba3dc7f16..8afcd3f79 100644 --- a/src/Doctrine/ORM/ProductVariantRepositoryTrait.php +++ b/src/Doctrine/ORM/ProductVariantRepositoryTrait.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Doctrine\ORM; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Doctrine\ORM; use Doctrine\ORM\EntityManager; diff --git a/src/EventListener/OrderCreationListener.php b/src/EventListener/OrderCreationListener.php index 83752ef2a..43d2229ac 100644 --- a/src/EventListener/OrderCreationListener.php +++ b/src/EventListener/OrderCreationListener.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\EventListener; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\EventListener; -use SM\Factory\FactoryInterface; +use Sylius\Abstraction\StateMachine\StateMachineInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderCheckoutTransitions; use Sylius\Component\Order\Processor\OrderProcessorInterface; @@ -16,13 +16,13 @@ final class OrderCreationListener /** @var OrderProcessorInterface */ private $orderProcessor; - /** @var FactoryInterface */ - private $stateMachineFactory; + /** @var StateMachineInterface */ + private $stateMachine; - public function __construct(OrderProcessorInterface $orderProcessor, FactoryInterface $stateMachineFactory) + public function __construct(OrderProcessorInterface $orderProcessor, StateMachineInterface $stateMachine) { $this->orderProcessor = $orderProcessor; - $this->stateMachineFactory = $stateMachineFactory; + $this->stateMachine = $stateMachine; } public function processOrderBeforeCreation(GenericEvent $event): void @@ -39,14 +39,13 @@ public function completeOrderBeforeCreation(GenericEvent $event): void $order = $event->getSubject(); Assert::isInstanceOf($order, OrderInterface::class); - $stateMachine = $this->stateMachineFactory->get($order, 'sylius_order_checkout'); - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_ADDRESS); - if ($stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)) { - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING); + $this->stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_ADDRESS); + if ($this->stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING)) { + $this->stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_SHIPPING); } - if ($stateMachine->can(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)) { - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT); + if ($this->stateMachine->can($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT)) { + $this->stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_SELECT_PAYMENT); } - $stateMachine->apply(OrderCheckoutTransitions::TRANSITION_COMPLETE); + $this->stateMachine->apply($order, OrderCheckoutTransitions::GRAPH, OrderCheckoutTransitions::TRANSITION_COMPLETE); } } diff --git a/src/EventListener/PaymentLinkCreationListener.php b/src/EventListener/PaymentLinkCreationListener.php index 91fc103c3..aaca60d88 100644 --- a/src/EventListener/PaymentLinkCreationListener.php +++ b/src/EventListener/PaymentLinkCreationListener.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\EventListener; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\EventListener; use Doctrine\Persistence\ObjectManager; -use Payum\Core\Model\GatewayConfigInterface; -use Sylius\AdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; -use Sylius\AdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Provider\PaymentTokenProviderInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Sender\OrderPaymentLinkSenderInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; +use Sylius\Component\Payment\Model\GatewayConfigInterface; use Symfony\Component\EventDispatcher\GenericEvent; use Webmozart\Assert\Assert; @@ -28,7 +28,7 @@ final class PaymentLinkCreationListener public function __construct( PaymentTokenProviderInterface $paymentTokenProvider, ObjectManager $orderManager, - OrderPaymentLinkSenderInterface $orderPaymentLinkSender + OrderPaymentLinkSenderInterface $orderPaymentLinkSender, ) { $this->paymentTokenProvider = $paymentTokenProvider; $this->orderManager = $orderManager; diff --git a/src/Factory/OrderFactory.php b/src/Factory/OrderFactory.php index db322eb31..36ecc3fb4 100644 --- a/src/Factory/OrderFactory.php +++ b/src/Factory/OrderFactory.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Factory; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Factory; -use Sylius\AdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; +use Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing\ReorderProcessor; use Sylius\Component\Channel\Repository\ChannelRepositoryInterface; use Sylius\Component\Core\Model\ChannelInterface; use Sylius\Component\Core\Model\CustomerInterface; @@ -33,7 +33,7 @@ public function __construct( FactoryInterface $baseOrderFactory, CustomerRepositoryInterface $customerRepository, ChannelRepositoryInterface $channelRepository, - ReorderProcessor $reorderProcessor + ReorderProcessor $reorderProcessor, ) { $this->baseOrderFactory = $baseOrderFactory; $this->customerRepository = $customerRepository; diff --git a/src/Factory/OrderFactoryInterface.php b/src/Factory/OrderFactoryInterface.php index 941553aec..09a95e655 100644 --- a/src/Factory/OrderFactoryInterface.php +++ b/src/Factory/OrderFactoryInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Factory; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Factory; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Resource\Factory\FactoryInterface; diff --git a/src/Form/Type/AdjustmentType.php b/src/Form/Type/AdjustmentType.php index cfd89dcc1..591339670 100644 --- a/src/Form/Type/AdjustmentType.php +++ b/src/Form/Type/AdjustmentType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\MoneyBundle\Form\Type\MoneyType; use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType; diff --git a/src/Form/Type/CurrencyCodeChoiceType.php b/src/Form/Type/CurrencyCodeChoiceType.php index 5a747dc53..d8539f7d3 100644 --- a/src/Form/Type/CurrencyCodeChoiceType.php +++ b/src/Form/Type/CurrencyCodeChoiceType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\CurrencyBundle\Form\Type\CurrencyChoiceType; use Sylius\Bundle\ResourceBundle\Form\DataTransformer\ResourceToIdentifierTransformer; @@ -24,7 +24,7 @@ public function __construct(RepositoryInterface $currencyRepository) public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->addModelTransformer( - new ReversedTransformer(new ResourceToIdentifierTransformer($this->currencyRepository, 'code')) + new ReversedTransformer(new ResourceToIdentifierTransformer($this->currencyRepository, 'code')), ); } diff --git a/src/Form/Type/CustomerAutocompleteChoiceType.php b/src/Form/Type/CustomerAutocompleteChoiceType.php index 7069f9542..42ce98934 100644 --- a/src/Form/Type/CustomerAutocompleteChoiceType.php +++ b/src/Form/Type/CustomerAutocompleteChoiceType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\ResourceBundle\Form\Type\ResourceAutocompleteChoiceType; use Symfony\Component\Form\AbstractType; @@ -23,7 +23,7 @@ public function configureOptions(OptionsResolver $resolver): void } /** - * {@inheritdoc} + * @inheritdoc */ public function buildView(FormView $view, FormInterface $form, array $options): void { @@ -32,7 +32,7 @@ public function buildView(FormView $view, FormInterface $form, array $options): } /** - * {@inheritdoc} + * @inheritdoc */ public function getBlockPrefix(): string { @@ -40,7 +40,7 @@ public function getBlockPrefix(): string } /** - * {@inheritdoc} + * @inheritdoc */ public function getParent(): string { diff --git a/src/Form/Type/LocaleCodeChoiceType.php b/src/Form/Type/LocaleCodeChoiceType.php index 92508246b..2f639c52a 100644 --- a/src/Form/Type/LocaleCodeChoiceType.php +++ b/src/Form/Type/LocaleCodeChoiceType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\LocaleBundle\Form\Type\LocaleChoiceType; use Sylius\Bundle\ResourceBundle\Form\DataTransformer\ResourceToIdentifierTransformer; @@ -22,7 +22,7 @@ public function __construct(RepositoryInterface $localeRepository) } /** - * {@inheritdoc} + * @inheritdoc */ public function buildForm(FormBuilderInterface $builder, array $options): void { @@ -30,7 +30,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void } /** - * {@inheritdoc} + * @inheritdoc */ public function getParent(): string { @@ -38,7 +38,7 @@ public function getParent(): string } /** - * {@inheritdoc} + * @inheritdoc */ public function getBlockPrefix(): string { diff --git a/src/Form/Type/NewOrderCustomerCreateType.php b/src/Form/Type/NewOrderCustomerCreateType.php index 2dad4d11b..134574459 100644 --- a/src/Form/Type/NewOrderCustomerCreateType.php +++ b/src/Form/Type/NewOrderCustomerCreateType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\ChannelBundle\Form\Type\ChannelChoiceType; use Symfony\Component\Form\AbstractType; diff --git a/src/Form/Type/NewOrderCustomerSelectType.php b/src/Form/Type/NewOrderCustomerSelectType.php index bd5e2f284..b24db6d48 100644 --- a/src/Form/Type/NewOrderCustomerSelectType.php +++ b/src/Form/Type/NewOrderCustomerSelectType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\ChannelBundle\Form\Type\ChannelChoiceType; use Symfony\Component\Form\AbstractType; diff --git a/src/Form/Type/NewOrderType.php b/src/Form/Type/NewOrderType.php index 0ba3d954d..4b3398bee 100644 --- a/src/Form/Type/NewOrderType.php +++ b/src/Form/Type/NewOrderType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\AddressingBundle\Form\Type\AddressType; use Sylius\Bundle\PromotionBundle\Form\Type\PromotionCouponToCodeType; diff --git a/src/Form/Type/OrderItemType.php b/src/Form/Type/OrderItemType.php index 74e1125e9..57efc0083 100644 --- a/src/Form/Type/OrderItemType.php +++ b/src/Form/Type/OrderItemType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType; use Sylius\Bundle\ResourceBundle\Form\Type\ResourceAutocompleteChoiceType; @@ -22,7 +22,7 @@ final class OrderItemType extends AbstractResourceType public function __construct( string $dataClass, DataMapperInterface $dataMapper, - array $validationGroups = [] + array $validationGroups = [], ) { parent::__construct($dataClass, $validationGroups); @@ -81,7 +81,7 @@ public function configureOptions(OptionsResolver $resolver): void } /** - * {@inheritdoc} + * @inheritdoc */ public function getBlockPrefix(): string { diff --git a/src/Form/Type/PaymentType.php b/src/Form/Type/PaymentType.php index 8402a63ab..ef174db4e 100644 --- a/src/Form/Type/PaymentType.php +++ b/src/Form/Type/PaymentType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\PaymentBundle\Form\Type\PaymentMethodChoiceType; use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType; @@ -19,7 +19,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void } /** - * {@inheritdoc} + * @inheritdoc */ public function getBlockPrefix(): string { diff --git a/src/Form/Type/ShipmentType.php b/src/Form/Type/ShipmentType.php index 60ffecc9f..12c3809af 100644 --- a/src/Form/Type/ShipmentType.php +++ b/src/Form/Type/ShipmentType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Form\Type; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type; use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType; use Sylius\Bundle\ShippingBundle\Form\Type\ShippingMethodChoiceType; @@ -19,7 +19,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void } /** - * {@inheritdoc} + * @inheritdoc */ public function getBlockPrefix(): string { diff --git a/src/Preparator/NewOrderPreparator.php b/src/Preparator/NewOrderPreparator.php index a5dc7f759..6a264d7dd 100644 --- a/src/Preparator/NewOrderPreparator.php +++ b/src/Preparator/NewOrderPreparator.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Preparator; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Preparator; -use Sylius\AdminOrderCreationPlugin\Factory\OrderFactoryInterface; -use Sylius\AdminOrderCreationPlugin\Form\Type\NewOrderType; +use Webgriffe\SyliusAdminOrderCreationPlugin\Factory\OrderFactoryInterface; +use Webgriffe\SyliusAdminOrderCreationPlugin\Form\Type\NewOrderType; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Order\Processor\OrderProcessorInterface; use Symfony\Component\Form\FormFactoryInterface; @@ -26,7 +26,7 @@ final class NewOrderPreparator implements OrderPreparatorInterface public function __construct( OrderFactoryInterface $orderFactory, FormFactoryInterface $formFactory, - OrderProcessorInterface $orderProcessor + OrderProcessorInterface $orderProcessor, ) { $this->orderFactory = $orderFactory; $this->formFactory = $formFactory; diff --git a/src/Preparator/OrderPreparatorInterface.php b/src/Preparator/OrderPreparatorInterface.php index c17884746..80c1aae83 100644 --- a/src/Preparator/OrderPreparatorInterface.php +++ b/src/Preparator/OrderPreparatorInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Preparator; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Preparator; use Sylius\Component\Core\Model\OrderInterface; use Symfony\Component\HttpFoundation\Request; diff --git a/src/Provider/AvailableShippingMethodsListProvider.php b/src/Provider/AvailableShippingMethodsListProvider.php index 20b39af6b..ccac2414c 100644 --- a/src/Provider/AvailableShippingMethodsListProvider.php +++ b/src/Provider/AvailableShippingMethodsListProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Provider; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use Sylius\Component\Core\Model\ShipmentInterface; use Sylius\Component\Shipping\Resolver\ShippingMethodsResolverInterface; diff --git a/src/Provider/CustomerProvider.php b/src/Provider/CustomerProvider.php index 3f7fc93b3..8e288e674 100644 --- a/src/Provider/CustomerProvider.php +++ b/src/Provider/CustomerProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Provider; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use Sylius\Component\Core\Model\CustomerInterface; use Sylius\Component\Core\Repository\CustomerRepositoryInterface; @@ -19,7 +19,7 @@ final class CustomerProvider implements CustomerProviderInterface public function __construct( CustomerRepositoryInterface $customerRepository, - FactoryInterface $customerFactory + FactoryInterface $customerFactory, ) { $this->customerRepository = $customerRepository; $this->customerFactory = $customerFactory; diff --git a/src/Provider/CustomerProviderInterface.php b/src/Provider/CustomerProviderInterface.php index 998a5f262..0d51c4239 100644 --- a/src/Provider/CustomerProviderInterface.php +++ b/src/Provider/CustomerProviderInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Provider; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use Sylius\Component\Core\Model\CustomerInterface; diff --git a/src/Provider/PaymentTokenProvider.php b/src/Provider/PaymentTokenProvider.php index 21d0fd4a0..20cc7b8c4 100644 --- a/src/Provider/PaymentTokenProvider.php +++ b/src/Provider/PaymentTokenProvider.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Provider; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Provider; -use Payum\Core\Model\GatewayConfigInterface; use Payum\Core\Payum; use Payum\Core\Security\TokenInterface; use Sylius\Component\Core\Model\PaymentInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; +use Sylius\Component\Payment\Model\GatewayConfigInterface; final class PaymentTokenProvider implements PaymentTokenProviderInterface { @@ -40,14 +40,14 @@ public function getPaymentToken(PaymentInterface $payment): TokenInterface return $tokenFactory->createAuthorizeToken( $gatewayConfig->getGatewayName(), $payment, - $this->afterPayRoute + $this->afterPayRoute, ); } return $tokenFactory->createCaptureToken( $gatewayConfig->getGatewayName(), $payment, - $this->afterPayRoute + $this->afterPayRoute, ); } } diff --git a/src/Provider/PaymentTokenProviderInterface.php b/src/Provider/PaymentTokenProviderInterface.php index 342051a28..28789cd69 100644 --- a/src/Provider/PaymentTokenProviderInterface.php +++ b/src/Provider/PaymentTokenProviderInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Provider; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Provider; use Payum\Core\Security\TokenInterface; use Sylius\Component\Core\Model\PaymentInterface; diff --git a/src/ReorderProcessing/CompositeReorderProcessor.php b/src/ReorderProcessing/CompositeReorderProcessor.php index 2ebf7f8ff..7906cf6ab 100644 --- a/src/ReorderProcessing/CompositeReorderProcessor.php +++ b/src/ReorderProcessing/CompositeReorderProcessor.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; -use Sylius\Component\Core\Model\OrderInterface; use Laminas\Stdlib\PriorityQueue; +use Sylius\Component\Core\Model\OrderInterface; final class CompositeReorderProcessor implements ReorderProcessor { diff --git a/src/ReorderProcessing/ReorderDataProcessor.php b/src/ReorderProcessing/ReorderDataProcessor.php index ce39f7d17..177873904 100644 --- a/src/ReorderProcessing/ReorderDataProcessor.php +++ b/src/ReorderProcessing/ReorderDataProcessor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Sylius\Component\Core\Model\AddressInterface; use Sylius\Component\Core\Model\OrderInterface; diff --git a/src/ReorderProcessing/ReorderItemsProcessor.php b/src/ReorderProcessing/ReorderItemsProcessor.php index 3304745ec..efa67fbd2 100644 --- a/src/ReorderProcessing/ReorderItemsProcessor.php +++ b/src/ReorderProcessing/ReorderItemsProcessor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\OrderItemInterface; @@ -25,7 +25,7 @@ final class ReorderItemsProcessor implements ReorderProcessor public function __construct( FactoryInterface $orderItemFactory, OrderItemQuantityModifierInterface $orderItemQuantityModifier, - OrderModifierInterface $orderModifier + OrderModifierInterface $orderModifier, ) { $this->orderItemFactory = $orderItemFactory; $this->orderItemQuantityModifier = $orderItemQuantityModifier; diff --git a/src/ReorderProcessing/ReorderPaymentProcessor.php b/src/ReorderProcessing/ReorderPaymentProcessor.php index 3db804fc0..aca978425 100644 --- a/src/ReorderProcessing/ReorderPaymentProcessor.php +++ b/src/ReorderProcessing/ReorderPaymentProcessor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; diff --git a/src/ReorderProcessing/ReorderProcessor.php b/src/ReorderProcessing/ReorderProcessor.php index 172f5685c..229064e39 100644 --- a/src/ReorderProcessing/ReorderProcessor.php +++ b/src/ReorderProcessing/ReorderProcessor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Sylius\Component\Core\Model\OrderInterface; diff --git a/src/ReorderProcessing/ReorderShipmentProcessor.php b/src/ReorderProcessing/ReorderShipmentProcessor.php index 42935195c..906a7d93f 100644 --- a/src/ReorderProcessing/ReorderShipmentProcessor.php +++ b/src/ReorderProcessing/ReorderShipmentProcessor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\ReorderProcessing; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\ReorderProcessing; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\ShipmentInterface; diff --git a/src/Sender/OrderPaymentLinkSender.php b/src/Sender/OrderPaymentLinkSender.php index 51d1c63b0..f7459c022 100644 --- a/src/Sender/OrderPaymentLinkSender.php +++ b/src/Sender/OrderPaymentLinkSender.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Sender; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Sender; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Model\PaymentInterface; @@ -39,7 +39,7 @@ public function sendPaymentLink(OrderInterface $order): void [ 'order' => $order, 'paymentLink' => $paymentDetails['payment-link'], - ] + ], ) ; } diff --git a/src/Sender/OrderPaymentLinkSenderInterface.php b/src/Sender/OrderPaymentLinkSenderInterface.php index 359e9c109..680b7002f 100644 --- a/src/Sender/OrderPaymentLinkSenderInterface.php +++ b/src/Sender/OrderPaymentLinkSenderInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin\Sender; +namespace Webgriffe\SyliusAdminOrderCreationPlugin\Sender; use Sylius\Component\Core\Model\OrderInterface; diff --git a/src/SyliusAdminOrderCreationPlugin.php b/src/WebgriffeSyliusAdminOrderCreationPlugin.php similarity index 55% rename from src/SyliusAdminOrderCreationPlugin.php rename to src/WebgriffeSyliusAdminOrderCreationPlugin.php index 48973d09f..0c50dc4d1 100644 --- a/src/SyliusAdminOrderCreationPlugin.php +++ b/src/WebgriffeSyliusAdminOrderCreationPlugin.php @@ -2,17 +2,22 @@ declare(strict_types=1); -namespace Sylius\AdminOrderCreationPlugin; +namespace Webgriffe\SyliusAdminOrderCreationPlugin; -use Sylius\AdminOrderCreationPlugin\DependencyInjection\Compiler\RegisterReorderProcessorsPass; +use Webgriffe\SyliusAdminOrderCreationPlugin\DependencyInjection\Compiler\RegisterReorderProcessorsPass; use Sylius\Bundle\CoreBundle\Application\SyliusPluginTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; -final class SyliusAdminOrderCreationPlugin extends Bundle +final class WebgriffeSyliusAdminOrderCreationPlugin extends Bundle { use SyliusPluginTrait; + public function getPath(): string + { + return \dirname(__DIR__); + } + public function build(ContainerBuilder $container): void { $container->addCompilerPass(new RegisterReorderProcessorsPass()); diff --git a/src/Resources/views/SyliusAdminBundle/Order/Show/Summary/_item.html.twig b/templates/bundles/SyliusAdminBundle/Order/Show/Summary/_item.html.twig similarity index 100% rename from src/Resources/views/SyliusAdminBundle/Order/Show/Summary/_item.html.twig rename to templates/bundles/SyliusAdminBundle/Order/Show/Summary/_item.html.twig diff --git a/src/Resources/views/SyliusAdminBundle/Order/Show/Summary/_totals.html.twig b/templates/bundles/SyliusAdminBundle/Order/Show/Summary/_totals.html.twig similarity index 100% rename from src/Resources/views/SyliusAdminBundle/Order/Show/Summary/_totals.html.twig rename to templates/bundles/SyliusAdminBundle/Order/Show/Summary/_totals.html.twig diff --git a/src/Resources/views/SyliusAdminBundle/Order/Show/_payment.html.twig b/templates/bundles/SyliusAdminBundle/Order/Show/_payment.html.twig similarity index 100% rename from src/Resources/views/SyliusAdminBundle/Order/Show/_payment.html.twig rename to templates/bundles/SyliusAdminBundle/Order/Show/_payment.html.twig diff --git a/src/Resources/views/Emails/orderCreated.html.twig b/templates/emails/order_created.html.twig similarity index 100% rename from src/Resources/views/Emails/orderCreated.html.twig rename to templates/emails/order_created.html.twig diff --git a/src/Resources/views/Order/create.html.twig b/templates/order/create.html.twig similarity index 84% rename from src/Resources/views/Order/create.html.twig rename to templates/order/create.html.twig index 02275723c..052d7ff1b 100644 --- a/src/Resources/views/Order/create.html.twig +++ b/templates/order/create.html.twig @@ -2,7 +2,7 @@ {% block title %}{{ 'sylius.ui.new_order'|trans }} {{ parent() }}{% endblock %} -{% form_theme form '@SyliusAdminOrderCreationPlugin/Order/itemCollectionTheme.html.twig' %} +{% form_theme form '@WebgriffeSyliusAdminOrderCreationPlugin/order/item_collection_theme.html.twig' %} {% if order is defined %} {% set customer_id = order.customer.id %} @@ -19,18 +19,19 @@
{{ 'sylius.ui.new_order'|trans }}
- {% include '@SyliusAdminOrderCreationPlugin/Order/Create/_breadcrumb.html.twig' %} + {% include '@WebgriffeSyliusAdminOrderCreationPlugin/order/create/_breadcrumb.html.twig' %} - {% include '@SyliusAdminOrderCreationPlugin/Order/Create/_form.html.twig' with { + {% include '@WebgriffeSyliusAdminOrderCreationPlugin/order/create/_form.html.twig' with { 'action': path('sylius_admin_order_creation_order_preview', {'customerId': customer_id, 'channelCode': channel_code}) } %} {% endblock %} {% block javascripts %} {{ parent() }} - - + - +