src/Controller/HomeController.php line 28

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Client;
  4. use App\Repository\CardRepository;
  5. use App\Repository\ClientRepository;
  6. use App\Repository\HookRepository;
  7. use App\Repository\ModuleRepository;
  8. use App\Repository\ParameterRepository;
  9. use App\Repository\WidgetRepository;
  10. use DateTimeImmutable;
  11. use Doctrine\Persistence\ManagerRegistry;
  12. use Exception;
  13. use ReflectionException;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
  16. use Symfony\Component\Routing\Annotation\Route;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. class HomeController extends AbstractController
  19. {
  20.     /**
  21.      * @throws ReflectionException|TransportExceptionInterface
  22.      * @throws Exception
  23.      */
  24.     #[Route('/'name'app_home')]
  25.     public function index(HookRepository $hookRepositoryWidgetRepository $widgetRepositoryManagerRegistry $registryParameterRepository $parameterRepositoryClientRepository $clientRepositoryCardRepository $cardRepository): Response
  26.     {
  27.         if ($this->container->has('security.token_storage')) {
  28.             $current_user $this->getUser();
  29.             if (!$current_user) {
  30.                 return $this->redirectToRoute('app_login');
  31.             }
  32.         } else {
  33.             return $this->redirectToRoute('app_login');
  34.         }
  35. /*
  36.         $cards = $cardRepository->findAll();
  37.         foreach ($cards as $card) {
  38.             $code_sap = $card->getCodeSap();
  39.             $pre_client = $clientRepository->findOneBy([
  40.                 'code_sap' => $code_sap
  41.             ]);
  42.             if($pre_client)
  43.                 $card->setClient($pre_client);
  44.             else{
  45.                 $client = new Client();
  46.                 $client->setCodeSap($code_sap);
  47.                 $client->setCreatedAt(new DateTimeImmutable());
  48.                 $client->setUpdatedAt(new DateTimeImmutable());
  49.                 $client->setIsActivated(true);
  50.                 $client->setIsDeleted(false);
  51.                 $clientRepository->save($client, true);
  52.                 $card->setClient($client);
  53.             }
  54.             $cardRepository->save($card, true);
  55.         }
  56. */
  57.         $moduleRepo = new ModuleRepository($registry);
  58.         $header_widgets $widgetRepository->findByHook($hookRepository->findOneBy([
  59.             'alias' => 'HEADER'
  60.         ]));
  61.         $limit intval($parameterRepository->findOneByAlias([
  62.             'alias' => 'RECENT_ACTIVITIES_LIMIT'
  63.         ])->getValue());
  64.         $recent_activities = [];
  65.         return $this->render('home/index.html.twig', [
  66.             'root_uri' => 'Accueil',
  67.             'title' => 'Tableau de bord',
  68.             'module_mod_menu' => $moduleRepo->findByParam("isModule"),
  69.             'dictionnary_mod_menu' => $moduleRepo->findByParam("isDictionnary"),
  70.             'parameter_mod_menu' => $moduleRepo->findByParam("isParameter"),
  71.             'user' => $current_user,
  72.             'user_role' => $current_user->getRole(),
  73.             'header_widgets' => $header_widgets,
  74.             'recent_activities' => $recent_activities
  75.         ]);
  76.     }
  77. }