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

Commit 1578146

Browse files
Merge pull request #35 from symfony-cmf/remove_class_parameter_configuration
[POC] Remove class parameter configuration
2 parents 337c07c + 727aaa8 commit 1578146

File tree

13 files changed

+90
-200
lines changed

13 files changed

+90
-200
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cache:
1616
env:
1717
matrix: SYMFONY_VERSION=3.1.*
1818
global:
19-
- SYMFONY_DEPRECATIONS_HELPER=1723
19+
- SYMFONY_DEPRECATIONS_HELPER=2080
2020
- SYMFONY_PHPUNIT_DIR=".phpunit" SYMFONY_PHPUNIT_REMOVE="symfony/yaml"
2121

2222
matrix:

src/DependencyInjection/Factory/BlockAdminFactory.php

Lines changed: 12 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -40,58 +40,11 @@ public function addConfiguration(NodeBuilder $builder)
4040
->values([true, false, 'auto'])
4141
->defaultValue('auto')
4242
->end()
43-
->arrayNode('admin_classes')
44-
->children()
45-
->scalarNode('string_document_class')
46-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\StringBlock')
47-
->end()
48-
->scalarNode('simple_document_class')
49-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SimpleBlock')
50-
->end()
51-
->scalarNode('container_document_class')
52-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ContainerBlock')
53-
->end()
54-
->scalarNode('reference_document_class')
55-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ReferenceBlock')
56-
->end()
57-
->scalarNode('action_document_class')
58-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ActionBlock')
59-
->end()
60-
->scalarNode('slideshow_document_class')
61-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SlideshowBlock')
62-
->end()
63-
->scalarNode('imagine_document_class')
64-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ImagineBlock')
65-
->end()
66-
->scalarNode('menu_document_class')
67-
->defaultValue('Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\MenuBlock')
68-
->end()
69-
->scalarNode('string_admin_class')
70-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\StringBlockAdmin')
71-
->end()
72-
->scalarNode('simple_admin_class')
73-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\SimpleBlockAdmin')
74-
->end()
75-
->scalarNode('container_admin_class')
76-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ContainerBlockAdmin')
77-
->end()
78-
->scalarNode('reference_admin_class')
79-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ReferenceBlockAdmin')
80-
->end()
81-
->scalarNode('action_admin_class')
82-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ActionBlockAdmin')
83-
->end()
84-
->scalarNode('slideshow_admin_class')
85-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\Imagine\SlideshowBlockAdmin')
86-
->end()
87-
->scalarNode('imagine_admin_class')
88-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\Imagine\ImagineBlockAdmin')
89-
->end()
90-
->scalarNode('menu_admin_class')
91-
->defaultValue('Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\MenuBlockAdmin')
92-
->end()
93-
->end()
94-
->end();
43+
->enumNode('enable_menu')
44+
->values([true, false, 'auto'])
45+
->defaultValue('auto')
46+
->end()
47+
;
9548
}
9649

