diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller/ConfigController.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Controller/ConfigController.php | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php index 4f75511b..75a9af0b 100644 --- a/src/Wallabag/CoreBundle/Controller/ConfigController.php +++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | namespace Wallabag\CoreBundle\Controller; | 3 | namespace Wallabag\CoreBundle\Controller; |
4 | 4 | ||
5 | use FOS\UserBundle\Event\UserEvent; | ||
6 | use FOS\UserBundle\FOSUserEvents; | ||
5 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | 7 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
6 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; | 8 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
7 | use Symfony\Component\HttpFoundation\JsonResponse; | 9 | use Symfony\Component\HttpFoundation\JsonResponse; |
@@ -133,18 +135,11 @@ class ConfigController extends Controller | |||
133 | $newUserForm->handleRequest($request); | 135 | $newUserForm->handleRequest($request); |
134 | 136 | ||
135 | if ($newUserForm->isValid() && $this->get('security.authorization_checker')->isGranted('ROLE_SUPER_ADMIN')) { | 137 | if ($newUserForm->isValid() && $this->get('security.authorization_checker')->isGranted('ROLE_SUPER_ADMIN')) { |
136 | $userManager->updateUser($newUser, true); | 138 | $userManager->updateUser($newUser); |
137 | 139 | ||
138 | $config = new Config($newUser); | 140 | // dispatch a created event so the associated config will be created |
139 | $config->setTheme($this->getParameter('wallabag_core.theme')); | 141 | $event = new UserEvent($newUser, $request); |
140 | $config->setItemsPerPage($this->getParameter('wallabag_core.items_on_page')); | 142 | $this->get('event_dispatcher')->dispatch(FOSUserEvents::USER_CREATED, $event); |
141 | $config->setRssLimit($this->getParameter('wallabag_core.rss_limit')); | ||
142 | $config->setLanguage($this->getParameter('wallabag_core.language')); | ||
143 | $config->setReadingSpeed($this->getParameter('wallabag_core.reading_speed')); | ||
144 | |||
145 | $em->persist($config); | ||
146 | |||
147 | $em->flush(); | ||
148 | 143 | ||
149 | $this->get('session')->getFlashBag()->add( | 144 | $this->get('session')->getFlashBag()->add( |
150 | 'notice', | 145 | 'notice', |
@@ -238,6 +233,7 @@ class ConfigController extends Controller | |||
238 | ->getRepository('WallabagCoreBundle:Config') | 233 | ->getRepository('WallabagCoreBundle:Config') |
239 | ->findOneByUser($this->getUser()); | 234 | ->findOneByUser($this->getUser()); |
240 | 235 | ||
236 | // should NEVER HAPPEN ... | ||
241 | if (!$config) { | 237 | if (!$config) { |
242 | $config = new Config($this->getUser()); | 238 | $config = new Config($this->getUser()); |
243 | } | 239 | } |