Skip to content
This repository was archived by the owner on Sep 16, 2021. It is now read-only.

Commit add4e11

Browse files
Merge pull request #119 from symfony-cmf/block-cleanup
cleanup block configuration to be consistent with the other bundle integrations
2 parents 8e9f953 + fd91d9d commit add4e11

File tree

5 files changed

+42
-16
lines changed

5 files changed

+42
-16
lines changed

src/Admin/Block/Extension/BlockCacheExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function configureFormFields(FormMapper $formMapper)
4343
}
4444

4545
$formMapper
46-
->tab($this->formTab, 'form.tab_general' === $this->formtab
46+
->tab($this->formTab, 'form.tab_general' === $this->formTab
4747
? ['translation_domain' => 'CmfSonataPhpcrAdminIntegrationBundle']
4848
: []
4949
)

src/DependencyInjection/Factory/BlockAdminFactory.php

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,22 +63,48 @@ public function addConfiguration(NodeBuilder $builder)
6363
*/
6464
public function create(array $config, ContainerBuilder $container, XmlFileLoader $loader)
6565
{
66-
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.persistence.basepath', $config['basepath']);
67-
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.persistence.menu_basepath', $config['menu_basepath']);
68-
66+
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.basepath', $config['basepath']);
6967
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.extension.block_cache.form_group', $config['extensions']['block_cache']['form_group']);
7068
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.extension.block_cache.form_tab', $config['extensions']['block_cache']['form_tab']);
7169

7270
$loader->load('block.xml');
7371

74-
$bundles = $container->getParameter('kernel.bundles');
75-
76-
$message = 'CmfMenuBundle integration was explicitely enabled, but the bundle is not available.';
72+
$message = 'CmfMenuBundle integration for the block admin was explicitely enabled, but the bundle is not available.';
7773
if (class_exists(CmfMenuBundle::class)) {
7874
$message .= ' (did you forget to register the bundle in the AppKernel?)';
7975
}
8076
if ($this->isConfigEnabledAuto($container, $config['enable_menu'], 'CmfMenuBundle', $message)) {
77+
$container->setParameter('cmf_sonata_phpcr_admin_integration.block.menu_basepath', $config['menu_basepath']);
8178
$loader->load('block-menu.xml');
8279
}
8380
}
81+
82+
/**
83+
* {@inheritdoc}
84+
*/
85+
public function process(ContainerBuilder $container)
86+
{
87+
if (!$container->hasParameter('cmf_sonata_phpcr_admin_integration.block.basepath')) {
88+
return;
89+
}
90+
91+
$basepath = $container->getParameter('cmf_sonata_phpcr_admin_integration.block.basepath');
92+
if (null === $basepath) {
93+
$container->setParameter(
94+
'cmf_sonata_phpcr_admin_integration.block.basepath',
95+
$container->getParameter('cmf_block.persistence.phpcr.block_basepath')
96+
);
97+
}
98+
99+
if ($container->has('cmf_sonata_phpcr_admin_integration.block.menu_admin')) {
100+
// service is only loaded if menu indeed is enabled
101+
$menuBasepath = $container->getParameter('cmf_sonata_phpcr_admin_integration.block.menu_basepath');
102+
if (null === $menuBasepath) {
103+
$container->setParameter(
104+
'cmf_sonata_phpcr_admin_integration.block.menu_basepath',
105+
$container->getParameter('cmf_menu.persistence.menu_basepath')
106+
);
107+
}
108+
}
109+
}
84110
}

src/DependencyInjection/Factory/IsConfigEnabledTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function isConfigEnabledAuto(ContainerBuilder $container, $enabled, $requ
3434
$enabled = $bundleExists;
3535
} elseif (true === $enabled && !$bundleExists) {
3636
if (null === $message) {
37-
$message = $bundleName.' integration was explicitely enabled, but the bundle is not available.';
37+
$message = $requiredBundle.' integration was explicitely enabled, but the bundle is not available.';
3838
}
3939

4040
throw new \LogicException($message);

src/Resources/config/block-menu.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
</call>
2626

2727
<call method="setRootPath">
28-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
28+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
2929
</call>
3030
<call method="setMenuPath">
31-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.menu_basepath%</argument>
31+
<argument>%cmf_sonata_phpcr_admin_integration.block.menu_basepath%</argument>
3232
</call>
3333
</service>
3434
</services>

src/Resources/config/block.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
</call>
3535

3636
<call method="setRootPath">
37-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
37+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
3838
</call>
3939
</service>
4040

@@ -58,7 +58,7 @@
5858
</call>
5959

6060
<call method="setRootPath">
61-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
61+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
6262
</call>
6363
</service>
6464

@@ -82,7 +82,7 @@
8282
</call>
8383

8484
<call method="setRootPath">
85-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
85+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
8686
</call>
8787
</service>
8888

@@ -106,7 +106,7 @@
106106
</call>
107107

108108
<call method="setRootPath">
109-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
109+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
110110
</call>
111111
</service>
112112

@@ -130,7 +130,7 @@
130130
</call>
131131

132132
<call method="setRootPath">
133-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
133+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
134134
</call>
135135
</service>
136136

@@ -158,7 +158,7 @@
158158
</call>
159159

160160
<call method="setRootPath">
161-
<argument>%cmf_sonata_phpcr_admin_integration.block.persistence.basepath%</argument>
161+
<argument>%cmf_sonata_phpcr_admin_integration.block.basepath%</argument>
162162
</call>
163163
</service>
164164

0 commit comments

Comments
 (0)