diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2018-10-13 09:24:39 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2018-10-13 09:39:00 +0200 |
commit | 4d4147b228ac90f329fd2d40dd4fb60cb980328a (patch) | |
tree | bb18d67c8ec03bf8abd24dc6ef2138c3f81f6fa5 /src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php | |
parent | be417ef23685e17a239b1d192a0e9b9f484f1bfe (diff) | |
download | wallabag-4d4147b228ac90f329fd2d40dd4fb60cb980328a.tar.gz wallabag-4d4147b228ac90f329fd2d40dd4fb60cb980328a.tar.zst wallabag-4d4147b228ac90f329fd2d40dd4fb60cb980328a.zip |
Ensure language is valid
- Do not override locale if user has choosen a locale from the login screen.
- Add some tests about locale url
Diffstat (limited to 'src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php b/src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php index 367cdfb0..dc1db5c7 100644 --- a/src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php +++ b/src/Wallabag/CoreBundle/Event/Listener/UserLocaleListener.php | |||
@@ -6,8 +6,10 @@ use Symfony\Component\HttpFoundation\Session\Session; | |||
6 | use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; | 6 | use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; |
7 | 7 | ||
8 | /** | 8 | /** |
9 | * Stores the locale of the user in the session after the | 9 | * Stores the locale of the user in the session after the login. |
10 | * login. This can be used by the LocaleListener afterwards. | 10 | * If no locale are defined (if user doesn't change it from the login screen), override it with the user's config one. |
11 | * | ||
12 | * This can be used by the LocaleListener afterwards. | ||
11 | * | 13 | * |
12 | * @see http://symfony.com/doc/master/cookbook/session/locale_sticky_session.html | 14 | * @see http://symfony.com/doc/master/cookbook/session/locale_sticky_session.html |
13 | */ | 15 | */ |
@@ -30,7 +32,7 @@ class UserLocaleListener | |||
30 | { | 32 | { |
31 | $user = $event->getAuthenticationToken()->getUser(); | 33 | $user = $event->getAuthenticationToken()->getUser(); |
32 | 34 | ||
33 | if (null !== $user->getConfig()->getLanguage()) { | 35 | if (null !== $user->getConfig()->getLanguage() && null === $this->session->get('_locale')) { |
34 | $this->session->set('_locale', $user->getConfig()->getLanguage()); | 36 | $this->session->set('_locale', $user->getConfig()->getLanguage()); |
35 | } | 37 | } |
36 | } | 38 | } |