9750
/**
@@ -104,37 +57,19 @@ public function create(array $config, ContainerBuilder $container, XmlFileLoader
10457
'cmf_sonata_admin_integration.block.persistence.phpcr.menu_basepath',
10558
$config['menu_basepath']
10659
);
107-
$keys = [
108-
'string_document_class' => 'string_document.class',
109-
'simple_document_class' => 'simple_document.class',
110-
'container_document_class' => 'container_document.class',
111-
'reference_document_class' => 'reference_document.class',
112-
'menu_document_class' => 'menu_document.class',
113-
'action_document_class' => 'action_document.class',
114-
'imagine_document_class' => 'imagine_document.class',
115-
'slideshow_document_class' => 'slideshow_document.class',
116-
'string_admin_class' => 'string_admin.class',
117-
'simple_admin_class' => 'simple_admin.class',
118-
'container_admin_class' => 'container_admin.class',
119-
'reference_admin_class' => 'reference_admin.class',
120-
'menu_admin_class' => 'menu_admin.class',
121-
'action_admin_class' => 'action_admin.class',
122-
'imagine_admin_class' => 'imagine_admin.class',
123-
'slideshow_admin_class' => 'slideshow_admin.class',
124-
];
125-
$adminClasses = isset($config['admin_classes']) ? $config['admin_classes'] : [];
126-
foreach ($keys as $sourceKey => $targetKey) {
127-
$container->setParameter('cmf_sonata_admin_integration.block.'.$targetKey, $adminClasses[$sourceKey]);
128-
}
12960

130-
$bundles = $container->getParameter('kernel.bundles');
13161
$loader->load('block.xml');
13262

133-
if ($config['use_imagine']) {
63+
$bundles = $container->getParameter('kernel.bundles');
64+
if (true === $config['use_imagine']
65+
|| ('auto' === $config['use_imagine'] && isset($bundles['CmfMediaBundle']))
66+
) {
13467
$loader->load('block-imagine.xml');
13568
}
13669

137-
if (isset($bundles['CmfMenuBundle'])) {
70+
if (true === $config['enable_menu']
71+
|| ('auto' === $config['enable_menu'] && isset($bundles['CmfMenuBundle']))
72+
) {
13873
$loader->load('block-menu.xml');
13974
}
14075
}

src/DependencyInjection/Factory/ContentAdminFactory.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
1515
use Symfony\Component\DependencyInjection\ContainerBuilder;
1616
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
17-
use Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Content\StaticContentAdmin;
1817

1918
/**
2019
* @author Wouter de Jong <[email protected]>
@@ -34,7 +33,6 @@ public function getKey()
3433
*/
3534
public function addConfiguration(NodeBuilder $builder)
3635
{
37-
$builder->scalarNode('admin_class')->defaultValue(StaticContentAdmin::class)->end();
3836
}
3937

4038
/**
@@ -43,14 +41,5 @@ public function addConfiguration(NodeBuilder $builder)
4341
public function create(array $config, ContainerBuilder $container, XmlFileLoader $loader)
4442
{
4543
$loader->load('content.xml');
46-
47-
$bundles = $container->getParameter('kernel.bundles');
48-
if (!isset($bundles['BurgovKeyValueFormBundle'])) {
49-
throw new InvalidConfigurationException(
50-
'To use advanced menu options, you need the burgov/key-value-form-bundle in your project.'
51-
);
52-
}
53-
54-
$container->setParameter('cmf_sonata_admin_integration.content.admin.class', $config['admin_class']);
5544
}
5645
}

src/DependencyInjection/Factory/MenuAdminFactory.php

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
1515
use Symfony\Component\DependencyInjection\ContainerBuilder;
1616
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
17-
use Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Menu\MenuAdmin;
18-
use Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Menu\MenuNodeAdmin;
1917

2018
/**
2119
* @author Wouter de Jong <[email protected]>
@@ -38,8 +36,6 @@ public function getKey()
3836
public function addConfiguration(NodeBuilder $builder)
3937
{
4038
$builder
41-
->scalarNode('menu_admin_class')->defaultValue(MenuAdmin::class)->end()
42-
->scalarNode('node_admin_class')->defaultValue(MenuNodeAdmin::class)->end()
4339
->booleanNode('recursive_breadcrumbs')->defaultTrue()->end()
4440
->arrayNode('extensions')
4541
->addDefaultsIfNotSet()
@@ -62,15 +58,7 @@ public function addConfiguration(NodeBuilder $builder)
6258
*/
6359
public function create(array $config, ContainerBuilder $container, XmlFileLoader $loader)
6460
{
65-
$keys = [
66-
'menu_admin_class' => 'menu_admin.class',
67-
'node_admin_class' => 'node_admin.class',
68-
'recursive_breadcrumbs' => 'recursive_breadcrumbs',
69-
];
70-
71-
foreach ($keys as $sourceKey => $targetKey) {
72-
$container->setParameter('cmf_sonata_admin_integration.menu.'.$targetKey, $config[$sourceKey]);
73-
}
61+
$container->setParameter('cmf_sonata_admin_integration.menu.recursive_breadcrumbs', 'recursive_breadcrumbs');
7462

7563
$loader->load('menu.xml');
7664

src/DependencyInjection/Factory/SeoAdminFactory.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,6 @@ public function addConfiguration(NodeBuilder $builder)
4242
public function create(array $config, ContainerBuilder $container, XmlFileLoader $loader)
4343
{
4444
$loader->load('seo.xml');
45-
46-
$bundles = $container->getParameter('kernel.bundles');
47-
if (!isset($bundles['BurgovKeyValueFormBundle'])) {
48-
throw new InvalidConfigurationException(
49-
'To use advanced menu options, you need the burgov/key-value-form-bundle in your project.'
50-
);
51-
}
52-
5345
$container->setParameter('cmf_sonata_admin_integration.seo.form_group', $config['form_group']);
5446
}
5547
}

