Reload page after user has changed its own theme.

This commit is contained in:
Jan Böhmer 2019-10-13 18:01:13 +02:00
parent 0b69de332d
commit 4a6f327c70
2 changed files with 13 additions and 2 deletions

View file

@ -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
]);
}

View file

@ -6,6 +6,10 @@
{% trans %}user.settings.label{% endtrans %}{% endblock %}
{% block card_content %}
{% if page_need_reload %}
<script>window.location.href = window.location.href;</script>
{% endif %}
{{ form_start(settings_form) }}
<ul class="nav nav-tabs" id="myTab" role="tablist">
@ -54,4 +58,4 @@
{{ form_end(pw_form) }}
</div>
</div>
{% endblock %}
{% endblock %}