Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

Moved service parameters for admin into configuration for the bundle. #84

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CHANGELOG
=========

### 2012-09-24

* changed service parameters into options that come through the configuration with the old values as the new defaults.
39 changes: 39 additions & 0 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,45 @@ public function getConfigTreeBuilder()
->scalarNode('user')->defaultValue('Application\\Sonata\\UserBundle\\Entity\\User')->end()
->end()
->end()

->arrayNode('admin')
->addDefaultsIfNotSet()
->children()
->arrayNode('post')
->addDefaultsIfNotSet()
->children()
->scalarNode('class')->cannotBeEmpty()->defaultValue('Sonata\\NewsBundle\\Admin\\PostAdmin')->end()
->scalarNode('controller')->cannotBeEmpty()->defaultValue('SonataAdminBundle:CRUD')->end()
->scalarNode('translation')->cannotBeEmpty()->defaultValue('SonataNewsBundle')->end()
->end()
->end()
->arrayNode('category')
->addDefaultsIfNotSet()
->children()
->scalarNode('class')->cannotBeEmpty()->defaultValue('Sonata\\NewsBundle\\Admin\\CategoryAdmin')->end()
->scalarNode('controller')->cannotBeEmpty()->defaultValue('SonataAdminBundle:CRUD')->end()
->scalarNode('translation')->cannotBeEmpty()->defaultValue('SonataNewsBundle')->end()
->end()
->end()
->arrayNode('comment')
->addDefaultsIfNotSet()
->children()
->scalarNode('class')->cannotBeEmpty()->defaultValue('Sonata\\NewsBundle\\Admin\\CommentAdmin')->end()
->scalarNode('controller')->cannotBeEmpty()->defaultValue('SonataAdminBundle:CRUD')->end()
->scalarNode('translation')->cannotBeEmpty()->defaultValue('SonataNewsBundle')->end()
->end()
->end()
->arrayNode('tag')
->addDefaultsIfNotSet()
->children()
->scalarNode('class')->cannotBeEmpty()->defaultValue('Sonata\\NewsBundle\\Admin\\TagAdmin')->end()
->scalarNode('controller')->cannotBeEmpty()->defaultValue('SonataAdminBundle:CRUD')->end()
->scalarNode('translation')->cannotBeEmpty()->defaultValue('SonataNewsBundle')->end()
->end()
->end()
->end()
->end()

->arrayNode('comment')
->children()
->arrayNode('notification')
Expand Down
24 changes: 24 additions & 0 deletions DependencyInjection/SonataNewsExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public function load(array $configs, ContainerBuilder $container)

$this->registerDoctrineMapping($config, $container);
$this->configureClass($config, $container);
$this->configureAdmin($config, $container);
}

/**
Expand All @@ -101,6 +102,29 @@ public function configureClass($config, ContainerBuilder $container)
$container->setParameter('sonata.news.manager.category.entity', $config['class']['category']);
}

/**
* @param array $config
* @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
*/
public function configureAdmin($config, ContainerBuilder $container)
{
$container->setParameter('sonata.news.admin.post.class', $config['admin']['post']['class']);
$container->setParameter('sonata.news.admin.post.controller', $config['admin']['post']['controller']);
$container->setParameter('sonata.news.admin.post.translation_domain', $config['admin']['post']['translation']);

$container->setParameter('sonata.news.admin.category.class', $config['admin']['category']['class']);
$container->setParameter('sonata.news.admin.category.controller', $config['admin']['category']['controller']);
$container->setParameter('sonata.news.admin.category.translation_domain', $config['admin']['category']['translation']);

$container->setParameter('sonata.news.admin.comment.class', $config['admin']['comment']['class']);
$container->setParameter('sonata.news.admin.comment.controller', $config['admin']['comment']['controller']);
$container->setParameter('sonata.news.admin.comment.translation_domain', $config['admin']['comment']['translation']);

$container->setParameter('sonata.news.admin.tag.class', $config['admin']['tag']['class']);
$container->setParameter('sonata.news.admin.tag.controller', $config['admin']['tag']['controller']);
$container->setParameter('sonata.news.admin.tag.translation_domain', $config['admin']['tag']['translation']);
}

/**
* @param array $config
*/
Expand Down
22 changes: 0 additions & 22 deletions Resources/config/admin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

<parameters>
<!-- POST -->
<parameter key="sonata.news.admin.post.class">Sonata\NewsBundle\Admin\PostAdmin</parameter>
<parameter key="sonata.news.admin.post.controller">SonataAdminBundle:CRUD</parameter>
<parameter key="sonata.news.admin.post.translation_domain">SonataNewsBundle</parameter>

<!-- CATEGORY -->
<parameter key="sonata.news.admin.category.class">Sonata\NewsBundle\Admin\CategoryAdmin</parameter>
<parameter key="sonata.news.admin.category.controller">SonataAdminBundle:CRUD</parameter>
<parameter key="sonata.news.admin.category.translation_domain">%sonata.news.admin.post.translation_domain%</parameter>

<!-- COMMENT -->
<parameter key="sonata.news.admin.comment.class">Sonata\NewsBundle\Admin\CommentAdmin</parameter>
<parameter key="sonata.news.admin.comment.controller">SonataAdminBundle:CRUD</parameter>
<parameter key="sonata.news.admin.comment.translation_domain">%sonata.news.admin.post.translation_domain%</parameter>

<!-- TAG -->
<parameter key="sonata.news.admin.tag.class">Sonata\NewsBundle\Admin\TagAdmin</parameter>
<parameter key="sonata.news.admin.tag.controller">SonataAdminBundle:CRUD</parameter>
<parameter key="sonata.news.admin.tag.translation_domain">%sonata.news.admin.post.translation_domain%</parameter>
</parameters>

<services>
<service id="sonata.news.admin.post" class="%sonata.news.admin.post.class%">
<tag name="sonata.admin" manager_type="orm" group="sonata_blog" label="posts" label_catalogue="%sonata.news.admin.post.translation_domain%" label_translator_strategy="sonata.admin.label.strategy.underscore" />
Expand Down
18 changes: 18 additions & 0 deletions Resources/doc/reference/advanced_configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,24 @@ Advanced Configuration
media: Application\Sonata\MediaBundle\Entity\Media
user: Application\Sonata\UserBundle\Entity\User

admin:
post:
class: Sonata\NewsBundle\Admin\PostAdmin
controller: SonataAdminBundle:CRUD
translation: SonataNewsBundle
comment:
class: Sonata\NewsBundle\Admin\CommentAdmin
controller: SonataAdminBundle:CRUD
translation: SonataNewsBundle
category:
class: Sonata\NewsBundle\Admin\CategoryAdmin
controller: SonataAdminBundle:CRUD
translation: SonataNewsBundle
tag:
class: Sonata\NewsBundle\Admin\TagAdmin
controller: SonataAdminBundle:CRUD
translation: SonataNewsBundle

doctrine:
orm:
entity_managers:
Expand Down