src/Resources/config/block-imagine.xml

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

99
<service
1010
id="cmf_sonata_admin_integration.block.imagine.slideshow_admin"
11-
class="%cmf_sonata_admin_integration.block.slideshow_admin.class%">
11+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\Imagine\SlideshowBlockAdmin">
1212
<tag
1313
name="sonata.admin"
1414
manager_type="doctrine_phpcr"
@@ -17,7 +17,7 @@
1717
label="dashboard.label_slideshow_block"
1818
label_translator_strategy="sonata.admin.label.strategy.underscore" />
1919
<argument/>
20-
<argument>%cmf_sonata_admin_integration.block.slideshow_document.class%</argument>
20+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SlideshowBlock</argument>
2121
<argument>SonataAdminBundle:CRUD</argument>
2222

2323
<call method="setRouteBuilder">
@@ -35,7 +35,7 @@
3535

3636
<service
3737
id="cmf_sonata_admin_integration.block.imagine.imagine_admin"
38-
class="%cmf_sonata_admin_integration.block.imagine_admin.class%">
38+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\Imagine\ImagineBlockAdmin">
3939
<tag
4040
name="sonata.admin"
4141
manager_type="doctrine_phpcr"
@@ -44,7 +44,7 @@
4444
label="dashboard.label_imagine_block"
4545
label_translator_strategy="sonata.admin.label.strategy.underscore" />
4646
<argument/>
47-
<argument>%cmf_sonata_admin_integration.block.imagine_document.class%</argument>
47+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ImagineBlock</argument>
4848
<argument>SonataAdminBundle:CRUD</argument>
4949

5050
<call method="setRouteBuilder">

src/Resources/config/block-menu.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<services>
88
<service
99
id="cmf_sonata_admin_integration.block.menu_admin"
10-
class="%cmf_sonata_admin_integration.block.menu_admin.class%">
10+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\MenuBlockAdmin">
1111
<tag
1212
name="sonata.admin"
1313
manager_type="doctrine_phpcr"
@@ -16,7 +16,7 @@
1616
label="dashboard.label_menu_block"
1717
label_translator_strategy="sonata.admin.label.strategy.underscore" />
1818
<argument/>
19-
<argument>%cmf_sonata_admin_integration.block.menu_document.class%</argument>
19+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\MenuBlock</argument>
2020
<argument>SonataAdminBundle:CRUD</argument>
2121

2222
<call method="setRouteBuilder">

src/Resources/config/block.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
<service
1616
id="cmf_sonata_admin_integration.block.simple_admin"
17-
class="%cmf_sonata_admin_integration.block.simple_admin.class%">
17+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\SimpleBlockAdmin">
1818
<tag
1919
name="sonata.admin"
2020
manager_type="doctrine_phpcr"
@@ -23,7 +23,7 @@
2323
label="dashboard.label_simple_block"
2424
label_translator_strategy="sonata.admin.label.strategy.underscore" />
2525
<argument/>
26-
<argument>%cmf_sonata_admin_integration.block.simple_document.class%</argument>
26+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SimpleBlock</argument>
2727
<argument>SonataAdminBundle:CRUD</argument>
2828

2929
<call method="setRouteBuilder">
@@ -37,7 +37,7 @@
3737

