diff --git a/.github/workflows/analysis.yaml b/.github/workflows/analysis.yaml index 0ff5195..0561f43 100644 --- a/.github/workflows/analysis.yaml +++ b/.github/workflows/analysis.yaml @@ -16,12 +16,11 @@ jobs: fail-fast: false matrix: php: - - 7.4 - - 8.0 - - 8.1 + - 8.2 + - 8.5 symfony: - - '5.4.*' - - '6.1.*' + - '6.4.*' + - '7.4.*' env: APP_ENV: test steps: diff --git a/.github/workflows/sylius.yaml b/.github/workflows/sylius.yaml index 18b5159..29751ed 100644 --- a/.github/workflows/sylius.yaml +++ b/.github/workflows/sylius.yaml @@ -16,45 +16,24 @@ jobs: fail-fast: false matrix: php: - - 7.4 - - 8.0 - - 8.1 + - 8.2 + - 8.5 sylius: - - 1.9.0 - - 1.10.0 - - 1.11.0 - - 1.12.0 + - 2.0.0 + - 2.1.0 + - 2.2.0 symfony: - - 5.4 - - 6.1 + - 6.4 + - 7.4 node: - - 14.x + - 24.x exclude: - - - sylius: 1.9.0 - php: 8.0 - - - sylius: 1.9.0 - php: 8.1 - - - sylius: 1.11.0 - php: 7.4 - symfony: 5.4 - - - sylius: 1.9.0 - symfony: 6.1 - - - sylius: 1.10.0 - symfony: 6.1 - - - sylius: 1.11.0 - symfony: 6.1 - - - sylius: 1.12.0 - php: 7.4 - - - php: '8.0' - symfony: 6.1 + - php: "8.5" + symfony: "6.4" + - sylius: "2.0.0" + php: "8.5" + - sylius: "2.0.0" + symfony: "7.4" env: APP_ENV: test package-name: synolia/sylius-admin-notification-plugin diff --git a/Makefile b/Makefile index c6c4616..3623784 100644 --- a/Makefile +++ b/Makefile @@ -6,9 +6,9 @@ CONSOLE=cd tests/Application && php bin/console -e test COMPOSER=cd tests/Application && composer YARN=cd tests/Application && yarn -SYLIUS_VERSION=1.12.0 -SYMFONY_VERSION=6.1 -PHP_VERSION=8.1 +SYLIUS_VERSION=2.0.0 +SYMFONY_VERSION=7.4 +PHP_VERSION=8.2 PLUGIN_NAME=synolia/sylius-admin-notification-plugin ### diff --git a/README.md b/README.md index a751827..cb549c8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,11 @@
@@ -16,10 +20,10 @@ ## Requirements -| | Version | -|:-------|:-----------| -| PHP | ^7.4, ^8.0 | -| Sylius | ^1.9 | +| | Version | +|:-------|:--------| +| PHP | ^8.2 | +| Sylius | ^2.0 | ## Installation diff --git a/composer.json b/composer.json index 55cf5ba..ddc1022 100644 --- a/composer.json +++ b/composer.json @@ -9,31 +9,31 @@ "description": "Admin notifications for Sylius.", "license": "EUPL-1.2", "require": { - "php": "^7.4 || ^8.0", + "php": "^8.2", "ext-json": "*", - "sylius/sylius": "^1.9", - "symfony/cache": "^5.4|^6.0", + "sylius/sylius": "^2.0", + "symfony/cache": "^6.4 || ^7.3 || ^8.0", "symfony/monolog-bundle": "^3.0", - "symfony/notifier": "^5.4|^6.0" + "symfony/notifier": "^6.4 || ^7.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "3.9.5", - "php-parallel-lint/php-parallel-lint": "1.3.2", - "phpmd/phpmd": "2.12.0", - "phpro/grumphp": "1.13.0", - "phpstan/extension-installer": "1.1.0", - "phpstan/phpstan": "1.8.2", - "phpstan/phpstan-doctrine": "1.3.11", - "phpstan/phpstan-strict-rules": "1.3.0", - "phpstan/phpstan-webmozart-assert": "1.2.0", - "phpunit/phpunit": "9.5.21", - "povils/phpmnd": "3.0.0", - "sebastian/phpcpd": "6.0.3", - "squizlabs/php_codesniffer": "3.7.1", - "symfony/browser-kit": "5.4.3", - "symfony/debug-bundle": "5.4.3", - "symfony/dotenv": "5.4.5", - "symfony/web-profiler-bundle": "5.4.10" + "friendsofphp/php-cs-fixer": "^3.9", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpmd/phpmd": "^2.12", + "phpro/grumphp": "^2.5", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-doctrine": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpstan/phpstan-webmozart-assert": "^2.0", + "phpunit/phpunit": "^9.5", + "povils/phpmnd": "^3.0", + "sebastian/phpcpd": "^6.0", + "squizlabs/php_codesniffer": "^3.7", + "symfony/browser-kit": "^6.4 || ^7.3", + "symfony/debug-bundle": "^6.4 || ^7.3", + "symfony/dotenv": "^6.4 || ^7.3", + "symfony/web-profiler-bundle": "^6.4 || ^7.3" }, "config": { "sort-packages": true, @@ -41,7 +41,8 @@ "dealerdirect/phpcodesniffer-composer-installer": true, "symfony/thanks": true, "phpstan/extension-installer": true, - "phpro/grumphp": true + "phpro/grumphp": true, + "php-http/discovery": true } }, "autoload": { diff --git a/config/packages/app.yaml b/config/packages/app.yaml index ba62a8b..2eea26d 100644 --- a/config/packages/app.yaml +++ b/config/packages/app.yaml @@ -1,10 +1,3 @@ -sylius_ui: - events: - sylius.admin.layout.topbar_right: - blocks: - admin_notifications: - template: '@SynoliaSyliusAdminNotificationPlugin/Notifications/top_bar.html.twig' - priority: 11 framework: notifier: @@ -49,17 +42,21 @@ sylius_grid: sortable: true enabled: false filters: - channel: - type: string - label: sylius.ui.channel - enabled: true - default_value: ~ levelName: - type: criticality + type: select enabled: true - label: sylius.ui.channel + label: synolia_sylius_admin_notification.ui.level_name + form_options: + choices: + synolia_sylius_admin_notification.ui.levels.debug: DEBUG + synolia_sylius_admin_notification.ui.levels.info: INFO + synolia_sylius_admin_notification.ui.levels.notice: NOTICE + synolia_sylius_admin_notification.ui.levels.warning: WARNING + synolia_sylius_admin_notification.ui.levels.error: ERROR + synolia_sylius_admin_notification.ui.levels.critical: CRITICAL + synolia_sylius_admin_notification.ui.levels.alert: ALERT + synolia_sylius_admin_notification.ui.levels.emergency: EMERGENCY default_value: ~ - message: type: string label: synolia_sylius_admin_notification.ui.message @@ -83,6 +80,3 @@ sylius_grid: enabled: true position: 100 options: { } - templates: - filter: - criticality: '@SynoliaSyliusAdminNotificationPlugin/Grid/Filter/criticality.html.twig' diff --git a/config/routes/admin_routing.yaml b/config/routes/admin_routing.yaml index 7f99a01..7d47260 100644 --- a/config/routes/admin_routing.yaml +++ b/config/routes/admin_routing.yaml @@ -3,17 +3,11 @@ synolia_sylius_admin_notification: alias: synolia_sylius_admin_notification.notification section: admin redirect: index - templates: '@SyliusAdmin/Crud' + templates: '@SyliusAdmin/shared/crud' grid: synolia_sylius_admin_notification permission: true - except: ['show', 'create', 'update'] + except: ['create', 'update'] vars: all: - subheader: synolia_sylius_admin_notification.ui.admin.subheader - index: - icon: balance scale + hook_prefix: 'synolia.admin.notification' type: sylius.resource - -synolia_sylius_admin_notification_admin_notification_show: - path: /notifications/{id}/show - controller: Synolia\SyliusAdminNotificationPlugin\Controller\ShowAction diff --git a/config/twig_hooks/admin/layout/navbar.yaml b/config/twig_hooks/admin/layout/navbar.yaml new file mode 100644 index 0000000..3b33a21 --- /dev/null +++ b/config/twig_hooks/admin/layout/navbar.yaml @@ -0,0 +1,6 @@ +sylius_twig_hooks: + hooks: + 'sylius_admin.common.component.navbar.items': + admin_notifications: + template: '@SynoliaSyliusAdminNotificationPlugin/Notifications/top_bar.html.twig' + priority: 11 diff --git a/config/twig_hooks/admin/notification/show.yaml b/config/twig_hooks/admin/notification/show.yaml new file mode 100644 index 0000000..509795a --- /dev/null +++ b/config/twig_hooks/admin/notification/show.yaml @@ -0,0 +1,5 @@ +sylius_twig_hooks: + hooks: + 'synolia.admin.notification.show.content': + content: + template: '@SynoliaSyliusAdminNotificationPlugin/show.html.twig' diff --git a/dev/phpstan.neon b/dev/phpstan.neon index c87b180..720a2f4 100644 --- a/dev/phpstan.neon +++ b/dev/phpstan.neon @@ -1,8 +1,6 @@ parameters: level: max reportUnmatchedIgnoredErrors: false - checkMissingIterableValueType: false - checkGenericClassInNonGenericObjectType: false bootstrapFiles: - ../vendor/autoload.php excludePaths: diff --git a/src/DependencyInjection/SynoliaSyliusAdminNotificationExtension.php b/src/DependencyInjection/SynoliaSyliusAdminNotificationExtension.php index 4ff765c..1b6e8ca 100644 --- a/src/DependencyInjection/SynoliaSyliusAdminNotificationExtension.php +++ b/src/DependencyInjection/SynoliaSyliusAdminNotificationExtension.php @@ -19,6 +19,7 @@ final class SynoliaSyliusAdminNotificationExtension extends AbstractResourceExte public function load(array $configs, ContainerBuilder $container): void { + /** @var array{driver: string, resources: array| {{ 'sylius.ui.id'|trans }} | +{{ 'sylius.ui.id'|trans }} | {{ resource.id }} |
|---|---|---|
| {{ 'sylius.ui.channel'|trans }} | +{{ 'sylius.ui.channel'|trans }} | {{ resource.channel }} |
| {{ 'synolia_sylius_admin_notification.ui.level_name'|trans }} | +{{ 'synolia_sylius_admin_notification.ui.level_name'|trans }} | {{ resource.levelName }} |
| {{ 'synolia_sylius_admin_notification.ui.message'|trans }} | +{{ 'synolia_sylius_admin_notification.ui.message'|trans }} | {{ resource.message }} |
{{ resource.context|serialize }}
+ {{ resource.context|serialize }}
{% endif %}