diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index 2a9846da..8836a533 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -166,6 +166,8 @@ class UserController extends AdminPages\BaseAdminController */ $user = $this->getUser(); + $page_need_reload = false; + if(!$user instanceof User) { return new \RuntimeException("This controller only works only for Part-DB User objects!"); } @@ -182,7 +184,11 @@ class UserController extends AdminPages\BaseAdminController $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - //$em->persist($user); + //Check if user theme setting has changed + if ($user->getTheme() !== $em->getUnitOfWork()->getOriginalEntityData($user)['theme']) { + $page_need_reload = true; + } + $em->flush(); $this->addFlash('success', 'user.settings.saved_flash'); } @@ -230,6 +236,7 @@ class UserController extends AdminPages\BaseAdminController return $this->render('Users/user_settings.html.twig', [ 'settings_form' => $form->createView(), 'pw_form' => $pw_form->createView(), + 'page_need_reload' => $page_need_reload ]); } diff --git a/templates/Users/user_settings.html.twig b/templates/Users/user_settings.html.twig index 38ddffe7..df0c93fa 100644 --- a/templates/Users/user_settings.html.twig +++ b/templates/Users/user_settings.html.twig @@ -6,6 +6,10 @@ {% trans %}user.settings.label{% endtrans %}{% endblock %} {% block card_content %} + {% if page_need_reload %} + + {% endif %} + {{ form_start(settings_form) }}