Skip to content

Commit

Permalink
Support for Sylius 1.8|1.9|1.10, Symfony ^4.4|^5.2, PHP ^7.3|^8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ondrej-kuhnel authored Oct 5, 2021
1 parent 535a161 commit 0e40f38
Show file tree
Hide file tree
Showing 110 changed files with 2,303 additions and 1,275 deletions.
52 changes: 52 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
version: 2.1

workflows:
workflow:
jobs:
- build:
name: php-7.4-sylius-<< matrix.sylius_version >>-symfony-<< matrix.symfony_version >>
php_version: "7.4"
matrix:
parameters:
sylius_version: [ "1.8", "1.9", "1.10" ]
symfony_version: [ "4.4", "5.2" ]
exclude:
- sylius_version: "1.8"
symfony_version: "5.2"
- sylius_version: "1.9"
symfony_version: "5.2"
- build:
name: php-8.0-sylius-<< matrix.sylius_version >>-symfony-<< matrix.symfony_version >>
php_version: "8.0"
matrix:
parameters:
sylius_version: [ "1.10" ]
symfony_version: [ "5.2" ]

jobs:
build:
parameters:
sylius_version:
type: string
symfony_version:
type: string
php_version:
type: string
docker:
- image: webdevops/php-nginx:<< parameters.php_version >>-alpine
steps:
- checkout
- run: composer self-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "symfony/browser-kit:<< parameters.symfony_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "symfony/debug-bundle:<< parameters.symfony_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "symfony/dotenv:<< parameters.symfony_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "symfony/intl:<< parameters.symfony_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "symfony/web-profiler-bundle:<< parameters.symfony_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer require "sylius/sylius:<< parameters.sylius_version >>.*" --no-interaction --no-update
- run: COMPOSER_MEMORY_LIMIT=-1 composer update --no-interaction --prefer-dist
- run: (cd tests/Application && bin/console doctrine:database:create --env=test -vvv)
- run: (cd tests/Application && bin/console doctrine:schema:create --env=test -vvv)
- run: (cd tests/Application && bin/console cache:warmup --env=test -vvv)
- run: ./bin/ecs.sh
- run: ./bin/phpstan.sh
- run: ./bin/behat
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

/.idea
/vendor/
/node_modules/
/composer.lock
Expand Down
53 changes: 0 additions & 53 deletions .travis.yml

This file was deleted.

9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# CHANGELOG

## v3.0.0 (2021-10-05)

#### Details

- Support for Sylius 1.8|1.9|1.10, Symfony ^4.4|^5.2, PHP ^7.3|^8.0
- Change namespace from `MangoSylius\SyliusZasilkovnaPlugin` to `ThreeBRS\SyliusZasilkovnaPlugin`
- Change table name from `mango_zasilkovna_config` to `threebrs_zasilkovna_config`
- *BC break: Version 3.0.0 is NOT compatible with previous versions due to namespace change*

## v2.1 (2020-03-25)

#### Details
Expand Down
55 changes: 30 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<a href="https://packagist.org/packages/3brs/sylius-zasilkovna-plugin" title="Version" target="_blank">
<img src="https://img.shields.io/packagist/v/3brs/sylius-zasilkovna-plugin.svg" />
</a>
<a href="https://travis-ci.com/3brs/sylius-zasilkovna-plugin" title="Build status" target="_blank">
<img src="https://img.shields.io/travis/com/3BRS/sylius-zasilkovna-plugin" />
<a href="https://circleci.com/gh/3BRS/sylius-zasilkovna-plugin" title="Build status" target="_blank">
<img src="https://circleci.com/gh/3BRS/sylius-zasilkovna-plugin.svg?style=shield" />
</a>
</h1>

Expand Down Expand Up @@ -43,14 +43,14 @@

## Installation

1. Run `$ composer require mangoweb-sylius/sylius-zasilkovna-plugin`.
1. Run `$ composer require 3brs/sylius-zasilkovna-plugin`.
1. Add plugin classes to your `config/bundles.php`:

