diff --git a/phpstan-baseline-7.4.neon b/phpstan-baseline-7.4.neon index 3aabfa93f4..27942d62e5 100644 --- a/phpstan-baseline-7.4.neon +++ b/phpstan-baseline-7.4.neon @@ -245,11 +245,6 @@ parameters: count: 1 path: src/lib/Tab/LocationView/VersionsTab.php - - - message: "#^Parameter \\#1 \\$str of function strtolower expects string, string\\|null given\\.$#" - count: 1 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - message: "#^Parameter \\#1 \\$array_arg of function usort expects TArray of array\\, iterable\\ given\\.$#" count: 1 @@ -265,11 +260,6 @@ parameters: count: 1 path: src/lib/UI/Config/Provider/ContentTypes.php - - - message: "#^Parameter \\#1 \\$input of function array_filter expects array, iterable\\ given\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - message: "#^Parameter \\#2 \\$size of function array_chunk expects int\\<1, max\\>, int given\\.$#" count: 1 diff --git a/phpstan-baseline-8.0.neon b/phpstan-baseline-8.0.neon index 31d6260782..4d58886cc1 100644 --- a/phpstan-baseline-8.0.neon +++ b/phpstan-baseline-8.0.neon @@ -165,11 +165,6 @@ parameters: count: 1 path: src/lib/Tab/LocationView/ContentTab.php - - - message: "#^Parameter \\#1 \\$string of function strtolower expects string, string\\|null given\\.$#" - count: 1 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - message: "#^Parameter \\#1 \\$array of function usort expects TArray of array\\, iterable\\ given\\.$#" count: 1 @@ -185,11 +180,6 @@ parameters: count: 1 path: src/lib/UI/Config/Provider/ContentTypes.php - - - message: "#^Parameter \\#1 \\$array of function array_filter expects array, iterable\\ given\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - message: "#^Parameter \\#2 \\$length of function array_chunk expects int\\<1, max\\>, int given\\.$#" count: 1 diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 400b11658d..5408122135 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1575,16 +1575,6 @@ parameters: count: 1 path: src/contracts/UniversalDiscovery/Provider.php - - - message: "#^Method Ibexa\\\\Contracts\\\\AdminUi\\\\UniversalDiscovery\\\\Provider\\:\\:getRestFormat\\(\\) has parameter \\$valueObject with no type specified\\.$#" - count: 1 - path: src/contracts/UniversalDiscovery/Provider.php - - - - message: "#^Method Ibexa\\\\Contracts\\\\AdminUi\\\\UniversalDiscovery\\\\Provider\\:\\:getRestFormat\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/contracts/UniversalDiscovery/Provider.php - - message: "#^Method Ibexa\\\\Contracts\\\\AdminUi\\\\UniversalDiscovery\\\\Provider\\:\\:getSubitemContents\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -8575,11 +8565,6 @@ parameters: count: 1 path: src/lib/Siteaccess/SiteaccessResolver.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\Siteaccess\\\\SiteaccessResolver\\:\\:getSiteaccessesForLocation\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Siteaccess/SiteaccessResolver.php - - message: "#^PHPDoc tag @param references unknown parameter\\: \\$siteAccesses$#" count: 1 @@ -8685,16 +8670,6 @@ parameters: count: 1 path: src/lib/Tab/Dashboard/MyMediaTab.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\Tab\\\\Dashboard\\\\PagerContentToDataMapper\\:\\:map\\(\\) has parameter \\$pager with generic class Pagerfanta\\\\Pagerfanta but does not specify its types\\: T$#" - count: 1 - path: src/lib/Tab/Dashboard/PagerContentToDataMapper.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\Tab\\\\Dashboard\\\\PagerContentToDataMapper\\:\\:map\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Tab/Dashboard/PagerContentToDataMapper.php - - message: "#^Method Ibexa\\\\AdminUi\\\\Tab\\\\Event\\\\Subscriber\\\\ConditionalTabSubscriber\\:\\:getSubscribedEvents\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -9025,26 +9000,6 @@ parameters: count: 1 path: src/lib/Translation/Extractor/JavaScriptFileVisitor.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\LimitationTranslationExtractor\\:\\:__construct\\(\\) has parameter \\$policyMap with no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Translation/Extractor/LimitationTranslationExtractor.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\LimitationTranslationExtractor\\:\\:extract\\(\\) has no return type specified\\.$#" - count: 1 - path: src/lib/Translation/Extractor/LimitationTranslationExtractor.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\LimitationTranslationExtractor\\:\\:getLimitationTypes\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Translation/Extractor/LimitationTranslationExtractor.php - - - - message: "#^Property Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\LimitationTranslationExtractor\\:\\:\\$policyMap type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Translation/Extractor/LimitationTranslationExtractor.php - - message: "#^Access to an undefined property PhpParser\\\\Node\\:\\:\\$args\\.$#" count: 5 @@ -9125,26 +9080,6 @@ parameters: count: 1 path: src/lib/Translation/Extractor/NotificationTranslationExtractor.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\PolicyTranslationExtractor\\:\\:__construct\\(\\) has parameter \\$policyMap with no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\PolicyTranslationExtractor\\:\\:createMessage\\(\\) never returns null so it can be removed from the return type\\.$#" - count: 1 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - - - message: "#^Parameter \\#1 \\$message of method JMS\\\\TranslationBundle\\\\Model\\\\MessageCatalogue\\:\\:add\\(\\) expects JMS\\\\TranslationBundle\\\\Model\\\\Message, JMS\\\\TranslationBundle\\\\Model\\\\Message\\\\XliffMessage\\|null given\\.$#" - count: 5 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - - - message: "#^Property Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\PolicyTranslationExtractor\\:\\:\\$policyMap type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php - - message: "#^Method Ibexa\\\\AdminUi\\\\Translation\\\\Extractor\\\\SortingTranslationExtractor\\:\\:extract\\(\\) has no return type specified\\.$#" count: 1 @@ -9360,31 +9295,6 @@ parameters: count: 1 path: src/lib/UI/Dataset/ContentDraftListDataset.php - - - message: "#^Cannot access offset int on iterable\\\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\UI\\\\Dataset\\\\ContentDraftsDataset\\:\\:getContentDrafts\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\UI\\\\Dataset\\\\ContentDraftsDataset\\:\\:mapContentDraft\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - - - message: "#^Property Ibexa\\\\AdminUi\\\\UI\\\\Dataset\\\\ContentDraftsDataset\\:\\:\\$data type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - - - message: "#^Property Ibexa\\\\AdminUi\\\\UI\\\\Dataset\\\\ContentDraftsDataset\\:\\:\\$locationService is never read, only written\\.$#" - count: 1 - path: src/lib/UI/Dataset/ContentDraftsDataset.php - - message: "#^Parameter \\#2 \\$array of function array_map expects array, iterable\\ given\\.$#" count: 1 @@ -9722,7 +9632,7 @@ parameters: - message: "#^PHPDoc tag @return with type Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\Values\\\\Content\\\\Relation is not subtype of native type Ibexa\\\\AdminUi\\\\UI\\\\Value\\\\Content\\\\Relation\\.$#" - count: 2 + count: 1 path: src/lib/UI/Value/ValueFactory.php - @@ -9925,16 +9835,6 @@ parameters: count: 1 path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\UniversalDiscovery\\\\UniversalDiscoveryProvider\\:\\:getRestFormat\\(\\) has parameter \\$valueObject with no type specified\\.$#" - count: 1 - path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php - - - - message: "#^Method Ibexa\\\\AdminUi\\\\UniversalDiscovery\\\\UniversalDiscoveryProvider\\:\\:getRestFormat\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php - - message: "#^Method Ibexa\\\\AdminUi\\\\UniversalDiscovery\\\\UniversalDiscoveryProvider\\:\\:getSortClause\\(\\) should return Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\Values\\\\Content\\\\Query\\\\SortClause but returns object\\.$#" count: 1 @@ -9960,11 +9860,6 @@ parameters: count: 1 path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php - - - message: "#^Parameter \\#1 \\$json of function json_decode expects string, string\\|false given\\.$#" - count: 1 - path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php - - message: "#^Parameter \\#1 \\$query of method Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\SearchService\\:\\:findLocations\\(\\) expects Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\Values\\\\Content\\\\LocationQuery, Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\Values\\\\Content\\\\Query given\\.$#" count: 1 @@ -10015,11 +9910,6 @@ parameters: count: 1 path: src/lib/Validator/Constraints/FieldSettingsValidator.php - - - message: "#^Method Ibexa\\\\AdminUi\\\\Validator\\\\Constraints\\\\FieldTypeValidator\\:\\:processValidationErrors\\(\\) has no return type specified\\.$#" - count: 1 - path: src/lib/Validator/Constraints/FieldTypeValidator.php - - message: "#^Property Ibexa\\\\AdminUi\\\\Validator\\\\Constraints\\\\LocationHasChildren\\:\\:\\$message has no type specified\\.$#" count: 1 @@ -12621,11 +12511,6 @@ parameters: count: 1 path: tests/lib/Tab/TabRegistryTest.php - - - message: "#^Method Ibexa\\\\Tests\\\\AdminUi\\\\Translation\\\\Extractor\\\\LimitationTranslationExtractorTest\\:\\:testExtract\\(\\) has no return type specified\\.$#" - count: 1 - path: tests/lib/Translation/Extractor/LimitationTranslationExtractorTest.php - - message: "#^Method Ibexa\\\\Tests\\\\AdminUi\\\\UI\\\\Config\\\\Service\\\\ContentTypeIconResolverTest\\:\\:dataProviderForGetContentTypeIcon\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 diff --git a/src/bundle/Controller/Content/ContentTreeController.php b/src/bundle/Controller/Content/ContentTreeController.php index 879563d93e..f495ccace6 100644 --- a/src/bundle/Controller/Content/ContentTreeController.php +++ b/src/bundle/Controller/Content/ContentTreeController.php @@ -8,6 +8,7 @@ namespace Ibexa\Bundle\AdminUi\Controller\Content; +use Ibexa\AdminUi\Permission\LimitationResolverInterface; use Ibexa\AdminUi\Permission\LookupLimitationsTransformer; use Ibexa\AdminUi\REST\Value\ContentTree\LoadSubtreeRequestNode; use Ibexa\AdminUi\REST\Value\ContentTree\Node; @@ -16,7 +17,6 @@ use Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface; use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUser; use Ibexa\AdminUi\UI\Module\ContentTree\NodeFactory; -use Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface; use Ibexa\Contracts\Core\Limitation\Target; use Ibexa\Contracts\Core\Repository\LocationService; use Ibexa\Contracts\Core\Repository\PermissionResolver; @@ -36,8 +36,6 @@ class ContentTreeController extends RestController { private LocationService $locationService; - private PermissionCheckerInterface $permissionChecker; - private LookupLimitationsTransformer $lookupLimitationsTransformer; private NodeFactory $contentTreeNodeFactory; @@ -48,22 +46,24 @@ class ContentTreeController extends RestController private SiteaccessResolverInterface $siteaccessResolver; + private LimitationResolverInterface $limitationResolver; + public function __construct( LocationService $locationService, - PermissionCheckerInterface $permissionChecker, LookupLimitationsTransformer $lookupLimitationsTransformer, NodeFactory $contentTreeNodeFactory, PermissionResolver $permissionResolver, ConfigResolverInterface $configResolver, - SiteaccessResolverInterface $siteaccessResolver + SiteaccessResolverInterface $siteaccessResolver, + LimitationResolverInterface $limitationResolver ) { $this->locationService = $locationService; - $this->permissionChecker = $permissionChecker; $this->lookupLimitationsTransformer = $lookupLimitationsTransformer; $this->contentTreeNodeFactory = $contentTreeNodeFactory; $this->permissionResolver = $permissionResolver; $this->configResolver = $configResolver; $this->siteaccessResolver = $siteaccessResolver; + $this->limitationResolver = $limitationResolver; } /** @@ -171,8 +171,8 @@ public function loadNodeExtendedInfoAction(Location $location): NodeExtendedInfo */ private function getLocationPermissionRestrictions(Location $location): array { - $lookupCreateLimitationsResult = $this->permissionChecker->getContentCreateLimitations($location); - $lookupUpdateLimitationsResult = $this->permissionChecker->getContentUpdateLimitations($location); + $lookupCreateLimitationsResult = $this->limitationResolver->getContentCreateLimitations($location); + $lookupUpdateLimitationsResult = $this->limitationResolver->getContentUpdateLimitations($location); $createLimitationsValues = $this->lookupLimitationsTransformer->getGroupedLimitationValues( $lookupCreateLimitationsResult, diff --git a/src/bundle/DependencyInjection/Configuration/Parser/AdminUiForms.php b/src/bundle/DependencyInjection/Configuration/Parser/AdminUiForms.php index edd03b9879..533034673e 100644 --- a/src/bundle/DependencyInjection/Configuration/Parser/AdminUiForms.php +++ b/src/bundle/DependencyInjection/Configuration/Parser/AdminUiForms.php @@ -21,8 +21,9 @@ * system: * admin_group: # configuration per SiteAccess or SiteAccess group * admin_ui_forms: - * content_edit_form_templates: - * - { template: 'template.html.twig', priority: 0 } + * content_edit: + * form_templates: + * - { template: 'template.html.twig', priority: 0 } * ``` */ class AdminUiForms extends AbstractParser @@ -46,28 +47,12 @@ public function addSemanticConfig(NodeBuilder $nodeBuilder) $nodeBuilder ->arrayNode('admin_ui_forms') ->info('Admin UI forms configuration settings') - ->beforeNormalization() - ->always(static function (array $array): array { - // handle deprecated config - if (isset($array['content_edit_form_templates'])) { - $array['content_edit']['form_templates'] = $array['content_edit_form_templates']; - unset($array['content_edit_form_templates']); - } - - return $array; - }) - ->end() ->children() ->arrayNode('content_edit') ->info('Content Edit form configuration') ->children() ->arrayNode('form_templates') ->info('A list of Content Edit (and create) default Twig form templates') - ->setDeprecated( - 'ibexa/admin-ui', - '4.2.0', - 'Setting "admin_ui.content_edit_form_templates" is deprecated. Use "admin_ui.content_edit.form_templates" instead.' - ) ->arrayPrototype() ->children() ->scalarNode('template')->end() diff --git a/src/bundle/DependencyInjection/Configuration/Parser/Pagination.php b/src/bundle/DependencyInjection/Configuration/Parser/Pagination.php index ef7584582b..da1fba9c5d 100644 --- a/src/bundle/DependencyInjection/Configuration/Parser/Pagination.php +++ b/src/bundle/DependencyInjection/Configuration/Parser/Pagination.php @@ -21,7 +21,6 @@ * system: * default: # configuration per siteaccess or siteaccess group * pagination: - * search_limit: 10 * trash_limit: 10 * section_limit: 10 * language_limit: 10 @@ -40,10 +39,6 @@ public function addSemanticConfig(NodeBuilder $nodeBuilder) ->arrayNode('pagination') ->info('System pagination configuration') ->children() - ->scalarNode('search_limit') - ->isRequired() - ->setDeprecated('ezsystems/ezplatform-admin-ui', '2.1', 'The child node "%node%" at path "%path%" is deprecated. Use "search.pagination.limit" instead.') - ->end() ->scalarNode('trash_limit')->isRequired()->end() ->scalarNode('section_limit')->isRequired()->end() ->scalarNode('language_limit')->isRequired()->end() @@ -76,7 +71,6 @@ public function mapConfig(array &$scopeSettings, $currentScope, ContextualizerIn $settings = $scopeSettings['pagination']; $keys = [ - 'search_limit', 'trash_limit', 'section_limit', 'language_limit', diff --git a/src/bundle/DependencyInjection/IbexaAdminUiExtension.php b/src/bundle/DependencyInjection/IbexaAdminUiExtension.php index 7c65e79c53..ebaae6598e 100644 --- a/src/bundle/DependencyInjection/IbexaAdminUiExtension.php +++ b/src/bundle/DependencyInjection/IbexaAdminUiExtension.php @@ -21,24 +21,12 @@ class IbexaAdminUiExtension extends Extension implements PrependExtensionInterfa private const WEBPACK_CONFIG_NAMES = [ 'ibexa.config.js' => [ 'ibexa.config.js' => [], - 'ez.config.js' => [ - 'deprecated' => true, - 'alternative' => 'ibexa.config.js', - ], ], 'ibexa.config.manager.js' => [ 'ibexa.config.manager.js' => [], - 'ez.config.manager.js' => [ - 'deprecated' => true, - 'alternative' => 'ibexa.config.manager.js', - ], ], 'ibexa.webpack.custom.config.js' => [ 'ibexa.webpack.custom.config.js' => [], - 'ez.webpack.custom.config.js' => [ - 'deprecated' => true, - 'alternative' => 'ibexa.webpack.custom.config.js', - ], ], 'ibexa.config.setup.js' => [ 'ibexa.config.setup.js' => [], diff --git a/src/bundle/Resources/config/ezplatform_default_settings.yaml b/src/bundle/Resources/config/ezplatform_default_settings.yaml index 7c6cbb3174..f4da27666c 100644 --- a/src/bundle/Resources/config/ezplatform_default_settings.yaml +++ b/src/bundle/Resources/config/ezplatform_default_settings.yaml @@ -5,7 +5,7 @@ parameters: ibexa.site_access.config.default.location_ids.users: 5 # Pagination limits - ibexa.site_access.config.admin_group.pagination.search_limit: 10 + ibexa.site_access.config.admin_group.search.pagination.limit: 10 ibexa.site_access.config.admin_group.pagination.trash_limit: 10 ibexa.site_access.config.admin_group.pagination.section_limit: 10 ibexa.site_access.config.admin_group.pagination.language_limit: 10 diff --git a/src/bundle/Resources/config/services/dashboard.yaml b/src/bundle/Resources/config/services/dashboard.yaml index 20515debef..1c75a8fb3c 100644 --- a/src/bundle/Resources/config/services/dashboard.yaml +++ b/src/bundle/Resources/config/services/dashboard.yaml @@ -39,12 +39,6 @@ services: tags: - { name: ibexa.admin_ui.tab, group: dashboard-everyone } - Ibexa\AdminUi\Tab\Dashboard\PagerContentToDataMapper: - deprecated: 'Service "%service_id%" is deprecated. Use "Ibexa\AdminUi\Tab\Dashboard\PagerLocationToDataMapper" instead' - parent: Ibexa\AdminUi\Pagination\Mapper\AbstractPagerContentToDataMapper - autowire: true - public: false - Ibexa\AdminUi\Tab\Dashboard\PagerLocationToDataMapper: autowire: true public: false diff --git a/src/bundle/Resources/config/services/translation.yaml b/src/bundle/Resources/config/services/translation.yaml index 51a9ec1ba6..33b908d882 100644 --- a/src/bundle/Resources/config/services/translation.yaml +++ b/src/bundle/Resources/config/services/translation.yaml @@ -8,24 +8,10 @@ services: tags: - { name: jms_translation.file_visitor } - Ibexa\AdminUi\Translation\Extractor\PolicyTranslationExtractor: - deprecated: 'Since ibexa/admin-ui 4.4: The "%service_id%" service is deprecated, will be removed in 5.0' - arguments: - - '%ibexa.api.role.policy_map%' - tags: - - { name: jms_translation.extractor, alias: ez_policy } - Ibexa\AdminUi\Translation\Extractor\SortingTranslationExtractor: tags: - { name: jms_translation.extractor, alias: ez_location_sorting } - Ibexa\AdminUi\Translation\Extractor\LimitationTranslationExtractor: - deprecated: 'Since ibexa/admin-ui 4.4: The "%service_id%" service is deprecated, will be removed in 5.0' - arguments: - - '%ibexa.api.role.policy_map%' - tags: - - { name: jms_translation.extractor, alias: ez_policy_limitation } - Ibexa\AdminUi\Translation\Extractor\NotificationTranslationExtractor: parent: jms_translation.extractor.file.default_php_extractor autowire: false diff --git a/src/bundle/Resources/config/services/universal_discovery_widget.yaml b/src/bundle/Resources/config/services/universal_discovery_widget.yaml index 2242cb7b05..9b69124e88 100644 --- a/src/bundle/Resources/config/services/universal_discovery_widget.yaml +++ b/src/bundle/Resources/config/services/universal_discovery_widget.yaml @@ -21,8 +21,6 @@ services: tags: - { name: kernel.event_subscriber } - Ibexa\AdminUi\UniversalDiscovery\UniversalDiscoveryProvider: - arguments: - $visitor: '@ibexa.rest.output.visitor.json' + Ibexa\AdminUi\UniversalDiscovery\UniversalDiscoveryProvider: ~ Ibexa\Contracts\AdminUi\UniversalDiscovery\Provider: '@Ibexa\AdminUi\UniversalDiscovery\UniversalDiscoveryProvider' diff --git a/src/bundle/Templating/Twig/UiConfigExtension.php b/src/bundle/Templating/Twig/UiConfigExtension.php index da2586e9ac..4a157bd338 100644 --- a/src/bundle/Templating/Twig/UiConfigExtension.php +++ b/src/bundle/Templating/Twig/UiConfigExtension.php @@ -45,8 +45,6 @@ public function getGlobals(): array $configWrapper = $this->createConfigWrapper(); return [ - /** @deprecated ez_admin_ui_config is deprecated since 4.0, use ibexa_admin_ui_config instead */ - 'ez_admin_ui_config' => $configWrapper, 'ibexa_admin_ui_config' => $configWrapper, ]; } diff --git a/src/bundle/Templating/Twig/UserPreferencesGlobalExtension.php b/src/bundle/Templating/Twig/UserPreferencesGlobalExtension.php index 4eebb42ea1..684de317a0 100644 --- a/src/bundle/Templating/Twig/UserPreferencesGlobalExtension.php +++ b/src/bundle/Templating/Twig/UserPreferencesGlobalExtension.php @@ -37,10 +37,7 @@ public function __construct( public function getGlobals(): array { // has to use \ArrayAccess object due to BC promise - return [ - /** @deprecated ez_user_settings is deprecated since 4.0, use ibexa_user_settings instead */ - 'ez_user_settings' => $this->userSettingArrayAccessor, 'ibexa_user_settings' => $this->userSettingArrayAccessor, ]; } diff --git a/src/contracts/Permission/PermissionCheckerInterface.php b/src/contracts/Permission/PermissionCheckerInterface.php index f89091446a..5f29c81607 100644 --- a/src/contracts/Permission/PermissionCheckerInterface.php +++ b/src/contracts/Permission/PermissionCheckerInterface.php @@ -8,7 +8,6 @@ namespace Ibexa\Contracts\AdminUi\Permission; use Ibexa\Contracts\Core\Repository\Values\Content\Location; -use Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult; interface PermissionCheckerInterface { @@ -18,28 +17,4 @@ public function getRestrictions(array $hasAccess, string $class): array; * @param array|bool $hasAccess */ public function canCreateInLocation(Location $location, $hasAccess): bool; - - /** - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\BadStateException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - * - * @internal - * - * @deprecated 4.6.0 The "\Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface::getContentCreateLimitations()" method is deprecated, will be removed in 5.0. - * Use { @see \Ibexa\AdminUi\Permission\LimitationResolverInterface::getContentCreateLimitations() } instead. - */ - public function getContentCreateLimitations(Location $parentLocation): LookupLimitationResult; - - /** - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\BadStateException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - * - * @internal - * - * @deprecated 4.6.0 The "\Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface::getContentUpdateLimitations()" method is deprecated, will be removed in 5.0. - * Use { @see \Ibexa\AdminUi\Permission\LimitationResolverInterface::getContentUpdateLimitations } instead. - */ - public function getContentUpdateLimitations(Location $location): LookupLimitationResult; } diff --git a/src/contracts/UniversalDiscovery/Provider.php b/src/contracts/UniversalDiscovery/Provider.php index 05be099ce0..1ef6ef901c 100644 --- a/src/contracts/UniversalDiscovery/Provider.php +++ b/src/contracts/UniversalDiscovery/Provider.php @@ -63,10 +63,5 @@ public function getLocationGridViewData( public function getLocations(array $locationIds): array; - /** - * @deprecated 4.6.0 The "\Ibexa\Contracts\AdminUi\UniversalDiscoveryProvider::getRestFormat()" method is deprecated, will be removed in 5.0. - */ - public function getRestFormat($valueObject): array; - public function getSortClause(string $sortClauseName, string $sortOrder): Query\SortClause; } diff --git a/src/lib/Form/Type/Content/Draft/ContentCreateType.php b/src/lib/Form/Type/Content/Draft/ContentCreateType.php index ad64048fd3..e30672d052 100644 --- a/src/lib/Form/Type/Content/Draft/ContentCreateType.php +++ b/src/lib/Form/Type/Content/Draft/ContentCreateType.php @@ -14,8 +14,8 @@ use Ibexa\AdminUi\Form\Type\Content\LocationType; use Ibexa\AdminUi\Form\Type\ContentType\ContentTypeChoiceType; use Ibexa\AdminUi\Form\Type\Language\LanguageChoiceType; +use Ibexa\AdminUi\Permission\LimitationResolverInterface; use Ibexa\AdminUi\Permission\LookupLimitationsTransformer; -use Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface; use Ibexa\Contracts\Core\Repository\LanguageService; use Ibexa\Contracts\Core\Repository\Values\Content\Location; use Ibexa\Contracts\Core\Repository\Values\User\Limitation; @@ -38,27 +38,20 @@ class ContentCreateType extends AbstractType /** @var \Ibexa\AdminUi\Permission\LookupLimitationsTransformer */ private $lookupLimitationsTransformer; - /** @var \Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface */ - private $permissionChecker; + private LimitationResolverInterface $limitationResolver; - /** - * @param \Ibexa\Contracts\Core\Repository\LanguageService $languageService - * @param \Symfony\Component\Form\ChoiceList\Loader\ChoiceLoaderInterface $languageChoiceLoader - * @param \Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface $permissionChecker - * @param \Ibexa\AdminUi\Permission\LookupLimitationsTransformer $lookupLimitationsTransformer - */ public function __construct( LanguageService $languageService, ContentCreateContentTypeChoiceLoader $contentCreateContentTypeChoiceLoader, ChoiceLoaderInterface $languageChoiceLoader, - PermissionCheckerInterface $permissionChecker, - LookupLimitationsTransformer $lookupLimitationsTransformer + LookupLimitationsTransformer $lookupLimitationsTransformer, + LimitationResolverInterface $limitationResolver ) { $this->languageService = $languageService; $this->contentCreateContentTypeChoiceLoader = $contentCreateContentTypeChoiceLoader; $this->languageChoiceLoader = $languageChoiceLoader; - $this->permissionChecker = $permissionChecker; $this->lookupLimitationsTransformer = $lookupLimitationsTransformer; + $this->limitationResolver = $limitationResolver; } /** @@ -142,7 +135,7 @@ public function configureOptions(OptionsResolver $resolver) */ private function getLimitationValuesForLocation(Location $location): array { - $lookupLimitationsResult = $this->permissionChecker->getContentCreateLimitations($location); + $lookupLimitationsResult = $this->limitationResolver->getContentCreateLimitations($location); return $this->lookupLimitationsTransformer->getGroupedLimitationValues( $lookupLimitationsResult, diff --git a/src/lib/Menu/ContentRightSidebarBuilder.php b/src/lib/Menu/ContentRightSidebarBuilder.php index 750f2b1f28..d78afc425b 100644 --- a/src/lib/Menu/ContentRightSidebarBuilder.php +++ b/src/lib/Menu/ContentRightSidebarBuilder.php @@ -9,6 +9,7 @@ namespace Ibexa\AdminUi\Menu; use Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent; +use Ibexa\AdminUi\Permission\LimitationResolverInterface; use Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface; use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUser; use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUserGroup; @@ -17,7 +18,6 @@ use Ibexa\AdminUi\UniversalDiscovery\ConfigResolver; use Ibexa\Bundle\AdminUi\Templating\Twig\UniversalDiscoveryExtension; use Ibexa\Contracts\AdminUi\Menu\AbstractBuilder; -use Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface; use Ibexa\Contracts\Core\Limitation\Target; use Ibexa\Contracts\Core\Limitation\Target\Builder\VersionBuilder; use Ibexa\Contracts\Core\Repository\LocationService; @@ -67,11 +67,10 @@ class ContentRightSidebarBuilder extends AbstractBuilder implements TranslationC /** @var \Ibexa\Bundle\AdminUi\Templating\Twig\UniversalDiscoveryExtension */ private $udwExtension; - /** @var \Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface */ - private $permissionChecker; - private SiteaccessResolverInterface $siteaccessResolver; + private LimitationResolverInterface $limitationResolver; + public function __construct( MenuItemFactory $factory, EventDispatcherInterface $eventDispatcher, @@ -80,8 +79,8 @@ public function __construct( ConfigResolverInterface $configResolver, LocationService $locationService, UniversalDiscoveryExtension $udwExtension, - PermissionCheckerInterface $permissionChecker, - SiteaccessResolverInterface $siteaccessResolver + SiteaccessResolverInterface $siteaccessResolver, + LimitationResolverInterface $limitationResolver ) { parent::__construct($factory, $eventDispatcher); @@ -90,8 +89,8 @@ public function __construct( $this->udwConfigResolver = $udwConfigResolver; $this->locationService = $locationService; $this->udwExtension = $udwExtension; - $this->permissionChecker = $permissionChecker; $this->siteaccessResolver = $siteaccessResolver; + $this->limitationResolver = $limitationResolver; } /** @@ -124,7 +123,7 @@ public function createStructure(array $options): ItemInterface $menu = $this->factory->createItem('root'); $startingLocationId = $this->udwConfigResolver->getConfig('default')['starting_location_id']; - $lookupLimitationsResult = $this->permissionChecker->getContentCreateLimitations($location); + $lookupLimitationsResult = $this->limitationResolver->getContentCreateLimitations($location); $canCreate = $lookupLimitationsResult->hasAccess && $contentType->isContainer; $uwdConfig = $this->udwExtension->renderUniversalDiscoveryWidgetConfig('single_container'); $canEdit = $this->permissionResolver->canUser( diff --git a/src/lib/Permission/PermissionChecker.php b/src/lib/Permission/PermissionChecker.php index 6606231898..cee33ffa62 100644 --- a/src/lib/Permission/PermissionChecker.php +++ b/src/lib/Permission/PermissionChecker.php @@ -19,7 +19,6 @@ use Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentUserGroupLimitation; use Ibexa\Contracts\Core\Repository\Values\User\Limitation\SectionLimitation; use Ibexa\Contracts\Core\Repository\Values\User\Limitation\SubtreeLimitation; -use Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult; use Ibexa\Contracts\Core\Repository\Values\User\User; class PermissionChecker implements PermissionCheckerInterface @@ -32,15 +31,11 @@ class PermissionChecker implements PermissionCheckerInterface /** @var \Ibexa\Contracts\Core\Repository\UserService */ private $userService; - private LimitationResolverInterface $limitationResolver; - public function __construct( PermissionResolver $permissionResolver, - LimitationResolverInterface $limitationResolver, UserService $userService ) { $this->permissionResolver = $permissionResolver; - $this->limitationResolver = $limitationResolver; $this->userService = $userService; } @@ -157,28 +152,6 @@ public function canCreateInLocation(Location $location, $hasAccess): bool return true; } - public function getContentCreateLimitations(Location $parentLocation): LookupLimitationResult - { - trigger_deprecation( - 'ibexa/admin-ui', - '4.6', - sprintf('The %s() method is deprecated, will be removed in 5.0.', __METHOD__) - ); - - return $this->limitationResolver->getContentCreateLimitations($parentLocation); - } - - public function getContentUpdateLimitations(Location $location): LookupLimitationResult - { - trigger_deprecation( - 'ibexa/admin-ui', - '4.6', - sprintf('The %s() method is deprecated, will be removed in 5.0.', __METHOD__) - ); - - return $this->limitationResolver->getContentUpdateLimitations($location); - } - /** * This method should only be used for very specific use cases. It should be used in a content cases * where assignment limitations are not relevant. diff --git a/src/lib/Siteaccess/NonAdminSiteaccessResolver.php b/src/lib/Siteaccess/NonAdminSiteaccessResolver.php index 8075160f8e..00604674f9 100644 --- a/src/lib/Siteaccess/NonAdminSiteaccessResolver.php +++ b/src/lib/Siteaccess/NonAdminSiteaccessResolver.php @@ -34,17 +34,6 @@ public function __construct(SiteaccessResolver $siteaccessResolver, array $siteA $this->siteAccessGroups = $siteAccessGroups; } - public function getSiteaccessesForLocation( - Location $location, - int $versionNo = null, - string $languageCode = null - ): array { - return array_column( - $this->getSiteAccessesListForLocation($location, $versionNo, $languageCode), - 'name' - ); - } - /** * @return \Ibexa\Core\MVC\Symfony\SiteAccess[] */ @@ -75,14 +64,6 @@ public function getSiteAccessesList(): array ); } - public function getSiteaccesses(): array - { - return array_column( - $this->getSiteAccessesList(), - 'name' - ); - } - private function isAdminSiteAccess(SiteAccess $siteAccess): bool { return (new IsAdmin($this->siteAccessGroups))->isSatisfiedBy($siteAccess); diff --git a/src/lib/Siteaccess/SiteaccessResolver.php b/src/lib/Siteaccess/SiteaccessResolver.php index 1fec72fb08..3b84bcb287 100644 --- a/src/lib/Siteaccess/SiteaccessResolver.php +++ b/src/lib/Siteaccess/SiteaccessResolver.php @@ -44,33 +44,6 @@ public function __construct( $this->locationService = $locationService; } - /** - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Location $location - * @param int|null $versionNo - * @param string|null $languageCode - * - * @return array - * - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException - */ - public function getSiteaccessesForLocation( - Location $location, - int $versionNo = null, - string $languageCode = null - ): array { - @trigger_error( - sprintf( - 'The "%s" method is deprecated since Ibexa DXP 4.5.0. Use "%s" instead.', - '\Ibexa\AdminUi\Siteaccess\SiteaccessResolver::getSiteaccessesForLocation', - '\Ibexa\AdminUi\Siteaccess\SiteaccessResolver::getSiteAccessesList' - ), - E_USER_DEPRECATED - ); - - return array_column($this->getSiteAccessesListForLocation($location, $versionNo, $languageCode), 'name'); - } - /** * @return \Ibexa\Core\MVC\Symfony\SiteAccess[] */ @@ -125,14 +98,6 @@ public function getSiteAccessesListForContent(Content $content): array return array_unique($siteAccesses); } - public function getSiteaccesses(): array - { - return array_column( - $this->getSiteAccessesList(), - 'name' - ); - } - public function getSiteAccessesList(): array { return iterator_to_array($this->siteAccessService->getAll()); diff --git a/src/lib/Siteaccess/SiteaccessResolverInterface.php b/src/lib/Siteaccess/SiteaccessResolverInterface.php index 7fb1d111d9..351ea5a6b9 100644 --- a/src/lib/Siteaccess/SiteaccessResolverInterface.php +++ b/src/lib/Siteaccess/SiteaccessResolverInterface.php @@ -13,24 +13,6 @@ interface SiteaccessResolverInterface { - /** - * Accepts $location and returns all siteaccesses in which Content item can be previewed. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Location $location - * @param int|null $versionNo - * @param string|null $languageCode - * - * @return string[] - * - * @deprecated Deprecated since Ibexa DXP 4.5.0. - * Use { @see \Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteAccessesList } instead. - */ - public function getSiteaccessesForLocation( - Location $location, - int $versionNo = null, - string $languageCode = null - ): array; - /** * @return \Ibexa\Core\MVC\Symfony\SiteAccess[] */ @@ -49,12 +31,4 @@ public function getSiteAccessesListForContent(Content $content): array; * @return \Ibexa\Core\MVC\Symfony\SiteAccess[] */ public function getSiteAccessesList(): array; - - /** - * @deprecated use \Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteAccessesList instead. - * Returns a complete list of Site Access names. - * - * @return string[] - */ - public function getSiteaccesses(): array; } diff --git a/src/lib/Specification/AbstractSpecification.php b/src/lib/Specification/AbstractSpecification.php deleted file mode 100644 index 210712e785..0000000000 --- a/src/lib/Specification/AbstractSpecification.php +++ /dev/null @@ -1,18 +0,0 @@ -baseSpecification = new BaseAndSpecification($one, $two); - } - - public function isSatisfiedBy($item): bool - { - return $this->baseSpecification->isSatisfiedBy($item); - } -} diff --git a/src/lib/Specification/Content/ContentDraftHasConflict.php b/src/lib/Specification/Content/ContentDraftHasConflict.php index ee3fed3ecb..0a989aee56 100644 --- a/src/lib/Specification/Content/ContentDraftHasConflict.php +++ b/src/lib/Specification/Content/ContentDraftHasConflict.php @@ -8,8 +8,8 @@ namespace Ibexa\AdminUi\Specification\Content; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\ContentService; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class ContentDraftHasConflict extends AbstractSpecification { diff --git a/src/lib/Specification/Content/ContentHaveAssetRelation.php b/src/lib/Specification/Content/ContentHaveAssetRelation.php index 505dc82ec2..746777d747 100644 --- a/src/lib/Specification/Content/ContentHaveAssetRelation.php +++ b/src/lib/Specification/Content/ContentHaveAssetRelation.php @@ -9,9 +9,9 @@ namespace Ibexa\AdminUi\Specification\Content; use Ibexa\AdminUi\Exception\InvalidArgumentException; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\ContentService; use Ibexa\Contracts\Core\Repository\Values\Content\Content; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; use Ibexa\Core\Repository\Values\Content\Relation; class ContentHaveAssetRelation extends AbstractSpecification diff --git a/src/lib/Specification/Content/ContentHaveUniqueRelation.php b/src/lib/Specification/Content/ContentHaveUniqueRelation.php index 4f6a7e6186..0cab15f362 100644 --- a/src/lib/Specification/Content/ContentHaveUniqueRelation.php +++ b/src/lib/Specification/Content/ContentHaveUniqueRelation.php @@ -9,9 +9,9 @@ namespace Ibexa\AdminUi\Specification\Content; use Ibexa\AdminUi\Exception\InvalidArgumentException; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\ContentService; use Ibexa\Contracts\Core\Repository\Values\Content\Content; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; use Ibexa\Core\Repository\Values\Content\Relation; class ContentHaveUniqueRelation extends AbstractSpecification diff --git a/src/lib/Specification/ContentType/ContentTypeIsUser.php b/src/lib/Specification/ContentType/ContentTypeIsUser.php index 7d0711a03e..b9c4c26ddc 100644 --- a/src/lib/Specification/ContentType/ContentTypeIsUser.php +++ b/src/lib/Specification/ContentType/ContentTypeIsUser.php @@ -9,8 +9,8 @@ namespace Ibexa\AdminUi\Specification\ContentType; use Ibexa\AdminUi\Exception\InvalidArgumentException; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class ContentTypeIsUser extends AbstractSpecification { diff --git a/src/lib/Specification/ContentType/ContentTypeIsUserGroup.php b/src/lib/Specification/ContentType/ContentTypeIsUserGroup.php index cfe201e702..5914d4ebe6 100644 --- a/src/lib/Specification/ContentType/ContentTypeIsUserGroup.php +++ b/src/lib/Specification/ContentType/ContentTypeIsUserGroup.php @@ -9,8 +9,8 @@ namespace Ibexa\AdminUi\Specification\ContentType; use Ibexa\AdminUi\Exception\InvalidArgumentException; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class ContentTypeIsUserGroup extends AbstractSpecification { diff --git a/src/lib/Specification/Location/HasChildren.php b/src/lib/Specification/Location/HasChildren.php index 31911103af..a873f70c9a 100644 --- a/src/lib/Specification/Location/HasChildren.php +++ b/src/lib/Specification/Location/HasChildren.php @@ -8,8 +8,8 @@ namespace Ibexa\AdminUi\Specification\Location; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\LocationService; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class HasChildren extends AbstractSpecification { diff --git a/src/lib/Specification/Location/IsContainer.php b/src/lib/Specification/Location/IsContainer.php index c8625b4d1c..023c07bb25 100644 --- a/src/lib/Specification/Location/IsContainer.php +++ b/src/lib/Specification/Location/IsContainer.php @@ -8,7 +8,7 @@ namespace Ibexa\AdminUi\Specification\Location; -use Ibexa\AdminUi\Specification\AbstractSpecification; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class IsContainer extends AbstractSpecification { diff --git a/src/lib/Specification/Location/IsRoot.php b/src/lib/Specification/Location/IsRoot.php index 7d8105c6c4..ce72079e1c 100644 --- a/src/lib/Specification/Location/IsRoot.php +++ b/src/lib/Specification/Location/IsRoot.php @@ -8,7 +8,7 @@ namespace Ibexa\AdminUi\Specification\Location; -use Ibexa\AdminUi\Specification\AbstractSpecification; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; class IsRoot extends AbstractSpecification { diff --git a/src/lib/Specification/Location/IsWithinCopySubtreeLimit.php b/src/lib/Specification/Location/IsWithinCopySubtreeLimit.php index 2055d851df..521c341363 100644 --- a/src/lib/Specification/Location/IsWithinCopySubtreeLimit.php +++ b/src/lib/Specification/Location/IsWithinCopySubtreeLimit.php @@ -8,9 +8,9 @@ namespace Ibexa\AdminUi\Specification\Location; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Contracts\Core\Repository\LocationService; use Ibexa\Contracts\Core\Repository\Values\Content\Location; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; /** * @internal diff --git a/src/lib/Specification/NotSpecification.php b/src/lib/Specification/NotSpecification.php deleted file mode 100644 index e12798b9d6..0000000000 --- a/src/lib/Specification/NotSpecification.php +++ /dev/null @@ -1,30 +0,0 @@ -baseSpecification = new BaseNotSpecification($specification); - } - - public function isSatisfiedBy($item): bool - { - return $this->baseSpecification->isSatisfiedBy($item); - } -} diff --git a/src/lib/Specification/OrSpecification.php b/src/lib/Specification/OrSpecification.php deleted file mode 100644 index a12293667f..0000000000 --- a/src/lib/Specification/OrSpecification.php +++ /dev/null @@ -1,30 +0,0 @@ -baseSpecification = new BaseOrSpecification($one, $two); - } - - public function isSatisfiedBy($item): bool - { - return $this->baseSpecification->isSatisfiedBy($item); - } -} diff --git a/src/lib/Specification/SiteAccess/IsAdmin.php b/src/lib/Specification/SiteAccess/IsAdmin.php index 84045843fa..be8285dfaa 100644 --- a/src/lib/Specification/SiteAccess/IsAdmin.php +++ b/src/lib/Specification/SiteAccess/IsAdmin.php @@ -9,8 +9,8 @@ namespace Ibexa\AdminUi\Specification\SiteAccess; use Ibexa\AdminUi\Exception\InvalidArgumentException; -use Ibexa\AdminUi\Specification\AbstractSpecification; use Ibexa\Bundle\AdminUi\IbexaAdminUiBundle; +use Ibexa\Contracts\Core\Specification\AbstractSpecification; use Ibexa\Core\MVC\Symfony\SiteAccess; class IsAdmin extends AbstractSpecification diff --git a/src/lib/Specification/SpecificationInterface.php b/src/lib/Specification/SpecificationInterface.php deleted file mode 100644 index 01f0d4464d..0000000000 --- a/src/lib/Specification/SpecificationInterface.php +++ /dev/null @@ -1,18 +0,0 @@ -contentService = $contentService; - $this->contentTypeService = $contentTypeService; - $this->userService = $userService; - $this->locationResolver = $locationResolver; - - parent::__construct( - $contentTypeService, - $userService, - $userLanguagePreferenceProvider, - $translationHelper, - $languageService - ); - } - - /** - * @param \Pagerfanta\Pagerfanta $pager - * - * @return array - * - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\BadStateException - */ - public function map(Pagerfanta $pager): array - { - $data = []; - $contentTypeIds = []; - - foreach ($pager as $content) { - /** @var \Ibexa\Contracts\Core\Repository\Values\Content\Content $content */ - $contentInfo = $content->contentInfo; - - $contentTypeIds[] = $contentInfo->contentTypeId; - $data[] = [ - 'content' => $content, - 'contentTypeId' => $contentInfo->contentTypeId, - 'contentId' => $content->id, - 'name' => $this->translationHelper->getTranslatedContentName($content), - 'language' => $contentInfo->mainLanguageCode, - 'contributor' => $this->getVersionContributor($content->versionInfo), - 'version' => $content->versionInfo->versionNo, - 'content_type' => $content->getContentType(), - 'modified' => $content->versionInfo->modificationDate, - 'initialLanguageCode' => $content->versionInfo->initialLanguageCode, - 'content_is_user' => $this->isContentIsUser($content), - 'available_enabled_translations' => $this->getAvailableTranslations($content, true), - 'resolvedLocation' => $this->locationResolver->resolveLocation($contentInfo), - ]; - } - - $this->setTranslatedContentTypesNames($data, $contentTypeIds); - - return $data; - } -} diff --git a/src/lib/Tab/LocationView/PoliciesTab.php b/src/lib/Tab/LocationView/PoliciesTab.php index 7d110df629..5aacaf17a2 100644 --- a/src/lib/Tab/LocationView/PoliciesTab.php +++ b/src/lib/Tab/LocationView/PoliciesTab.php @@ -10,13 +10,13 @@ use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUser; use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUserGroup; -use Ibexa\AdminUi\Specification\OrSpecification; use Ibexa\AdminUi\UI\Dataset\DatasetFactory; use Ibexa\Contracts\AdminUi\Tab\AbstractEventDispatchingTab; use Ibexa\Contracts\AdminUi\Tab\ConditionalTabInterface; use Ibexa\Contracts\AdminUi\Tab\OrderedTabInterface; use Ibexa\Contracts\Core\Repository\PermissionResolver; use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface; +use Ibexa\Contracts\Core\Specification\OrSpecification; use JMS\TranslationBundle\Annotation\Desc; use Pagerfanta\Adapter\ArrayAdapter; use Pagerfanta\Pagerfanta; diff --git a/src/lib/Tab/LocationView/RolesTab.php b/src/lib/Tab/LocationView/RolesTab.php index fa2fed0678..1897c023be 100644 --- a/src/lib/Tab/LocationView/RolesTab.php +++ b/src/lib/Tab/LocationView/RolesTab.php @@ -10,13 +10,13 @@ use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUser; use Ibexa\AdminUi\Specification\ContentType\ContentTypeIsUserGroup; -use Ibexa\AdminUi\Specification\OrSpecification; use Ibexa\AdminUi\UI\Dataset\DatasetFactory; use Ibexa\Contracts\AdminUi\Tab\AbstractEventDispatchingTab; use Ibexa\Contracts\AdminUi\Tab\ConditionalTabInterface; use Ibexa\Contracts\AdminUi\Tab\OrderedTabInterface; use Ibexa\Contracts\Core\Repository\PermissionResolver; use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface; +use Ibexa\Contracts\Core\Specification\OrSpecification; use JMS\TranslationBundle\Annotation\Desc; use Pagerfanta\Adapter\ArrayAdapter; use Pagerfanta\Pagerfanta; diff --git a/src/lib/Translation/Extractor/LimitationTranslationExtractor.php b/src/lib/Translation/Extractor/LimitationTranslationExtractor.php deleted file mode 100644 index 4b58c6ea06..0000000000 --- a/src/lib/Translation/Extractor/LimitationTranslationExtractor.php +++ /dev/null @@ -1,118 +0,0 @@ -policyMap = $policyMap; - } - - /** - * @deprecated Since ibexa/admin-ui 4.4: The method "LimitationTranslationExtractor::extract()" method is deprecated, will be removed in 5.0. - */ - public function extract() - { - trigger_deprecation('ibexa/admin', '4.4', 'The %s() method is deprecated, will be removed in 5.0.', __METHOD__); - - $catalogue = new MessageCatalogue(); - - foreach ($this->getLimitationTypes() as $limitationType) { - $id = self::MESSAGE_ID_PREFIX . strtolower($limitationType); - - $message = new Message\XliffMessage($id, self::MESSAGE_DOMAIN); - $message->setNew(false); - $message->setMeaning($limitationType); - $message->setDesc($this->getReadableName($limitationType)); - $message->setLocaleString($limitationType); - $message->addNote('key: ' . $id); - - $catalogue->add($message); - } - - return $catalogue; - } - - /** - * @param string $limitationIdentifier - * - * @deprecated Since ibexa/admin-ui 4.4: The method "LimitationTranslationExtractor::identifierToLabel()" method is deprecated, will be removed in 5.0. Use Ibexa\Core\Limitation\LimitationIdentifierToLabelConverter::convert() instead. - * - * @return string - */ - public static function identifierToLabel(string $limitationIdentifier): string - { - trigger_deprecation('ibexa/admin', '4.4', 'The %s() method is deprecated, will be removed in 5.0. Use %s::convert() instead.', __METHOD__, LimitationIdentifierToLabelConverter::class); - - return LimitationIdentifierToLabelConverter::convert($limitationIdentifier); - } - - /** - * Returns all known limitation types. - * - * @return array - */ - private function getLimitationTypes(): array - { - $limitationTypes = []; - foreach ($this->policyMap as $module) { - foreach ($module as $policy) { - if (null === $policy) { - continue; - } - - foreach (array_keys($policy) as $limitationType) { - if (!in_array($limitationType, $limitationTypes)) { - $limitationTypes[] = $limitationType; - } - } - } - } - - return $limitationTypes; - } - - private function getReadableName(string $input): string - { - $parts = preg_split( - '/(^[^A-Z]+|[A-Z][^A-Z]+)/', - $input, - -1, - PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE - ); - - if (!is_array($parts)) { - return $input; - } - - return implode(' ', $parts); - } -} diff --git a/src/lib/Translation/Extractor/PolicyTranslationExtractor.php b/src/lib/Translation/Extractor/PolicyTranslationExtractor.php deleted file mode 100644 index 3248e7c4d3..0000000000 --- a/src/lib/Translation/Extractor/PolicyTranslationExtractor.php +++ /dev/null @@ -1,106 +0,0 @@ -policyMap = $policyMap; - } - - /** - * @return \JMS\TranslationBundle\Model\MessageCatalogue - * - * @deprecated Since ibexa/admin-ui 4.4: The method "PolicyTranslationExtractor::extract()" method is deprecated, will be removed in 5.0. - */ - public function extract(): MessageCatalogue - { - trigger_deprecation('ibexa/admin', '4.4', 'The %s() method is deprecated, will be removed in 5.0.', __METHOD__); - - $catalogue = new MessageCatalogue(); - - $catalogue->add($this->createMessage(self::ALL_MODULES, 'All modules')); - $catalogue->add($this->createMessage(self::ALL_MODULES_ALL_FUNCTIONS, 'All modules / All functions')); - - foreach ($this->policyMap as $module => $functionList) { - $catalogue->add($this->createMessage($module, $this->humanize($module))); - $catalogue->add($this->createMessage($module . '.' . self::ALL_FUNCTIONS, $this->humanize($module) . ' / All functions')); - - foreach ($functionList as $function => $limitationList) { - $catalogue->add($this->createMessage($module . '.' . $function, $this->humanize($module) . ' / ' . $this->humanize($function))); - } - } - - return $catalogue; - } - - /** - * @param string $id - * @param string $desc - * - * @return \JMS\TranslationBundle\Model\Message\XliffMessage|null - */ - private function createMessage(string $id, string $desc): ?XliffMessage - { - $id = self::MESSAGE_ID_PREFIX . $id; - - $message = new XliffMessage($id, self::MESSAGE_DOMAIN); - $message->setNew(false); - $message->setMeaning($desc); - $message->setDesc($desc); - $message->setLocaleString($desc); - $message->addNote('key: ' . $id); - - return $message; - } - - /** - * Makes a technical name human readable. - * - * Sequences of underscores are replaced by single spaces. The first letter - * of the resulting string is capitalized, while all other letters are - * turned to lowercase. - * - * @see \Symfony\Component\Form\FormRenderer::humanize() - * - * @param string $text the text to humanize - * - * @return string the humanized text - */ - private function humanize(string $text): string - { - $replace = ['Content type']; - $search = ['class']; - - return ucfirst(trim(str_replace($search, $replace, strtolower(preg_replace(['/([A-Z])/', '/[_\s]+/'], ['_$1', ' '], $text))))); - } -} diff --git a/src/lib/UI/Dataset/ContentDraftsDataset.php b/src/lib/UI/Dataset/ContentDraftsDataset.php deleted file mode 100644 index 5f194d4864..0000000000 --- a/src/lib/UI/Dataset/ContentDraftsDataset.php +++ /dev/null @@ -1,131 +0,0 @@ -contentService = $contentService; - $this->contentTypeService = $contentTypeService; - $this->locationService = $locationService; - } - - /** - * @param \Ibexa\Contracts\Core\Repository\Values\User\User|null $user - * - * @return \Ibexa\AdminUi\UI\Dataset\ContentDraftsDataset - */ - public function load(User $user = null): self - { - try { - $contentDrafts = $this->contentService->loadContentDrafts($user); - } catch (UnauthorizedException $e) { - // if user has no access content/versionread for one of versions, exception is caught and draft array is empty - $contentDrafts = []; - } - - $contentDrafts = array_filter($contentDrafts, static function (VersionInfo $version) { - // Filter out content that has been sent to trash - return !$version->getContentInfo()->isTrashed(); - }); - - $contentTypes = $contentTypeIds = []; - foreach ($contentDrafts as $contentDraft) { - $contentTypeIds[] = $contentDraft->getContentInfo()->contentTypeId; - } - - if (!empty($contentTypeIds)) { - $contentTypes = $this->contentTypeService->loadContentTypeList(array_unique($contentTypeIds)); - } - - // ContentService::loadContentDrafts returns unsorted list of VersionInfo. - // Sort results by modification date, descending. - usort($contentDrafts, static function (VersionInfo $a, VersionInfo $b) { - return $b->modificationDate <=> $a->modificationDate; - }); - - $this->data = array_map( - function (VersionInfo $versionInfo) use ($contentTypes) { - return $this->mapContentDraft( - $versionInfo, - $contentTypes[$versionInfo->getContentInfo()->contentTypeId] - ); - }, - $contentDrafts - ); - - return $this; - } - - /** - * @return array - */ - public function getContentDrafts(): array - { - return $this->data; - } - - /** - * @param \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $draft - * @param \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType - * - * @return array - */ - private function mapContentDraft(VersionInfo $draft, ContentType $contentType): array - { - $contentInfo = $draft->getContentInfo(); - - return [ - 'id' => new VersionId( - $contentInfo->id, - $draft->versionNo - ), - 'contentId' => $contentInfo->id, - 'name' => $draft->getName(), - 'type' => $contentType->getName(), - 'content_type' => $contentType, - 'language' => $draft->initialLanguageCode, - 'version' => $draft->versionNo, - 'modified' => $draft->modificationDate, - ]; - } -} diff --git a/src/lib/UI/Dataset/DatasetFactory.php b/src/lib/UI/Dataset/DatasetFactory.php index 63a32e682a..3304986293 100644 --- a/src/lib/UI/Dataset/DatasetFactory.php +++ b/src/lib/UI/Dataset/DatasetFactory.php @@ -105,16 +105,6 @@ public function translations(): TranslationsDataset return new TranslationsDataset($this->languageService, $this->valueFactory); } - /** - * @deprecated since version 2.5, to be removed in 3.0. Please use DatasetFactory::relationList and DatasetFactory::reverseRelationList instead. - * - * @return \Ibexa\AdminUi\UI\Dataset\RelationsDataset - */ - public function relations(): RelationsDataset - { - return new RelationsDataset($this->contentService, $this->valueFactory); - } - /** * @return \Ibexa\AdminUi\UI\Dataset\RelationListDataset */ @@ -204,20 +194,6 @@ public function bookmarks(): BookmarksDataset ); } - /** - * @deprecated since version 2.5, to be removed in 3.0. Please use DatasetFactory::contentDraftList instead. - * - * @return \Ibexa\AdminUi\UI\Dataset\ContentDraftsDataset - */ - public function contentDrafts(): ContentDraftsDataset - { - return new ContentDraftsDataset( - $this->contentService, - $this->contentTypeService, - $this->locationService - ); - } - /** * @return \Ibexa\AdminUi\UI\Dataset\ContentDraftListDataset */ diff --git a/src/lib/UI/Dataset/RelationsDataset.php b/src/lib/UI/Dataset/RelationsDataset.php index 1cad0e4fd8..2551ddd228 100644 --- a/src/lib/UI/Dataset/RelationsDataset.php +++ b/src/lib/UI/Dataset/RelationsDataset.php @@ -12,6 +12,7 @@ use Ibexa\AdminUi\UI\Value\ValueFactory; use Ibexa\Contracts\Core\Repository\ContentService; use Ibexa\Contracts\Core\Repository\Values\Content\Content; +use Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\RelationListItem; class RelationsDataset { @@ -51,11 +52,17 @@ public function load(Content $content): self $versionInfo = $content->getVersionInfo(); foreach ($this->contentService->loadRelations($versionInfo) as $relation) { - $this->relations[] = $this->valueFactory->createRelation($relation, $content); + $this->relations[] = $this->valueFactory->createRelationItem( + new RelationListItem($relation), + $content + ); } foreach ($this->contentService->loadReverseRelations($versionInfo->getContentInfo()) as $reverseRelation) { - $this->reverseRelations[] = $this->valueFactory->createRelation($reverseRelation, $content); + $this->reverseRelations[] = $this->valueFactory->createRelationItem( + new RelationListItem($reverseRelation), + $content + ); } return $this; diff --git a/src/lib/UI/Value/ValueFactory.php b/src/lib/UI/Value/ValueFactory.php index a63dd71551..08a18d0463 100644 --- a/src/lib/UI/Value/ValueFactory.php +++ b/src/lib/UI/Value/ValueFactory.php @@ -161,33 +161,6 @@ public function createLanguage(Language $language, VersionInfo $versionInfo): UI ]); } - /** - * @deprecated since version 2.5, to be removed in 3.0. Please use ValueFactory::createRelationItem instead. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Relation $relation - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Content $content - * - * @return \Ibexa\Contracts\Core\Repository\Values\Content\Relation - * - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - * @throws \Ibexa\Contracts\Core\Repository\Exceptions\BadStateException - */ - public function createRelation(Relation $relation, Content $content): UIValue\Content\Relation - { - $contentType = $content->getContentType(); - - return new UIValue\Content\Relation($relation, [ - 'relationFieldDefinitionName' => $this->getRelationFieldDefinitionName($relation, $contentType), - 'relationContentTypeName' => $contentType->getName(), - 'relationLocation' => $this->locationResolver->resolveLocation($content->contentInfo), - 'relationName' => $content->getName(), - 'resolvedSourceLocation' => $this->locationResolver->resolveLocation($relation->sourceContentInfo), - 'resolvedDestinationLocation' => $this->locationResolver->resolveLocation($relation->destinationContentInfo), - ]); - } - /** * @param \Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\RelationListItem $relationListItem * @param \Ibexa\Contracts\Core\Repository\Values\Content\Content $content diff --git a/src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php b/src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php index 4f4aaa1475..61ad3eefbd 100644 --- a/src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php +++ b/src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php @@ -8,9 +8,9 @@ namespace Ibexa\AdminUi\UniversalDiscovery; +use Ibexa\AdminUi\Permission\LimitationResolverInterface; use Ibexa\AdminUi\Permission\LookupLimitationsTransformer; use Ibexa\AdminUi\QueryType\LocationPathQueryType; -use Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface; use Ibexa\Contracts\AdminUi\UniversalDiscovery\Provider; use Ibexa\Contracts\Core\Repository\BookmarkService; use Ibexa\Contracts\Core\Repository\ContentService; @@ -22,7 +22,6 @@ use Ibexa\Contracts\Core\Repository\Values\Content\Query; use Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit; use Ibexa\Contracts\Core\Repository\Values\User\Limitation; -use Ibexa\Contracts\Rest\Output\Visitor; use Ibexa\Rest\Server\Values\RestLocation; use Ibexa\Rest\Server\Values\Version; @@ -39,18 +38,12 @@ class UniversalDiscoveryProvider implements Provider /** @var \Ibexa\Contracts\Core\Repository\SearchService */ private $searchService; - /** @var \Ibexa\Contracts\Rest\Output\Visitor */ - private $visitor; - /** @var \Ibexa\Contracts\Core\Repository\BookmarkService */ private $bookmarkService; /** @var \Ibexa\Contracts\Core\Repository\ContentService */ private $contentService; - /** @var \Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface */ - private $permissionChecker; - /** @var \Ibexa\AdminUi\Permission\LookupLimitationsTransformer */ private $lookupLimitationsTransformer; @@ -67,26 +60,26 @@ class UniversalDiscoveryProvider implements Provider Query::SORT_DESC, ]; + private LimitationResolverInterface $limitationResolver; + public function __construct( LocationService $locationService, ContentTypeService $contentTypeService, SearchService $searchService, BookmarkService $bookmarkService, ContentService $contentService, - Visitor $visitor, - PermissionCheckerInterface $permissionChecker, LookupLimitationsTransformer $lookupLimitationsTransformer, - LocationPathQueryType $locationPathQueryType + LocationPathQueryType $locationPathQueryType, + LimitationResolverInterface $limitationResolver ) { $this->locationService = $locationService; $this->contentTypeService = $contentTypeService; $this->searchService = $searchService; $this->bookmarkService = $bookmarkService; $this->contentService = $contentService; - $this->visitor = $visitor; - $this->permissionChecker = $permissionChecker; $this->lookupLimitationsTransformer = $lookupLimitationsTransformer; $this->locationPathQueryType = $locationPathQueryType; + $this->limitationResolver = $limitationResolver; } public function getColumns( @@ -185,8 +178,8 @@ function (SearchHit $searchHit) { public function getLocationPermissionRestrictions(Location $location): array { - $lookupCreateLimitationsResult = $this->permissionChecker->getContentCreateLimitations($location); - $lookupUpdateLimitationsResult = $this->permissionChecker->getContentUpdateLimitations($location); + $lookupCreateLimitationsResult = $this->limitationResolver->getContentCreateLimitations($location); + $lookupUpdateLimitationsResult = $this->limitationResolver->getContentUpdateLimitations($location); $createLimitationsValues = $this->lookupLimitationsTransformer->getGroupedLimitationValues( $lookupCreateLimitationsResult, @@ -334,20 +327,6 @@ public function getLocationGridViewData( ]; } - public function getRestFormat($valueObject): array - { - trigger_deprecation( - 'ibexa/admin-ui', - '4.6', - sprintf('The %s() method is deprecated, will be removed in 5.0.', __METHOD__) - ); - - return json_decode( - $this->visitor->visit($valueObject)->getContent(), - true - ); - } - public function getSortClause(string $sortClauseName, string $sortOrder): Query\SortClause { $sortClauseClass = $this->sortClauseClassMap[$sortClauseName] ?? $this->sortClauseClassMap[self::SORT_CLAUSE_DATE_PUBLISHED]; diff --git a/src/lib/Validator/Constraints/FieldTypeValidator.php b/src/lib/Validator/Constraints/FieldTypeValidator.php deleted file mode 100644 index a3cbef58cf..0000000000 --- a/src/lib/Validator/Constraints/FieldTypeValidator.php +++ /dev/null @@ -1,37 +0,0 @@ -createValidationErrorProcessor(); - $validationErrorsProcessor->processValidationErrors($validationErrors); - } - - private function createValidationErrorProcessor(): ValidationErrorsProcessor - { - return new ValidationErrorsProcessor( - new BaseValidationErrorsProcessor( - $this->context, - function ($index, $target) { - return $this->generatePropertyPath($index, $target); - } - ) - ); - } -} diff --git a/src/lib/Validator/ValidationErrorsProcessor.php b/src/lib/Validator/ValidationErrorsProcessor.php deleted file mode 100644 index 360624fdd0..0000000000 --- a/src/lib/Validator/ValidationErrorsProcessor.php +++ /dev/null @@ -1,38 +0,0 @@ -validationErrorsProcessor = $validationErrorsProcessor; - } - - /** - * Builds constraint violations based on given SPI validation errors. - * - * @param \Ibexa\Contracts\Core\FieldType\ValidationError[] $validationErrors - */ - public function processValidationErrors(array $validationErrors): void - { - $this->validationErrorsProcessor->processValidationErrors($validationErrors); - } -} diff --git a/src/lib/View/Filter/AdminSearchViewFilter.php b/src/lib/View/Filter/AdminSearchViewFilter.php index fd406bd221..6f03236dd2 100644 --- a/src/lib/View/Filter/AdminSearchViewFilter.php +++ b/src/lib/View/Filter/AdminSearchViewFilter.php @@ -98,7 +98,7 @@ public function handleSearchForm(FilterViewBuilderParametersEvent $event): void } $search = $request->query->all('search'); - $limit = isset($search['limit']) ? (int)$search['limit'] : $this->configResolver->getParameter('pagination.search_limit'); + $limit = isset($search['limit']) ? (int)$search['limit'] : $this->configResolver->getParameter('search.pagination.limit'); $page = isset($search['page']) ? (int)$search['page'] : 1; $query = $search['query'] ?? ''; $section = null; diff --git a/tests/lib/Permission/PermissionCheckerTest.php b/tests/lib/Permission/PermissionCheckerTest.php index 9d3e9380b6..533b2237a4 100644 --- a/tests/lib/Permission/PermissionCheckerTest.php +++ b/tests/lib/Permission/PermissionCheckerTest.php @@ -8,7 +8,6 @@ namespace Ibexa\Tests\AdminUi\Permission; -use Ibexa\AdminUi\Permission\LimitationResolverInterface; use Ibexa\AdminUi\Permission\PermissionChecker; use Ibexa\Contracts\Core\Repository\PermissionResolver; use Ibexa\Contracts\Core\Repository\UserService; @@ -30,9 +29,6 @@ class PermissionCheckerTest extends TestCase /** @var \Ibexa\Contracts\Core\Repository\UserService&\PHPUnit\Framework\MockObject\MockObject */ private $userService; - /** @var \Ibexa\AdminUi\Permission\LimitationResolverInterface&\PHPUnit\Framework\MockObject\MockObject */ - private LimitationResolverInterface $permissionLimitationResolver; - /** @var \Ibexa\AdminUi\Permission\PermissionChecker */ private $permissionChecker; @@ -43,12 +39,10 @@ public function setUp(): void ->method('getCurrentUserReference') ->willReturn($this->generateUser(self::USER_ID)); - $this->permissionLimitationResolver = $this->createMock(LimitationResolverInterface::class); $this->userService = $this->createMock(UserService::class); $this->permissionChecker = new PermissionChecker( $this->permissionResolver, - $this->permissionLimitationResolver, $this->userService, ); } diff --git a/tests/lib/Translation/Extractor/LimitationTranslationExtractorTest.php b/tests/lib/Translation/Extractor/LimitationTranslationExtractorTest.php deleted file mode 100644 index 61da36684a..0000000000 --- a/tests/lib/Translation/Extractor/LimitationTranslationExtractorTest.php +++ /dev/null @@ -1,62 +0,0 @@ -extract(); - - self::assertEquals($this->getExpectedMessageCatalogue(), $actualMessageCatalogue); - } - - /** - * Get expected MessageCatalogue object created by the extractor. - * - * @return \JMS\TranslationBundle\Model\MessageCatalogue - */ - private function getExpectedMessageCatalogue(): MessageCatalogue - { - $messageCatalogue = new MessageCatalogue(); - - // create artificial set of messages which is aligned with what gets extracted from the input fixture - for ($i = 1; $i <= 5; ++$i) { - $id = "policy.limitation.identifier.limitation{$i}"; - $translated = "Limitation{$i}"; - - $message = new Message\XliffMessage($id, 'ibexa_content_forms_policies'); - $message->setNew(false); - $message->setMeaning($translated); - $message->setDesc($translated); - $message->setLocaleString($translated); - $message->addNote('key: ' . $id); - - $messageCatalogue->add($message); - } - - return $messageCatalogue; - } -} diff --git a/tests/lib/Translation/Extractor/fixtures/input_policies.yaml b/tests/lib/Translation/Extractor/fixtures/input_policies.yaml deleted file mode 100644 index 540d24f6a5..0000000000 --- a/tests/lib/Translation/Extractor/fixtures/input_policies.yaml +++ /dev/null @@ -1,9 +0,0 @@ -module1: - function1: { Limitation1: true } - function2: { Limitation2: true, Limitation3: true } - function3: { Limitation1: true, Limitation2: true } - function4: ~ - -module2: - function1: ~ - function2: { Limitation4: false, Limitation5: true }