src/Controller/ActualitesController.php line 98

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller//A voir
  4. use App\Entity\Actualite;
  5. use Symfony\Component\HttpFoundation\JsonResponse;//A voir
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;//A voir
  7. use Symfony\Contracts\Translation\TranslatorInterface;
  8. use App\Repository\ATBGRepository;
  9. use App\Repository\AbbreviationLangueRepository;
  10. use App\Repository\AbbreviationRepository;
  11. use App\Repository\ActualiteRepository;
  12. use App\Repository\AntibiotiqueRepository;
  13. use App\Repository\CasCliniquesCategorieRepository;
  14. use App\Repository\CasCliniquesQuestionRepository;
  15. use App\Repository\CasCliniquesReponseRepository;
  16. use App\Repository\CasCliniquesReponseUtilisateurRepository;
  17. use App\Repository\CelluleRepository;
  18. use App\Repository\CelluleTitreCompletRepository;
  19. use App\Repository\CoAntibiotiqueCalculRepository;
  20. use App\Repository\ContenuRepository;
  21. use App\Repository\EtablissementRepository;
  22. use App\Repository\FamilleAntibiotiqueRepository;
  23. use App\Repository\FavorisRepository;
  24. use App\Repository\InformationHopitalRepository;
  25. use App\Repository\InformationReferenceRepository;
  26. use App\Repository\InformationRepository;
  27. use App\Repository\IntervenantSessioneppRepository;
  28. use App\Repository\LangueRepository;
  29. use App\Repository\MicroorganismeRepository;
  30. use App\Repository\NoteRepository;
  31. use App\Repository\ParametreRepository;
  32. use App\Repository\PaysRepository;
  33. use App\Repository\PersonnalisationRepository;
  34. use App\Repository\PersonnalisationSpectreRepository;
  35. use App\Repository\QualiteRepository;
  36. use App\Repository\ReferenceHopitalRepository;
  37. use App\Repository\ReferenceRepository;
  38. use App\Repository\SessioneppRepository;
  39. use App\Repository\SessioneppUrlRepository;
  40. use App\Repository\SpecialiteRepository;
  41. use App\Repository\SpectreRepository;
  42. use App\Repository\TicketPatientRepository;
  43. use App\Repository\TypeInformationRepository;
  44. use App\Repository\UtilisateurRepository;
  45. use App\Repository\VersionRepository;
  46. use App\Service\StatistiquesService;
  47. use Symfony\Component\HttpFoundation\Request;
  48. use App\Service\ContentHandler;
  49. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  50. class ActualitesController extends ATBGController
  51. {
  52.     public function __construct(
  53.         private AbbreviationLangueRepository $abbreviationLangueRepo,
  54.         private AbbreviationRepository $abbreviationRepo,
  55.         private ActualiteRepository $actualiteRepo,
  56.         private AntibiotiqueRepository $antibiotiqueRepo,
  57.         private CasCliniquesCategorieRepository $casCliniquesCategorieRepo,
  58.         private CasCliniquesQuestionRepository $casCliniquesQuestionRepo,
  59.         private CasCliniquesReponseRepository $casCliniquesReponseRepo,
  60.         private CasCliniquesReponseUtilisateurRepository $casCliniquesReponseUtilisateurRepo,
  61.         private CelluleRepository $celluleRepo,
  62.         private CelluleTitreCompletRepository $celluleTitreCompletRepo,
  63.         private CoAntibiotiqueCalculRepository $coAntibiotiqueCalculRepo,
  64.         private ContenuRepository $contenuRepo,
  65.         private EtablissementRepository $etablissementRepo,
  66.         private FamilleAntibiotiqueRepository $familleAntibiotiqueRepository,
  67.         private FavorisRepository $favorisRepo,
  68.         private InformationHopitalRepository $informationHopitalRepo,
  69.         private InformationReferenceRepository $informationReferenceRepo,
  70.         private InformationRepository $informationRepo,
  71.         private IntervenantSessioneppRepository $intervenantSessioneppRepo,
  72.         private LangueRepository $langueRepo,
  73.         private MicroorganismeRepository $microorganismeRepo,
  74.         private NoteRepository $noteRepo,
  75.         private ParametreRepository $parametreRepo,
  76.         private PaysRepository $paysRepo,
  77.         private PersonnalisationRepository $personnalisationRepo,
  78.         private PersonnalisationSpectreRepository $personnalisationSpectreRepo,
  79.         private QualiteRepository $qualiteRepo,
  80.         private ReferenceHopitalRepository $referenceHopitalRepo,
  81.         private ReferenceRepository $referenceRepo,
  82.         private SessioneppRepository $sessioneppRepo,
  83.         private SessioneppUrlRepository $sessioneppUrlRepo,
  84.         private SpecialiteRepository $specialiteRepo,
  85.         private SpectreRepository $spectreRepo,
  86.         private TicketPatientRepository $ticketPatientRepo,
  87.         private TypeInformationRepository $typeInformationRepo,
  88.         private UtilisateurRepository $utilisateurRepo,
  89.         private VersionRepository $versionRepo,
  90.         private ContentHandler $contentHandler,
  91.         private TranslatorInterface $translator
  92.     ){}
  93.     public function index(Request $request)
  94.     {
  95.         $session $request->getSession();
  96.         $returned parent::suppression_parametres_get($request);
  97.         if ($returned != null
  98.         {
  99.             return $returned;
  100.         }
  101.         return $this->render('Actualites/index.html.twig', array());
  102.     }
  103.     public function load_actualites_block($pageRequest $request)
  104.     {
  105.         if ($request->isXmlHttpRequest())
  106.         {
  107.             //$request = $this->get('request_stack');
  108.             $em $this->getDoctrine()->getManager();
  109.             $session $request->getSession();
  110.             $client_id_adada $session->get('client_id_adada');
  111.             $onlyContent = ($page 0) ? true false ;
  112.             $actualites $this->actualiteRepo->findFirstActualitesWithNombreActualite($page,$client_id_adada);
  113.             // dump($session->get('client_id_adada'));
  114.             // dump($page);
  115.             // dump($client_id_adada);
  116.             //dd($actualites);
  117.             $content =  $this->render('Actualites/actualites-block.html.twig', array(
  118.                 'actualites' => $actualites,
  119.                 'onlyContent' => $onlyContent
  120.             ));
  121.             return new JsonResponse( array ( 
  122.                 'content' => $content->getContent(),
  123.                 'responseCode' => 0,
  124.                 'contentFinish' => (count($actualites) == 0) ? true false
  125.             ));
  126.         } else throw $this->createNotFoundException();
  127.     }
  128.     public function load_infos_block(Request $request)
  129.     {
  130.         if ($request->isXmlHttpRequest())
  131.         {
  132.             ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0)');
  133.             $feed file_get_contents($this->getParameter('url_info_atbvac')."feed");
  134.             $infoatbvac simplexml_load_string($feed);
  135.             $content =  $this->render('Actualites/infoatbvac-block.html.twig', array('infoatbvac' => $infoatbvac->channel));
  136.             return new JsonResponse( array ( 
  137.                 'responseCode' => 0,
  138.                 'content' => $content->getContent()
  139.             ));
  140.         } else throw $this->createNotFoundException();
  141.     }
  142.     public function detail(StatistiquesService $statistiquesServiceint $idRequest $request)
  143.     {
  144.         $returned parent::suppression_parametres_get($request);
  145.         if ($returned != null
  146.         {
  147.             return $returned;
  148.         }
  149.         
  150.         // $request = $this->get('request_stack');
  151.         $em $this->getDoctrine()->getManager();
  152.         $session $request->getSession();
  153.         $client_id_adada $session->get('client_id_adada');
  154.         $actualite $this->actualiteRepo->findActualiteWithIdActualite($id,$client_id_adada);
  155.         if ($actualite == null
  156.         {
  157.            return $this->redirect($this->get('router')->generate('actualites_home'));
  158.         }
  159.         
  160.         $path $request->getUri();
  161.         $libelle_page $this->contentHandler->full_title_with_url($path,null,null,null$request);
  162.         $statistiquesService->addStatistique($id,$path,$libelle_page);
  163.         return $this->render('Actualites/actualite-detail.html.twig', array('actualite' => $actualite));
  164.     }
  165.     /**
  166.      * Require ROLE_REFERENT only for this action
  167.      * 
  168.      * @IsGranted("ROLE_REFERENT")
  169.      */
  170.     public function edit(Request $request$id$submit false)
  171.     {
  172.         $errors = array();
  173.         $em $this->getDoctrine()->getManager();
  174.         $session $request->getSession();
  175.         $client_id_adada $session->get('client_id_adada');
  176.         if ($id 0)
  177.             $actualite $this->actualiteRepo->findActualiteWithIdActualite($id,$client_id_adada);
  178.         else
  179.             $actualite = new Actualite();
  180.         $message '';
  181.         if ($submit)
  182.         {
  183.             $actualite->setTitreActualite(trim($request->request->get('titreActualite')));
  184.             $actualite->setTexteActualite(trim($request->request->get('texteActualite')));
  185.             if ($actualite->getDateActualite() == null)
  186.                 $actualite->setDateActualite(new \DateTime('now'));
  187.             if ( $actualite->getTitreActualite() == '')
  188.                 $errors['titreActualite'] = $this->translator->trans("actualites_titre_obligatoire");
  189.             else if (strlen($actualite->getTitreActualite()) > 255)
  190.                 $errors['titreActualite'] = $this->translator->trans("actualites_titre_max255");
  191.             if ($actualite->getTexteActualite() == '')
  192.                 $errors['texteActualite'] = $this->translator->trans("actualites_texte_obligatoire");
  193.             if (count($errors) == 0)
  194.             {
  195.                 $session $request->getSession();
  196.                 $client_id_adada $session->get('client_id_adada');
  197.                 $actualite->setClientIdAdada($client_id_adada);
  198.                 if ($actualite->getIdActualite() == null)
  199.                 {
  200.                     $actualite->setAuteurActualite($session->get('nom_auteur_utilisateur'));
  201.                     $em->persist($actualite);
  202.                 }
  203.                 $em->flush();            
  204.                 $message $this->translator->trans("actualites_modifications_ok");
  205.             }
  206.         }
  207.         return $this->render('Actualites/form.html.twig', array('actualite' => $actualite'errors' => $errors'message' => $message));
  208.     }
  209.     /**
  210.      * Require ROLE_REFERENT only for this action
  211.      * 
  212.      * @IsGranted("ROLE_REFERENT")
  213.      */
  214.     public function delete($idRequest $request)
  215.     {
  216.         $em $this->getDoctrine()->getManager();
  217.         $session $request->getSession();
  218.         $client_id_adada $session->get('client_id_adada');
  219.         $actualite $this->actualiteRepo->findActualiteWithIdActualite($id,$client_id_adada);
  220.         if ($actualite != null)
  221.         {            
  222.             $em->remove($actualite);
  223.             $em->flush();
  224.         }
  225.         return new JsonResponse( array ( 
  226.             'responseCode' => 0,
  227.             'content' => ''
  228.         ));
  229.     }
  230.     /**
  231.      * Require ROLE_REFERENT only for this action
  232.      * 
  233.      * @IsGranted("ROLE_REFERENT")
  234.      */
  235.     public function add(Request $request)
  236.     {
  237.         return $this->edit($request0false);
  238.     }
  239.     /**
  240.      * Require ROLE_REFERENT only for this action
  241.      * 
  242.      * @IsGranted("ROLE_REFERENT")
  243.      */
  244.     public function form($idRequest $request)
  245.     { 
  246.         return $this->edit($request$idtrue);
  247.     }
  248. }