diff --git a/.github/workflows/recipe.yaml b/.github/workflows/recipe.yaml
index d16367d..3884a81 100644
--- a/.github/workflows/recipe.yaml
+++ b/.github/workflows/recipe.yaml
@@ -2,7 +2,7 @@ name: Flex Recipe
on:
push:
- branches: [ master ]
+ branches: [ $default-branch ]
pull_request:
jobs:
@@ -14,8 +14,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: ['8.1', '8.2', '8.3']
- sylius: ["~1.12.0", "~1.13.0", "1.14.0"]
+ php: [ '8.2', '8.3' ]
+ sylius: [ '~2.0.0', '~2.1.0' ]
steps:
- name: Setup PHP
diff --git a/.github/workflows/security.yaml b/.github/workflows/security.yaml
index df6525a..23bd06d 100644
--- a/.github/workflows/security.yaml
+++ b/.github/workflows/security.yaml
@@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: ['8.1', '8.2', '8.3']
+ php: ['8.2', '8.3']
steps:
- uses: actions/checkout@v3
@@ -50,4 +50,3 @@ jobs:
run: composer update --prefer-dist
- uses: symfonycorp/security-checker-action@v4
-
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index 35e1014..a87082e 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -2,7 +2,7 @@ name: Tests
on:
push:
- branches: [ master ]
+ branches: [ $default-branch ]
pull_request:
jobs:
@@ -14,7 +14,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: ['8.1', '8.2', '8.3']
+ php: [ '8.2', '8.3' ]
+ node: [ '20' ]
env:
SYMFONY_ARGS: --no-tls
@@ -25,7 +26,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
- node-version: '14'
+ node-version: ${{ matrix.node }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
diff --git a/Makefile b/Makefile
index f30c2cd..7d7a243 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
.DEFAULT_GOAL := help
SHELL=/bin/bash
APP_DIR=tests/Application
-SYLIUS_VERSION=1.14.0
+SYLIUS_VERSION=2.1.0
SYMFONY=cd ${APP_DIR} && symfony
COMPOSER=symfony composer
CONSOLE=${SYMFONY} console
@@ -138,13 +138,13 @@ test.container: ## Lint the symfony container
${CONSOLE} lint:container
test.yaml: ## Lint the symfony Yaml files
- ${CONSOLE} lint:yaml ../../src/Resources/config --parse-tags
+ ${CONSOLE} lint:yaml ../../config --parse-tags
test.schema: ## Validate MySQL Schema
${CONSOLE} doctrine:schema:validate
test.twig: ## Validate Twig templates
- ${CONSOLE} lint:twig --no-debug templates/ ../../src/Resources/views/
+ ${CONSOLE} lint:twig --no-debug templates/ ../../templates/
###
### SYLIUS
diff --git a/README.md b/README.md
index 91ebac4..f7797e0 100644
--- a/README.md
+++ b/README.md
@@ -11,11 +11,11 @@ This plugins allows you to customize colors, logos and background of the Sylius
## Compatibility
-| Sylius Version | PHP Version |
-|----------------|-----------------|
-| 1.12 | 8.1 - 8.2 - 8.3 |
-| 1.13 | 8.1 - 8.2 - 8.3 |
-| 1.14 | 8.1 - 8.2 - 8.3 |
+| Sylius Version | PHP Version |
+|----------------|-------------|
+| 2.0, 2.1 | 8.2 - 8.3 |
+
+ℹ️ For Sylius 1.x, see our [1.x branch](/tree/1.x) and all 1.x releases.
## Installation
diff --git a/UPGRADE-2.0.md b/UPGRADE-2.0.md
new file mode 100644
index 0000000..0900fa2
--- /dev/null
+++ b/UPGRADE-2.0.md
@@ -0,0 +1,13 @@
+# Upgrade Guide to Sylius 2.x
+
+## Configuration Changes
+
+- The configuration is now in `config` folder instead of `src/Resources/config`.
+
+## Removed Settings
+
+- Removed `circular_icon_color` setting from admin settings form and configuration
+
+## Templates
+
+- Templates path changed and now use Twig Hooks
diff --git a/composer.json b/composer.json
index b87a72d..a80f96b 100644
--- a/composer.json
+++ b/composer.json
@@ -5,10 +5,10 @@
"description": "Manage your logos, colors and backgrounds with settings in Sylius Admin pannel",
"license": "MIT",
"require": {
- "monsieurbiz/sylius-media-manager-plugin": "^1.0",
- "monsieurbiz/sylius-settings-plugin": "^1.0",
- "php": "^8.1",
- "sylius/sylius": ">=1.12 <2.0"
+ "monsieurbiz/sylius-media-manager-plugin": "^2.0",
+ "monsieurbiz/sylius-settings-plugin": "^2.0",
+ "php": "^8.2 || ^8.3",
+ "sylius/sylius": "~2.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.16",
@@ -38,7 +38,7 @@
},
"extra": {
"branch-alias": {
- "dev-master": "1.1-dev"
+ "dev-master": "2.0-dev"
},
"symfony": {
"docker": false,
diff --git a/config/config.yaml b/config/config.yaml
new file mode 100644
index 0000000..64fc826
--- /dev/null
+++ b/config/config.yaml
@@ -0,0 +1,4 @@
+imports:
+ - { resource: 'images.yaml' }
+ - { resource: 'twig_hooks.yaml' }
+ - { resource: 'settings.yaml' }
diff --git a/src/Resources/config/sylius/images.yaml b/config/images.yaml
similarity index 100%
rename from src/Resources/config/sylius/images.yaml
rename to config/images.yaml
diff --git a/src/Resources/config/services.yaml b/config/services.yaml
similarity index 70%
rename from src/Resources/config/services.yaml
rename to config/services.yaml
index 61dcca0..47a69f9 100644
--- a/src/Resources/config/services.yaml
+++ b/config/services.yaml
@@ -5,9 +5,9 @@ services:
public: false
MonsieurBiz\SyliusBetterAdminPlugin\:
- resource: '../../*'
- exclude: '../../{Entity}'
+ resource: '../src/*'
+ exclude: '../src/{Entity}'
MonsieurBiz\SyliusBetterAdminPlugin\Controller\:
- resource: '../../Controller'
+ resource: '../src/Controller'
tags: [ 'controller.service_arguments' ]
diff --git a/src/Resources/config/monsieurbiz/settings.yaml b/config/settings.yaml
similarity index 76%
rename from src/Resources/config/monsieurbiz/settings.yaml
rename to config/settings.yaml
index d269faa..0073a50 100644
--- a/src/Resources/config/monsieurbiz/settings.yaml
+++ b/config/settings.yaml
@@ -4,12 +4,14 @@ monsieurbiz_sylius_settings:
vendor_name: Monsieur Biz
plugin_name: monsieurbiz_better_admin.settings.admin.plugin_name
description: monsieurbiz_better_admin.settings.admin.description
- icon: cog
+ icon: bi:gear
use_locales: false
classes:
form: MonsieurBiz\SyliusBetterAdminPlugin\Form\Type\Settings\AdminSettingsType
default_values:
color: '#1abb9c'
- circular_icon_color: '#ffffff'
logo_login_width: '200'
- logo_sidebar_width: '90'
+ logo_sidebar_width: '200'
+ logo: ''
+ logo_sidebar: ''
+ background_image: ''
diff --git a/config/twig_hooks.yaml b/config/twig_hooks.yaml
new file mode 100644
index 0000000..059804d
--- /dev/null
+++ b/config/twig_hooks.yaml
@@ -0,0 +1,42 @@
+sylius_twig_hooks:
+ hooks:
+ sylius_admin.base#stylesheets:
+ monsieurbiz_better_admin_stylesheet:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/styles.html.twig"
+ priority: 9999
+ sylius_admin.common.component.sidebar.logo:
+ image:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/sidebar/logo.html.twig"
+ priority: 9999
+ sylius_admin.security.login.page.logo:
+ image:
+ enabled: false
+ sylius_admin.security.login.page.content:
+ header:
+ enabled: false
+ image:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/logo.html.twig"
+ priority: 9999
+ background:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/background.html.twig"
+ priority: -9999
+ sylius_admin.security.request_password_reset.page.logo:
+ image:
+ enabled: false
+ sylius_admin.security.request_password_reset.page.content:
+ image:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/logo.html.twig"
+ priority: 9999
+ background:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/background.html.twig"
+ priority: -9999
+ sylius_admin.security.reset_password.page.logo:
+ image:
+ enabled: false
+ sylius_admin.security.reset_password.page.content:
+ image:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/logo.html.twig"
+ priority: 9999
+ background:
+ template: "@MonsieurBizSyliusBetterAdminPlugin/security/background.html.twig"
+ priority: -9999
diff --git a/dist/.env.local b/dist/.env.local
index 6c1a99e..d8ecea7 100644
--- a/dist/.env.local
+++ b/dist/.env.local
@@ -1 +1,2 @@
SYLIUS_FIXTURES_HOSTNAME=${SYMFONY_DEFAULT_ROUTE_HOST:-localhost}
+MAILER_DSN=smtp://localhost:50437
diff --git a/dist/src/Context/Channel/RequestBased/HostnameAndPortBasedRequestResolver.php b/dist/src/Context/Channel/RequestBased/HostnameAndPortBasedRequestResolver.php
new file mode 100644
index 0000000..4866953
--- /dev/null
+++ b/dist/src/Context/Channel/RequestBased/HostnameAndPortBasedRequestResolver.php
@@ -0,0 +1,33 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE.txt
+ * file that was distributed with this source code.
+ */
+
+declare(strict_types=1);
+
+namespace App\Context\Channel\RequestBased;
+
+use Sylius\Component\Channel\Context\RequestBased\RequestResolverInterface;
+use Sylius\Component\Channel\Model\ChannelInterface;
+use Sylius\Component\Channel\Repository\ChannelRepositoryInterface;
+use Symfony\Component\DependencyInjection\Attribute\AutoconfigureTag;
+use Symfony\Component\HttpFoundation\Request;
+
+#[AutoconfigureTag('sylius.context.channel.request_based.resolver')]
+final class HostnameAndPortBasedRequestResolver implements RequestResolverInterface
+{
+ public function __construct(private ChannelRepositoryInterface $channelRepository)
+ {
+ }
+
+ public function findChannel(Request $request): ?ChannelInterface
+ {
+ return $this->channelRepository->findOneEnabledByHostname($request->getHost() . ':' . $request->getPort());
+ }
+}
diff --git a/images/demo.jpg b/images/demo.jpg
index 4ce687d..d1c01ad 100644
Binary files a/images/demo.jpg and b/images/demo.jpg differ
diff --git a/images/settings.jpg b/images/settings.jpg
index 134b95e..974f7b1 100644
Binary files a/images/settings.jpg and b/images/settings.jpg differ
diff --git a/src/DependencyInjection/MonsieurBizSyliusBetterAdminExtension.php b/src/DependencyInjection/MonsieurBizSyliusBetterAdminExtension.php
index d21e004..a5c3041 100644
--- a/src/DependencyInjection/MonsieurBizSyliusBetterAdminExtension.php
+++ b/src/DependencyInjection/MonsieurBizSyliusBetterAdminExtension.php
@@ -28,7 +28,7 @@ final class MonsieurBizSyliusBetterAdminExtension extends Extension
*/
public function load(array $config, ContainerBuilder $container): void
{
- $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
+ $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../../config'));
$loader->load('services.yaml');
}
@@ -37,6 +37,6 @@ public function load(array $config, ContainerBuilder $container): void
*/
public function getAlias(): string
{
- return 'monsieurbiz_better_admin';
+ return 'monsieur_biz_sylius_better_admin';
}
}
diff --git a/src/Form/Type/Settings/AdminSettingsType.php b/src/Form/Type/Settings/AdminSettingsType.php
index 6145b76..d8127c0 100644
--- a/src/Form/Type/Settings/AdminSettingsType.php
+++ b/src/Form/Type/Settings/AdminSettingsType.php
@@ -87,16 +87,6 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
'required' => false,
]
);
- $this->addWithDefaultCheckbox(
- $builder,
- 'circular_icon_color',
- ColorType::class,
- [
- 'label' => 'monsieurbiz_better_admin.form.circular_icon_color',
- 'help' => 'monsieurbiz_better_admin.form.circular_icon_color_help',
- 'required' => false,
- ]
- );
$this->addWithDefaultCheckbox(
$builder,
'custom_css',
diff --git a/src/MonsieurBizSyliusBetterAdminPlugin.php b/src/MonsieurBizSyliusBetterAdminPlugin.php
index f6c7a32..249959c 100644
--- a/src/MonsieurBizSyliusBetterAdminPlugin.php
+++ b/src/MonsieurBizSyliusBetterAdminPlugin.php
@@ -13,34 +13,15 @@
namespace MonsieurBiz\SyliusBetterAdminPlugin;
-use LogicException;
use Sylius\Bundle\CoreBundle\Application\SyliusPluginTrait;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
use Symfony\Component\HttpKernel\Bundle\Bundle;
final class MonsieurBizSyliusBetterAdminPlugin extends Bundle
{
use SyliusPluginTrait;
- /**
- * Returns the plugin's container extension.
- *
- * @throws LogicException
- *
- * @return ExtensionInterface|null The container extension
- */
- public function getContainerExtension(): ?ExtensionInterface
+ public function getPath(): string
{
- if (null === $this->containerExtension) {
- $this->containerExtension = false;
- $extension = $this->createContainerExtension();
- if (null !== $extension) {
- $this->containerExtension = $extension;
- }
- }
-
- return $this->containerExtension instanceof ExtensionInterface
- ? $this->containerExtension
- : null;
+ return \dirname(__DIR__);
}
}
diff --git a/src/Resources/config/config.yaml b/src/Resources/config/config.yaml
deleted file mode 100644
index a915670..0000000
--- a/src/Resources/config/config.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-imports:
- - { resource: 'monsieurbiz/*.yaml' }
- - { resource: 'sylius/*.yaml' }
diff --git a/src/Resources/config/sylius/ui.yaml b/src/Resources/config/sylius/ui.yaml
deleted file mode 100644
index 1b2434b..0000000
--- a/src/Resources/config/sylius/ui.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-sylius_ui:
- events:
- sylius.admin.layout.stylesheets:
- blocks:
- monsieurbiz_better_admin_stylesheet:
- template: "@MonsieurBizSyliusBetterAdminPlugin/Admin/_styles.html.twig"
diff --git a/src/Resources/views/Admin/_styles.html.twig b/src/Resources/views/Admin/_styles.html.twig
deleted file mode 100644
index 30bff53..0000000
--- a/src/Resources/views/Admin/_styles.html.twig
+++ /dev/null
@@ -1,114 +0,0 @@
-{% set mainColor = setting('monsieurbiz_better_admin.admin', 'color')|default('#1abb9c') %}
-{% set circularIconColor = setting('monsieurbiz_better_admin.admin', 'circular_icon_color')|default('#1abb9c') %}
-{% set logoSidebarWidth = setting('monsieurbiz_better_admin.admin', 'logo_sidebar_width')|default('90') %}
-{% set logoLoginWidth = setting('monsieurbiz_better_admin.admin', 'logo_login_width')|default('200') %}
-{% set customCss = setting('monsieurbiz_better_admin.admin', 'custom_css')|default('') %}
-
diff --git a/src/Resources/views/SyliusAdminBundle/Layout/_logo.html.twig b/src/Resources/views/SyliusAdminBundle/Layout/_logo.html.twig
deleted file mode 100644
index 9574bb8..0000000
--- a/src/Resources/views/SyliusAdminBundle/Layout/_logo.html.twig
+++ /dev/null
@@ -1,16 +0,0 @@
-{% set logoSidebar = setting('monsieurbiz_better_admin.admin', 'logo_sidebar')|default('') %}
-
- {% if logoSidebar is not empty %}
-
- {% else %}
-
- {% else %}
-
- {% endif %}
-