```php
return [
...
MangoSylius\ShipmentExportPlugin\MangoSyliusShipmentExportPlugin::class => ['all' => true],
MangoSylius\SyliusZasilkovnaPlugin\MangoSyliusZasilkovnaPlugin::class => ['all' => true],
ThreeBRS\ShipmentExportPlugin\ThreeBRSSyliusShipmentExportPlugin::class => ['all' => true],
ThreeBRS\SyliusZasilkovnaPlugin\ThreeBRSSyliusZasilkovnaPlugin::class => ['all' => true],
];
```

Expand All @@ -60,19 +60,19 @@
imports:
...
...
- { resource: "@MangoSyliusZasilkovnaPlugin/Resources/config/resources.yml" }
- { resource: "@ThreeBRSSyliusZasilkovnaPlugin/Resources/config/resources.yml" }
```

1. Add routing to `config/_routes.yaml`

```yaml
mango_sylius_shipment_export_plugin:
resource: '@MangoSyliusShipmentExportPlugin/Resources/config/routing.yml'
threebrs_sylius_shipment_export_plugin:
resource: '@ThreeBRSSyliusShipmentExportPlugin/Resources/config/routing.yml'
prefix: /admin
```

1. Your Entity `Shipment` has to implement `\MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface`.
You can use the trait `\MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait`.
1. Your Entity `Shipment` has to implement `\ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface`.
You can use the trait `\ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait`.

```php
<?php
Expand All @@ -82,8 +82,8 @@
namespace App\Entity\Shipping;

use Doctrine\ORM\Mapping as ORM;
use MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface;
use MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait;
use ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface;
use ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait;
use Sylius\Component\Core\Model\Shipment as BaseShipment;

