Skip to content

Commit 774f1a1

Browse files
committed
Introduced configurable ChainConfigResolver and updated related service definitions.
1 parent a858f48 commit 774f1a1

2 files changed

Lines changed: 45 additions & 8 deletions

File tree

tests/integration/Core/LegacyTestContainerBuilder.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
namespace Ibexa\Tests\Integration\Core;
1010

11+
use Ibexa\Bundle\Core\DependencyInjection\Compiler\ChainConfigResolverPass;
1112
use Ibexa\Bundle\Core\SiteAccess\Config\ComplexConfigProcessor;
1213
use Ibexa\Contracts\Core\SiteAccess\ConfigProcessor;
1314
use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface;
@@ -113,6 +114,8 @@ private function configureRedis(): void
113114

114115
private function registerCompilerPasses(): void
115116
{
117+
$this->addCompilerPass(new ChainConfigResolverPass());
118+
116119
$this->addCompilerPass(new Compiler\FieldTypeRegistryPass(), PassConfig::TYPE_OPTIMIZE);
117120
$this->addCompilerPass(
118121
new Compiler\Persistence\FieldTypeRegistryPass(),

tests/integration/Core/Resources/settings/common.yml

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ parameters:
77
- pht
88
- phtml
99
- pgif
10+
ibexa.config.default_scope: ibexa.site_access.config
11+
ibexa.site_access.groups: [admin, standard]
1012

1113
services:
1214
logger:
@@ -57,19 +59,51 @@ services:
5759
Ibexa\Tests\Integration\Core\Persistence\Variation\InMemoryVariationHandler: ~
5860
Ibexa\Contracts\Core\Variation\VariationHandler: '@Ibexa\Tests\Integration\Core\Persistence\Variation\InMemoryVariationHandler'
5961

60-
ibexa.config.resolver:
61-
class: Ibexa\Bundle\Core\DependencyInjection\Configuration\ConfigResolver
62+
Ibexa\Bundle\Core\DependencyInjection\Configuration\ConfigResolver\DefaultScopeConfigResolver:
6263
arguments:
6364
- '@service_container'
64-
- '@logger'
65-
- []
66-
- 'ibexa.site_access.config'
65+
- '%ibexa.config.default_scope%'
66+
lazy: true
67+
tags:
68+
- { name: ibexa.site.config.resolver, priority: 0 }
69+
70+
Ibexa\Bundle\Core\DependencyInjection\Configuration\ConfigResolver\SiteAccessGroupConfigResolver:
71+
arguments:
72+
- '@service_container'
73+
- '@ibexa.siteaccess.provider'
74+
- '%ibexa.config.default_scope%'
75+
- '%ibexa.site_access.groups%'
6776
calls:
68-
- [setSiteAccess, ['@Ibexa\Core\MVC\Symfony\SiteAccess']]
69-
- [setDefaultScope, ['default']]
77+
- [ setSiteAccess, [ '@Ibexa\Core\MVC\Symfony\SiteAccess' ] ]
78+
lazy: true
79+
tags:
80+
- { name: ibexa.site.config.resolver, priority: 50 }
81+
82+
Ibexa\Bundle\Core\DependencyInjection\Configuration\ConfigResolver\StaticSiteAccessConfigResolver:
83+
arguments:
84+
- '@service_container'
85+
- '@ibexa.siteaccess.provider'
86+
- '%ibexa.config.default_scope%'
87+
calls:
88+
- [ setSiteAccess, [ '@Ibexa\Core\MVC\Symfony\SiteAccess' ] ]
89+
lazy: true
90+
tags:
91+
- { name: ibexa.site.config.resolver, priority: 100 }
92+
93+
Ibexa\Bundle\Core\DependencyInjection\Configuration\ConfigResolver\GlobalScopeConfigResolver:
94+
arguments:
95+
- '@service_container'
96+
- '%ibexa.config.default_scope%'
97+
lazy: true
98+
tags:
99+
- { name: ibexa.site.config.resolver, priority: 255 }
100+
101+
Ibexa\Bundle\Core\DependencyInjection\Configuration\ChainConfigResolver: ~
102+
103+
ibexa.config.resolver:
104+
alias: Ibexa\Bundle\Core\DependencyInjection\Configuration\ChainConfigResolver
70105

71106
Ibexa\Core\MVC\Symfony\SiteAccess:
72-
class: Ibexa\Core\MVC\Symfony\SiteAccess
73107
arguments: ['default', 'uninitialized']
74108

75109
Ibexa\Core\MVC\Symfony\SiteAccess\SiteAccessService:

0 commit comments

Comments
 (0)