Next major version 2 with PHP 8.1, Symfony 6, Tabler UI, 2FA ... (#2902)
This commit is contained in:
@@ -9,9 +9,8 @@
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Configuration\LocaleService;
|
||||
use App\Entity\User;
|
||||
use App\Form\Type\InitialViewType;
|
||||
use App\Utils\LanguageService;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@@ -19,20 +18,19 @@ use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* Homepage controller is a redirect controller with user specific logic.
|
||||
*
|
||||
* @Route(path="/homepage")
|
||||
* @Security("is_granted('IS_AUTHENTICATED_REMEMBERED')")
|
||||
*/
|
||||
class HomepageController extends AbstractController
|
||||
#[Route(path: '/homepage')]
|
||||
#[Security("is_granted('IS_AUTHENTICATED_REMEMBERED')")]
|
||||
final class HomepageController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @Route(path="", defaults={}, name="homepage", methods={"GET"})
|
||||
*/
|
||||
public function indexAction(Request $request, LanguageService $service): Response
|
||||
public const DEFAULT_ROUTE = 'timesheet';
|
||||
|
||||
#[Route(path: '', defaults: [], name: 'homepage', methods: ['GET'])]
|
||||
public function indexAction(Request $request, LocaleService $service): Response
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = $this->getUser();
|
||||
$userRoute = $user->getPreferenceValue('login.initial_view', InitialViewType::DEFAULT_VIEW, false);
|
||||
$userRoute = $user->getPreferenceValue('login_initial_view', self::DEFAULT_ROUTE, false);
|
||||
$userLanguage = $user->getLanguage();
|
||||
$requestLanguage = $request->getLocale();
|
||||
|
||||
@@ -46,16 +44,16 @@ class HomepageController extends AbstractController
|
||||
|
||||
// if a user somehow managed to get a wrong locale into hos account (eg. an imported user from Kimai 1)
|
||||
// make sure that he will still see a beautiful page and not a 404
|
||||
if (!$service->isKnownLanguage($userLanguage)) {
|
||||
$userLanguage = $service->getDefaultLanguage();
|
||||
if (!$service->isKnownLocale($userLanguage)) {
|
||||
$userLanguage = $service->getDefaultLocale();
|
||||
}
|
||||
|
||||
$routes = [
|
||||
[$userRoute, $userLanguage],
|
||||
[$userRoute, $requestLanguage],
|
||||
[$userRoute, User::DEFAULT_LANGUAGE],
|
||||
[InitialViewType::DEFAULT_VIEW, $userLanguage],
|
||||
[InitialViewType::DEFAULT_VIEW, $requestLanguage],
|
||||
[self::DEFAULT_ROUTE, $userLanguage],
|
||||
[self::DEFAULT_ROUTE, $requestLanguage],
|
||||
];
|
||||
|
||||
foreach ($routes as $routeSettings) {
|
||||
@@ -69,6 +67,6 @@ class HomepageController extends AbstractController
|
||||
}
|
||||
}
|
||||
|
||||
return $this->redirectToRoute(InitialViewType::DEFAULT_VIEW, ['_locale' => User::DEFAULT_LANGUAGE]);
|
||||
return $this->redirectToRoute(self::DEFAULT_ROUTE, ['_locale' => User::DEFAULT_LANGUAGE]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user