3838
<service
3939
id="cmf_sonata_admin_integration.block.action_admin"
40-
class="%cmf_sonata_admin_integration.block.action_admin.class%">
40+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ActionBlockAdmin">
4141
<tag
4242
name="sonata.admin"
4343
manager_type="doctrine_phpcr"
@@ -46,7 +46,7 @@
4646
label="dashboard.label_action_block"
4747
label_translator_strategy="sonata.admin.label.strategy.underscore" />
4848
<argument/>
49-
<argument>%cmf_sonata_admin_integration.block.action_document.class%</argument>
49+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ActionBlock</argument>
5050
<argument>SonataAdminBundle:CRUD</argument>
5151

5252
<call method="setRouteBuilder">
@@ -60,7 +60,7 @@
6060

6161
<service
6262
id="cmf_sonata_admin_integration.block.container_admin"
63-
class="%cmf_sonata_admin_integration.block.container_admin.class%">
63+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ContainerBlockAdmin">
6464
<tag
6565
name="sonata.admin"
6666
manager_type="doctrine_phpcr"
@@ -69,7 +69,7 @@
6969
label="dashboard.label_container_block"
7070
label_translator_strategy="sonata.admin.label.strategy.underscore" />
7171
<argument/>
72-
<argument>%cmf_sonata_admin_integration.block.container_document.class%</argument>
72+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ContainerBlock</argument>
7373
<argument>SonataAdminBundle:CRUD</argument>
7474

7575
<call method="setRouteBuilder">
@@ -83,7 +83,7 @@
8383

8484
<service
8585
id="cmf_sonata_admin_integration.block.reference_admin"
86-
class="%cmf_sonata_admin_integration.block.reference_admin.class%">
86+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\ReferenceBlockAdmin">
8787
<tag
8888
name="sonata.admin"
8989
manager_type="doctrine_phpcr"
@@ -92,7 +92,7 @@
9292
label="dashboard.label_reference_block"
9393
label_translator_strategy="sonata.admin.label.strategy.underscore" />
9494
<argument/>
95-
<argument>%cmf_sonata_admin_integration.block.reference_document.class%</argument>
95+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ReferenceBlock</argument>
9696
<argument>SonataAdminBundle:CRUD</argument>
9797

9898
<call method="setRouteBuilder">
@@ -106,7 +106,7 @@
106106

107107
<service
108108
id="cmf_sonata_admin_integration.block.string_admin"
109-
class="%cmf_sonata_admin_integration.block.string_admin.class%">
109+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block\StringBlockAdmin">
110110
<tag
111111
name="sonata.admin"
112112
manager_type="doctrine_phpcr"
@@ -115,7 +115,7 @@
115115
label="dashboard.label_string_block"
116116
label_translator_strategy="sonata.admin.label.strategy.underscore" />
117117
<argument/>
118-
<argument>%cmf_sonata_admin_integration.block.string_document.class%</argument>
118+
<argument>Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\StringBlock</argument>
119119
<argument>SonataAdminBundle:CRUD</argument>
120120

121121
<call method="setRouteBuilder">

src/Resources/config/content.xml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,18 @@
44
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
55

66
<services>
7-
<service id="cmf_sonata_admin_integration.content.admin" class="%cmf_sonata_admin_integration.content.admin.class%">
8-
<tag name="sonata.admin" manager_type="doctrine_phpcr" group="dashboard.cmf" label_catalogue="CmfContentBundle" label="dashboard.label_static_content" label_translator_strategy="sonata.admin.label.strategy.underscore" />
7+
<service
8+
id="cmf_sonata_admin_integration.content.admin"
9+
class="Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Content\StaticContentAdmin">
10+
<tag
11+
name="sonata.admin"
12+
manager_type="doctrine_phpcr"
13+
group="dashboard.cmf"
14+
label_catalogue="CmfContentBundle"
15+
label="dashboard.label_static_content"
16+
label_translator_strategy="sonata.admin.label.strategy.underscore" />
917
<argument/>
10-
<argument>%cmf_content.persistence.phpcr.document.class%</argument>
18+
<argument>Symfony\Cmf\Bundle\ContentBundle\Doctrine\Phpcr\StaticContent</argument>
1119
<argument>SonataAdminBundle:CRUD</argument>
1220

1321
<call method="setRouteBuilder">

0 commit comments

Comments
 (0)