From fa97ce3dec3faad59ffa041c9a1548e0db06f7bc Mon Sep 17 00:00:00 2001
From: Wim Vandersmissen <wim.vandersmissen@gmail.com>
Date: Wed, 21 May 2014 16:05:21 +0200
Subject: [PATCH 1/2] fix admin locale listener

---
 EventListener/AdminLocaleListener.php | 11 +++++++++--
 Resources/config/services.yml         |  2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/EventListener/AdminLocaleListener.php b/EventListener/AdminLocaleListener.php
index e511235d..be666017 100644
--- a/EventListener/AdminLocaleListener.php
+++ b/EventListener/AdminLocaleListener.php
@@ -3,6 +3,7 @@
 namespace Kunstmaan\AdminBundle\EventListener;
 
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 use Symfony\Component\Translation\TranslatorInterface;
@@ -41,12 +42,17 @@ public function __construct(SecurityContext $context, TranslatorInterface $trans
     }
 
     /**
-     * onKernelView event
+     * onKernelRequest
      *
      * @param GetResponseEvent $event
      */
-    public function onKernelView(GetResponseEvent $event)
+    public function onKernelRequest(GetResponseEvent $event)
     {
+        if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
+            // return immediately
+            return;
+        }
+
         $url = $event->getRequest()->getRequestUri();
 
         if ($this->context->getToken()) {
@@ -60,6 +66,7 @@ public function onKernelView(GetResponseEvent $event)
                 }
 
                 $this->translator->setLocale($locale);
+
             }
         }
     }
diff --git a/Resources/config/services.yml b/Resources/config/services.yml
index 004e2fa5..25cfdd20 100644
--- a/Resources/config/services.yml
+++ b/Resources/config/services.yml
@@ -28,7 +28,7 @@ services:
         class: Kunstmaan\AdminBundle\EventListener\AdminLocaleListener
         arguments: ["@security.context", "@translator", "%kuma_admin.default_admin_locale%"]
         tags:
-            - { name: kernel.event_listener, event: 'kernel.view' }
+            - { name: 'kernel.event_listener', event: 'kernel.request', method: 'onKernelRequest' }
 
     kunstmaan_admin.menu.twig.extension:
         class: Kunstmaan\AdminBundle\Twig\MenuTwigExtension

From fcc60aac0169298ef56d647aa1a55e4e67e0e971 Mon Sep 17 00:00:00 2001
From: Wim Vandersmissen <wim.vandersmissen@gmail.com>
Date: Wed, 21 May 2014 16:07:19 +0200
Subject: [PATCH 2/2] code formatting...

---
 EventListener/AdminLocaleListener.php | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/EventListener/AdminLocaleListener.php b/EventListener/AdminLocaleListener.php
index be666017..5bf06624 100644
--- a/EventListener/AdminLocaleListener.php
+++ b/EventListener/AdminLocaleListener.php
@@ -30,14 +30,14 @@ class AdminLocaleListener implements EventSubscriberInterface
     private $defaultAdminlocale;
 
     /**
-     * @param SecurityContext $context
+     * @param SecurityContext     $context
      * @param TranslatorInterface $translator
-     * @param string $defaultAdminLocale
+     * @param string              $defaultAdminLocale
      */
     public function __construct(SecurityContext $context, TranslatorInterface $translator, $defaultAdminLocale)
     {
-        $this->translator = $translator;
-        $this->context = $context;
+        $this->translator         = $translator;
+        $this->context            = $context;
         $this->defaultAdminlocale = $defaultAdminLocale;
     }
 
@@ -66,7 +66,6 @@ public function onKernelRequest(GetResponseEvent $event)
                 }
 
                 $this->translator->setLocale($locale);
-
             }
         }
     }