Skip to content

Commit e543600

Browse files
committed
Merge pull request #1288 from christickner/flash_listener_configuration
[Flash Notifications] make registering the FlashListener configurable
2 parents 0cb0302 + adef919 commit e543600

File tree

5 files changed

+35
-6
lines changed

5 files changed

+35
-6
lines changed

DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public function getConfigTreeBuilder()
5252
->scalarNode('firewall_name')->isRequired()->cannotBeEmpty()->end()
5353
->scalarNode('model_manager_name')->defaultNull()->end()
5454
->booleanNode('use_listener')->defaultTrue()->end()
55+
->booleanNode('use_flash_notifications')->defaultTrue()->end()
5556
->booleanNode('use_username_form_type')->defaultTrue()->end()
5657
->arrayNode('from_email')
5758
->addDefaultsIfNotSet()

DependencyInjection/FOSUserExtension.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ public function load(array $configs, ContainerBuilder $container)
3737
$loader->load(sprintf('%s.xml', $basename));
3838
}
3939

40+
if ($config['use_flash_notifications']) {
41+
$loader->load('flash_notifications.xml');
42+
}
43+
4044
$container->setAlias('fos_user.mailer', $config['service']['mailer']);
4145
$container->setAlias('fos_user.util.email_canonicalizer', $config['service']['email_canonicalizer']);
4246
$container->setAlias('fos_user.util.username_canonicalizer', $config['service']['username_canonicalizer']);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
3+
<container xmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
6+
7+
<services>
8+
<service id="fos_user.listener.flash" class="FOS\UserBundle\EventListener\FlashListener">
9+
<tag name="kernel.event_subscriber" />
10+
<argument type="service" id="session" />
11+
<argument type="service" id="translator" />
12+
</service>
13+
</services>
14+
15+
</container>

Resources/config/listeners.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,6 @@
1010
<argument type="service" id="fos_user.security.login_manager" />
1111
<argument>%fos_user.firewall_name%</argument>
1212
</service>
13-
14-
<service id="fos_user.listener.flash" class="FOS\UserBundle\EventListener\FlashListener">
15-
<tag name="kernel.event_subscriber" />
16-
<argument type="service" id="session" />
17-
<argument type="service" id="translator" />
18-
</service>
1913
</services>
2014

2115
</container>

Tests/DependencyInjection/FOSUserExtensionTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,20 @@ public function testUserLoadUtilService()
294294
$this->assertAlias('acme_my.username_canonicalizer', 'fos_user.util.username_canonicalizer');
295295
}
296296

297+
public function testUserLoadFlashesByDefault()
298+
{
299+
$this->createEmptyConfiguration();
300+
301+
$this->assertHasDefinition('fos_user.listener.flash');
302+
}
303+
304+
public function testUserLoadFlashesCanBeDisabled()
305+
{
306+
$this->createFullConfiguration();
307+
308+
$this->assertNotHasDefinition('fos_user.listener.flash');
309+
}
310+
297311
protected function createEmptyConfiguration()
298312
{
299313
$this->configuration = new ContainerBuilder();
@@ -335,6 +349,7 @@ protected function getFullConfig()
335349
db_driver: orm
336350
firewall_name: fos_user
337351
use_listener: true
352+
use_flash_notifications: false
338353
user_class: Acme\MyBundle\Entity\User
339354
model_manager_name: custom
340355
from_email:

0 commit comments

Comments
 (0)