move supported languages logic to service (#2701)

This commit is contained in:
Kevin Papst
2021-08-07 01:11:42 +02:00
committed by GitHub
parent cefd747e91
commit 3a7dba437c
7 changed files with 130 additions and 74 deletions

View File

@@ -11,6 +11,7 @@ namespace App\Controller;
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;
@@ -27,7 +28,7 @@ class HomepageController extends AbstractController
/**
* @Route(path="", defaults={}, name="homepage", methods={"GET"})
*/
public function indexAction(Request $request): Response
public function indexAction(Request $request, LanguageService $service): Response
{
/** @var User $user */
$user = $this->getUser();
@@ -43,6 +44,12 @@ class HomepageController extends AbstractController
$userLanguage = $requestLanguage;
}
// 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();
}
$routes = [
[$userRoute, $userLanguage],
[$userRoute, $requestLanguage],