Browse Source

make redirect to user locale selected #19

main
ghost 1 year ago
parent
commit
9fcc5a451b
  1. 14
      src/Controller/DashboardController.php
  2. 11
      src/Controller/UserController.php
  3. 5
      src/Service/UserService.php

14
src/Controller/DashboardController.php

@ -7,15 +7,25 @@ use Symfony\Component\Routing\Annotation\Route; @@ -7,15 +7,25 @@ use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use App\Service\UserService;
class DashboardController extends AbstractController
{
#[Route('/')]
public function root(): Response
public function root(
Request $request,
UserService $userService
): Response
{
// Init user
$user = $userService->init(
$request->getClientIp()
);
return $this->redirectToRoute(
'dashboard_index',
[
'_locale' => $this->getParameter('app.locale')
'_locale' => $user->getLocale()
]
);
}

11
src/Controller/UserController.php

@ -25,7 +25,8 @@ class UserController extends AbstractController @@ -25,7 +25,8 @@ class UserController extends AbstractController
public function profile(
Request $request,
UserService $userService,
TimeService $timeService): Response
TimeService $timeService
): Response
{
// Init user
$user = $userService->init(
@ -53,6 +54,14 @@ class UserController extends AbstractController @@ -53,6 +54,14 @@ class UserController extends AbstractController
// Save changes to DB
$userService->save($user);
// Redirect user to new locale
return $this->redirectToRoute(
'user_profile',
[
'_locale' => $user->getLocale()
]
);
}
// Generate identicon

5
src/Service/UserService.php

@ -14,7 +14,10 @@ class UserService @@ -14,7 +14,10 @@ class UserService
private UserRepository $userRepository;
private ParameterBagInterface $parameterBagInterface;
public function __construct(EntityManagerInterface $entityManager, ParameterBagInterface $parameterBagInterface)
public function __construct(
EntityManagerInterface $entityManager,
ParameterBagInterface $parameterBagInterface
)
{
$this->entityManager = $entityManager;
$this->userRepository = $entityManager->getRepository(User::class);

Loading…
Cancel
Save