/**
Expand All @@ -96,8 +96,8 @@
}
```

1. Your Entity `ShippingMethod` has to implement `\MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface`.
You can use the trait `\MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait`.
1. Your Entity `ShippingMethod` has to implement `\ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentInterface`.
You can use the trait `\ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShipmentTrait`.

```php
<?php
Expand All @@ -107,8 +107,8 @@
namespace App\Entity\Shipping;

use Doctrine\ORM\Mapping as ORM;
use MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShippingMethodInterface;
use MangoSylius\SyliusZasilkovnaPlugin\Model\ZasilkovnaShippingMethodTrait;
use ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShippingMethodInterface;
use ThreeBRS\SyliusZasilkovnaPlugin\Model\ZasilkovnaShippingMethodTrait;
use Sylius\Component\Core\Model\ShippingMethod as BaseShippingMethod;

/**
Expand All @@ -121,31 +121,31 @@
}
```

1. Include `@MangoSyliusZasilkovnaPlugin/Admin/ShippingMethod/:zasilkovnaForm.html.twig` into `@SyliusAdmin/ShippingMethod/_form.html.twig`.
1. Include `@ThreeBRSSyliusZasilkovnaPlugin/Admin/ShippingMethod/:zasilkovnaForm.html.twig` into `@SyliusAdmin/ShippingMethod/_form.html.twig`.

```twig
...
{{ include('@MangoSyliusZasilkovnaPlugin/Admin/ShippingMethod/_zasilkovnaForm.html.twig') }}
{{ include('@ThreeBRSSyliusZasilkovnaPlugin/Admin/ShippingMethod/_zasilkovnaForm.html.twig') }}
```

1. Include `@MangoSyliusZasilkovnaPlugin/Shop/Checkout/SelectShipping/_zasilkovnaChoice.html.twig` into `@SyliusShop/Checkout/SelectShipping/_choice.html.twig`.
1. Include `@ThreeBRSSyliusZasilkovnaPlugin/Shop/Checkout/SelectShipping/_zasilkovnaChoice.html.twig` into `@SyliusShop/Checkout/SelectShipping/_choice.html.twig`.

```twig
...
{{ include('@MangoSyliusZasilkovnaPlugin/Shop/Checkout/SelectShipping/_zasilkovnaChoice.html.twig') }}
{{ include('@ThreeBRSSyliusZasilkovnaPlugin/Shop/Checkout/SelectShipping/_zasilkovnaChoice.html.twig') }}
```

1. Replace `{% include '@SyliusShop/Common/_address.html.twig' with {'address': order.shippingAddress} %}` with `{{ include('@MangoSyliusZasilkovnaPlugin/Shop/Common/Order/_addresses.html.twig') }}` in `@SyliusShop/Common/Order/_addresses.html.twig`
1. Replace `{% include '@SyliusShop/Common/_address.html.twig' with {'address': order.shippingAddress} %}` with `{{ include('@ThreeBRSSyliusZasilkovnaPlugin/Shop/Common/Order/_addresses.html.twig') }}` in `@SyliusShop/Common/Order/_addresses.html.twig`

1. Replace `{% include '@SyliusAdmin/Common/_address.html.twig' with {'address': order.shippingAddress} %}` with `{{ include('@MangoSyliusZasilkovnaPlugin/Admin/Common/Order/_addresses.html.twig') }}` in `@SyliusAdmin/Order/Show/_addresses.html.twig`
1. Replace `{% include '@SyliusAdmin/Common/_address.html.twig' with {'address': order.shippingAddress} %}` with `{{ include('@ThreeBRSSyliusZasilkovnaPlugin/Admin/Common/Order/_addresses.html.twig') }}` in `@SyliusAdmin/Order/Show/_addresses.html.twig`

1. Override the template in `@MangoSyliusShipmentExportPlugin/_row.html.twig`
1. Override the template in `@ThreeBRSSyliusShipmentExportPlugin/_row.html.twig`
```twig
{% extends '@!MangoSyliusShipmentExportPlugin/_row.html.twig' %}
{% extends '@!ThreeBRSSyliusShipmentExportPlugin/_row.html.twig' %}

{% block address %}
{% if row.zasilkovna %}
{{ include('@MangoSyliusZasilkovnaPlugin/_exporterRow.html.twig') }}
{{ include('@ThreeBRSSyliusZasilkovnaPlugin/_exporterRow.html.twig') }}
{% else %}
{{ parent() }}
{% endif %}
Expand All @@ -168,6 +168,11 @@ For the guide how to use your own entity see [Sylius docs - Customizing Models](
```
You should add to this array both methods for shipping to Zasilkovna branch and also to customer's address via Zasilkovna service.
* Packeta API documentation: https://docs.packetery.com/03-creating-packets/01-csv-import.html
* You can expand the list of countries by the parameter
```yaml
parameters:
threebrs_sylius_zasilkovna_plugin_payment_methods: ['cz', 'pl', 'sk', 'hu', 'ro']
```


## Development
Expand Down
7 changes: 1 addition & 6 deletions behat.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ imports:

default:
extensions:
Lakion\Behat\MinkDebugExtension:
directory: etc/build
clean_start: false
screenshot: true

Behat\MinkExtension:
base_url: "http://localhost:8080/"
default_session: symfony
Expand All @@ -19,7 +14,7 @@ default:
FriendsOfBehat\SymfonyExtension:
bootstrap: tests/Application/config/bootstrap.php
kernel:
class: Tests\MangoSylius\SyliusZasilkovnaPlugin\Application\Kernel
class: Tests\ThreeBRS\SyliusZasilkovnaPlugin\Application\Kernel

FriendsOfBehat\VariadicExtension: ~

Expand Down
1 change: 0 additions & 1 deletion bin/ecs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ cd "$(dirname "$DIR")"

set -x

rm -rf tests/Application/var/cache/
vendor/bin/ecs check src tests "$@"
2 changes: 1 addition & 1 deletion bin/phpstan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$(dirname "$DIR")"

set -x
tests/Application/bin/console --env=test cache:warmup
tests/Application/bin/console --env=test c:c
vendor/bin/phpstan analyse \
--level max \
--memory-limit 1G \
Expand Down
68 changes: 41 additions & 27 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,36 @@
"license": "MIT",
"require": {
"ext-json": "*",
"php": "^7.3",
"sylius/sylius": "^1.7.0",
"mangoweb-sylius/sylius-shipment-export-plugin": "^0.4.0"
"php": "^7.3|^8.0",
"sylius/sylius": "1.7.*|1.8.*|1.9.*|1.10.*",
"3brs/sylius-shipment-export-plugin": "0.5.*"
},
"require-dev": {
"behat/behat": "^3.4",
"behat/mink": "^1.7@dev",
"behat/mink-browserkit-driver": "^1.3",
"behat/mink-extension": "^2.2",
"behat/mink-selenium2-driver": "^1.3",
"behat/behat": "^3.6.1",
"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.4",
"friends-of-behat/mink-extension": "^2.4",
"friends-of-behat/page-object-extension": "^0.3",
"friends-of-behat/suite-settings-extension": "^1.0",
"friends-of-behat/symfony-extension": "^2.0",
"friends-of-behat/variadic-extension": "^1.1",
"lakion/mink-debug-extension": "^1.2.3",
"phpspec/phpspec": "^6.0",
"phpstan/phpstan": "^0.12.0",
"phpstan/phpstan-doctrine": "^0.12.0",
"phpstan/phpstan-strict-rules": "^0.12.0",
"phpstan/phpstan-symfony": "^0.12.4",
"phpstan/phpstan-webmozart-assert": "^0.12.0",
"phpunit/phpunit": "^8.0",
"friends-of-behat/symfony-extension": "^2.1",
"friends-of-behat/variadic-extension": "^1.3",
"friendsofsymfony/oauth-server-bundle": "^1.6 || >2.0.0-alpha.0 ^2.0@dev",
"lakion/mink-debug-extension": "^2.0.0",
"phpspec/phpspec": "^7.0",
"phpstan/phpstan": "0.12.88",
"phpstan/phpstan-symfony": "^0.12.7",
"phpstan/phpstan-doctrine": "0.12.37",
"phpunit/phpunit": "^8.5",
"sensiolabs/security-checker": "^6.0",
"sylius-labs/coding-standard": "^3.1",
"symfony/browser-kit": "^4.4",
"symfony/debug-bundle": "^4.4",
"symfony/dotenv": "^4.4",
"symfony/intl": "^4.4",
"symfony/web-profiler-bundle": "^4.4",
"symfony/web-server-bundle": "^4.4"
"sylius-labs/coding-standard": "^4.0.0",
"symfony/browser-kit": "^5.2",
"symfony/debug-bundle": "^5.2",
"symfony/dotenv": "^5.2",
"symfony/intl": "^5.2",
"symfony/web-profiler-bundle": "^5.2"
},
"conflict": {
"symfony/symfony": "4.1.8",
Expand All @@ -46,13 +46,27 @@
"prefer-stable": true,
"autoload": {
"psr-4": {
"MangoSylius\\SyliusZasilkovnaPlugin\\": "src/",
"Tests\\MangoSylius\\SyliusZasilkovnaPlugin\\": "tests/"
"ThreeBRS\\SyliusZasilkovnaPlugin\\": "src/",
"Tests\\ThreeBRS\\SyliusZasilkovnaPlugin\\": "tests/"
}
},
"autoload-dev": {
"psr-4": {
"App\\": "tests/Application/src/"
}
},
"config": {
"platform": {
"php": "7.4",
"ext-sqlsrv": "0",
"ext-redis": "0",
"ext-exif": "0",
"ext-imagick": "0",
"ext-gd": "0"
},
"preferred-install": {
"*": "dist"
},
"sort-packages": true
}
}
Loading

0 comments on commit 0e40f38

Please sign in to comment.