make redirect to user locale selected #19

This commit is contained in:
ghost 2023-10-03 22:52:26 +03:00
parent f85414fd2b
commit 9fcc5a451b
3 changed files with 26 additions and 4 deletions

View File

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

View File

@ -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
// Save changes to DB
$userService->save($user);
// Redirect user to new locale
return $this->redirectToRoute(
'user_profile',
[
'_locale' => $user->getLocale()
]
);
}
// Generate identicon

View File

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