From 24994b6a6ca8efd19345f313a9420fb177ee7095 Mon Sep 17 00:00:00 2001 From: Elias Lackner Date: Thu, 19 Oct 2023 16:41:07 +0200 Subject: [PATCH] fix: add Shopware 6.5 support --- composer.json | 5 +++-- src/Migration/Migration160198215Redirect.php | 2 +- .../src/module/rl-redirects/index.js | 14 ++++++++------ .../page/rl-redirects-create/index.js | 6 ++---- .../page/rl-redirects-details/index.js | 6 +++--- .../rl-redirects/page/rl-redirects-list/index.js | 5 ++--- .../rl-redirects-list.html.twig | 2 +- .../index.js | 16 ++++++++++++++++ .../sw-import-export-edit-profile-modal/index.js | 11 ----------- .../src/module/sw-import-export/index.js | 2 +- .../module/sw-import-export/snippet/de-DE.json | 7 +++++++ src/RuneLaenenRedirects.php | 2 +- src/Subscriber/RequestSubscriber.php | 14 +++++++------- 13 files changed, 52 insertions(+), 40 deletions(-) create mode 100644 src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-general/index.js delete mode 100644 src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-modal/index.js create mode 100644 src/Resources/app/administration/src/module/sw-import-export/snippet/de-DE.json diff --git a/composer.json b/composer.json index 224b64f..ba6727f 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "runelaenen/sw6-redirects", "description": "Redirect plugin for Shopware 6", - "version": "1.4.0", + "version": "2.0.0", "type": "shopware-platform-plugin", "license": "MIT", "authors": [ @@ -12,7 +12,8 @@ } ], "require": { - "php": "^7.4 || ^8.0" + "php": "^8.1", + "shopware/core": "^6.5" }, "extra": { "shopware-plugin-class": "RuneLaenen\\Redirects\\RuneLaenenRedirects", diff --git a/src/Migration/Migration160198215Redirect.php b/src/Migration/Migration160198215Redirect.php index 023d634..ee2723e 100644 --- a/src/Migration/Migration160198215Redirect.php +++ b/src/Migration/Migration160198215Redirect.php @@ -14,7 +14,7 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { - $connection->executeUpdate( + $connection->executeStatement( << import('./page/rl-redirects-list')); +Component.register('rl-redirects-details', () => import('./page/rl-redirects-details')); +Component.extend('rl-redirects-create', 'rl-redirects-details', () => import('./page/rl-redirects-create')); + +Module.register('rl-redirects', { type: 'plugin', name: 'rl-redirects', title: 'rl-redirects.general.title', description: 'rl-redirects.general.title', color: '#189eff', - icon: 'default-object-rocket', + icon: 'regular-rocket', routes: { list: { @@ -41,6 +43,6 @@ Shopware.Module.register('rl-redirects', { settingsItem: [{ to: 'rl.redirects.list', group: 'shop', - icon: 'small-arrow-large-double-right', + icon: 'regular-double-chevron-right-s', }], }); diff --git a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-create/index.js b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-create/index.js index e71ab7a..b25976d 100644 --- a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-create/index.js +++ b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-create/index.js @@ -1,6 +1,4 @@ -const { Component } = Shopware; - -Component.extend('rl-redirects-create', 'rl-redirects-details', { +export default { methods: { getRedirect() { this.redirect = this.redirectRepository.create(Shopware.Context.api); @@ -32,4 +30,4 @@ Component.extend('rl-redirects-create', 'rl-redirects-details', { }, }, -}); +}; diff --git a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-details/index.js b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-details/index.js index e57ddf9..574e08d 100644 --- a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-details/index.js +++ b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-details/index.js @@ -1,8 +1,8 @@ import template from './rl-redirects-details.html.twig'; -const { Component, Mixin } = Shopware; +const { Mixin } = Shopware; -Component.register('rl-redirects-details', { +export default { template, inject: [ @@ -87,4 +87,4 @@ Component.register('rl-redirects-details', { }, }, -}); +}; diff --git a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/index.js b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/index.js index 0ffaaa6..05376cc 100644 --- a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/index.js +++ b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/index.js @@ -1,9 +1,8 @@ import template from './rl-redirects-list.html.twig'; -const { Component } = Shopware; const Criteria = Shopware.Data.Criteria; -Component.register('rl-redirects-list', { +export default { template, inject: [ @@ -56,4 +55,4 @@ Component.register('rl-redirects-list', { }); }, -}); +}; diff --git a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/rl-redirects-list.html.twig b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/rl-redirects-list.html.twig index e68cbfe..a43f4c9 100644 --- a/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/rl-redirects-list.html.twig +++ b/src/Resources/app/administration/src/module/rl-redirects/page/rl-redirects-list/rl-redirects-list.html.twig @@ -14,7 +14,7 @@ :items="redirects" :repository="redirectRepository" :columns="columns" - detailRoute="rl.redirect.details"> + detailRoute="rl.redirects.details"> {% endblock %} diff --git a/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-general/index.js b/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-general/index.js new file mode 100644 index 0000000..45dc507 --- /dev/null +++ b/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-general/index.js @@ -0,0 +1,16 @@ +export default { + computed: { + supportedEntities() { + const supportedEntities = this.$super('supportedEntities'); + + supportedEntities.push({ + value: 'rl_redirects_redirect', + label: this.$tc('sw-import-export.profile.rlRedirectLabel'), + type: 'import-export', + }); + + return supportedEntities; + }, + }, + +}; diff --git a/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-modal/index.js b/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-modal/index.js deleted file mode 100644 index 1bb6ce7..0000000 --- a/src/Resources/app/administration/src/module/sw-import-export/component/sw-import-export-edit-profile-modal/index.js +++ /dev/null @@ -1,11 +0,0 @@ - -Shopware.Component.override('sw-import-export-edit-profile-modal', { - created() { - this.supportedEntities.push({ - value: 'rl_redirects_redirect', - label: this.$tc('sw-import-export.profile.rlRedirectLabel'), - }); - - console.log(this.supportedEntities); - }, -}); diff --git a/src/Resources/app/administration/src/module/sw-import-export/index.js b/src/Resources/app/administration/src/module/sw-import-export/index.js index 79e7057..5a1e004 100644 --- a/src/Resources/app/administration/src/module/sw-import-export/index.js +++ b/src/Resources/app/administration/src/module/sw-import-export/index.js @@ -1 +1 @@ -import './component/sw-import-export-edit-profile-modal'; +Shopware.Component.override('sw-import-export-edit-profile-general', () => import('./component/sw-import-export-edit-profile-general')); diff --git a/src/Resources/app/administration/src/module/sw-import-export/snippet/de-DE.json b/src/Resources/app/administration/src/module/sw-import-export/snippet/de-DE.json new file mode 100644 index 0000000..e40b647 --- /dev/null +++ b/src/Resources/app/administration/src/module/sw-import-export/snippet/de-DE.json @@ -0,0 +1,7 @@ +{ + "sw-import-export": { + "profile": { + "rlRedirectLabel": "Weiterleitung" + } + } +} diff --git a/src/RuneLaenenRedirects.php b/src/RuneLaenenRedirects.php index 025a9e7..41c054a 100644 --- a/src/RuneLaenenRedirects.php +++ b/src/RuneLaenenRedirects.php @@ -18,6 +18,6 @@ public function uninstall(UninstallContext $uninstallContext): void /** @var Connection $connection */ $connection = $this->container->get(Connection::class); - $connection->executeUpdate('DROP TABLE IF EXISTS `rl_redirects_redirect`;'); + $connection->executeStatement('DROP TABLE IF EXISTS `rl_redirects_redirect`;'); } } diff --git a/src/Subscriber/RequestSubscriber.php b/src/Subscriber/RequestSubscriber.php index 007ea07..6810f02 100644 --- a/src/Subscriber/RequestSubscriber.php +++ b/src/Subscriber/RequestSubscriber.php @@ -5,12 +5,12 @@ use RuneLaenen\Redirects\Content\Redirect\RedirectEntity; use Shopware\Core\Framework\Adapter\Cache\CacheCompressor; use Shopware\Core\Framework\Context; -use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface; -use Shopware\Core\Framework\DataAbstractionLayer\FieldSerializer\JsonFieldSerializer; +use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository; use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria; use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter; use Shopware\Core\Framework\Event\BeforeSendRedirectResponseEvent; use Shopware\Core\Framework\Event\BeforeSendResponseEvent; +use Shopware\Core\Framework\Util\Json; use Symfony\Component\Cache\Adapter\TagAwareAdapterInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -21,15 +21,15 @@ class RequestSubscriber implements EventSubscriberInterface { private const TAG_KEY = 'rl_redirects_cache'; - private EntityRepositoryInterface $redirectRepository; + private EntityRepository $redirectRepository; - private EntityRepositoryInterface $seoUrlRepository; + private EntityRepository $seoUrlRepository; private TagAwareAdapterInterface $cache; public function __construct( - EntityRepositoryInterface $redirectRepository, - EntityRepositoryInterface $seoUrlRepository, + EntityRepository $redirectRepository, + EntityRepository $seoUrlRepository, TagAwareAdapterInterface $cache ) { $this->redirectRepository = $redirectRepository; @@ -69,7 +69,7 @@ public function redirectBeforeRedirectResponse(BeforeSendRedirectResponseEvent $ private function handleRequestCached(Request $request, ?string $requestUri = null): ?Response { - $cacheKey = md5(JsonFieldSerializer::encodeJson([ + $cacheKey = md5(Json::encode([ $requestUri ?? (string) $request->get('resolved-uri'), $request->get('sw-storefront-url'), $request->getBaseUrl(),