loader = $twig->getLoader(); $this->entityManager = $entityManager; $this->userService = $userService; } #[Route('/cds/my-account', name: 'my-account')] public function index(): Response { $user = $this->getUser(); $data = $user; $validation = []; //$v = $request->query->get('validation'); //symfony shits itself if array is in get param... if (isset($_GET['validation']) && is_array($_GET['validation'])) { $validation = $_GET['validation']; } return $this->render( 'my-account.html.twig', [ 'user' => $user, 'page' => [ 'title' => 'My Account', 'section' => 'CDS', 'section_link' => '/cds' ], 'data' => $data, 'validation' => $validation ] ); } #[Route('/cds/my-account/update', name: 'my-account-update')] public function update(Request $request): Response { $___user = $this->getUser(); $validation = []; $repository = $this->entityManager->getRepository(User::class); $post = $request->getPayload()->all(); if (count($post) > 0) { $data = $this->userService->sanitiseUserData($post); $validation = $this->userService->validateUserData($data, true); if ($validation['success']) { $validation['success'] = 'Your account was updated.'; $this->userService->updateUserFromData($___user, $data); $this->entityManager->persist($___user); $this->entityManager->flush(); } } return $this->redirectToRoute( 'my-account', [ 'validation' => $validation ] ); } }