src/Controller/HomeController.php line 39

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Entity\Horaire;
  5. use App\Entity\Etudiant;
  6. use App\Form\HoraireType;
  7. use Ijanki\Bundle\FtpBundle\Ftp;
  8. use App\Repository\HoraireRepository;
  9. use App\Repository\EtudiantRepository;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Ijanki\Bundle\FtpBundle\IjankiFtpBundle;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use App\Repository\VariablesGlobalesRepository;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Ijanki\Bundle\FtpBundle\Exception\FtpException;
  16. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. use Ijanki\Bundle\FtpBundle\DependencyInjection\IjankiFtpExtension;
  19. class HomeController extends AbstractController
  20. {
  21.     /** 
  22.      * @var HoraireRepository
  23.      */
  24.     protected $horaireRepository;
  25.     public function __construct(HoraireRepository $horaireRepository)
  26.     {
  27.         $this->horaireRepository $horaireRepository;
  28.     }
  29.     /**
  30.      * @Route("/", name="homepage")
  31.      * @IsGranted("ROLE_USER")
  32.      */
  33.     public function homepage(Request $requestEntityManagerInterface $emEtudiantRepository $etudiantRepositoryVariablesGlobalesRepository $variablesGlobales)
  34.     {
  35.         $horaire = new Horaire($variablesGlobales);
  36.         /**
  37.          * @var User
  38.          */
  39.         $user $this->getUser();
  40.         /**
  41.          * @var Etudiant
  42.          */
  43.         $etudiant $user->getEtudiant();
  44.         if (isset($etudiant)) {
  45.             $allHoraires $etudiant->getHoraires()->toArray();
  46.         } else {
  47.             $allHoraires null;
  48.         }
  49.         if ($user->getNouveauMDP() == "1") {
  50.             $this->addFlash(
  51.                 'warning',
  52.                 "Vous devez configurer votre nouveau mot de passe."
  53.             );
  54.             return $this->redirectToRoute('security_updatePassword');
  55.         }
  56.         $form $this->createForm(HoraireType::class, $horaire);
  57.         $form->handleRequest($request);
  58.         if ($form->isSubmitted() && $form->isValid()) {
  59.             $nbHeureJEHT is_null($variablesGlobales->findOneBy(array('nomVariable' => 'nbHeureJEHT'))) ? $variablesGlobales->findOneBy(array('nomVariable' => 'nbHeureJEHT'))->getValeur();
  60.             if (isset($etudiant)) {
  61.                 $horaire->setEtudiant($etudiant);
  62.                 $em->persist($horaire);
  63.                 $em->flush();
  64.             } else {
  65.                 $this->addFlash(
  66.                     'danger',
  67.                     "Votre profil ne permet pas de saisir des récapitulatifs horaires !"
  68.                 );
  69.                 return $this->redirectToRoute('homepage');
  70.             }
  71.             $mois $horaire->getMois();
  72.             $this->addFlash(
  73.                 'success',
  74.                 "Votre récapitulatif horraire pour le mois $mois a bien été pris en compte !"
  75.             );
  76.             return $this->redirectToRoute('homepage');
  77.         }
  78.         $formView $form->createView();
  79.         return $this->render('etudiant/home.html.twig', [
  80.             'horaires' => $allHoraires,
  81.             'user' => $user,
  82.             'formView' => $formView
  83.         ]);
  84.     }
  85. }