-
- /**
- * Delete account for current user.
- *
- * @Route("/account/delete", name="delete_account")
- *
- * @param Request $request
- *
- * @throws AccessDeniedHttpException
- *
- * @return \Symfony\Component\HttpFoundation\RedirectResponse
- */
- public function deleteAccountAction(Request $request)
- {
- $enabledUsers = $this->getDoctrine()
- ->getRepository('WallabagUserBundle:User')
- ->getSumEnabledUsers();
-
- if ($enabledUsers <= 1) {
- throw new AccessDeniedHttpException();
- }
-
- $user = $this->getUser();
-
- // logout current user
- $this->get('security.token_storage')->setToken(null);
- $request->getSession()->invalidate();
-
- $em = $this->get('fos_user.user_manager');
- $em->deleteUser($user);
-
- return $this->redirect($this->generateUrl('fos_user_security_login'));
- }
-
- /**
- * Switch view mode for current user.
- *
- * @Route("/config/view-mode", name="switch_view_mode")
- *
- * @param Request $request
- *
- * @return \Symfony\Component\HttpFoundation\RedirectResponse
- */
- public function changeViewModeAction(Request $request)
- {
- $user = $this->getUser();
- $user->getConfig()->setListMode(!$user->getConfig()->getListMode());
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
-
- return $this->redirect($request->headers->get('referer'));
- }