src/Controller/MembreController.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Membre;
  4. use App\Form\MembreType;
  5. use App\Service\FileUploader;
  6. use App\Repository\MenuRepository;
  7. use App\Repository\SousmenuRepository;
  8. use App\Repository\MembreRepository;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\Validator\Validator\ValidatorInterface;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. class MembreController extends AbstractController
  16. {   
  17.     private $em;
  18.     public function __construct(EntityManagerInterface $em)
  19.     {
  20.         $this->em $em;
  21.     }
  22.     
  23.     #[Route('/admin/membre'name'app_membre_index'methods: ['GET','POST'])]
  24.     public function index(MembreRepository $membreRepository,MenuRepository $menuRepository): Response
  25.     {
  26.         return $this->render('membre/index.html.twig', [
  27.             'membres' => $membreRepository->findAll(),
  28.             'menus' => $menuRepository->findAll(),
  29.         ]);
  30.     }
  31.     #[Route('/{id}/desactive-status'name'app_membre_desactive_status'methods: ['GET','POST'])]
  32.     public function desactiveStatus(Membre $membreRequest $request)
  33.     {
  34.         
  35.         $membre->setStatut(false);
  36.         $this->em->persist($membre);
  37.         $this->em->flush();
  38.         return $this->redirectToRoute('app_membre_index', [], Response::HTTP_SEE_OTHER);
  39.     }
  40.     #[Route('/{id}/active-status'name'app_membre_active_status'methods: ['GET','POST'])]
  41.     public function activeStatus(Membre $membreRequest $request)
  42.     {
  43.        
  44.        
  45.         $membre->setStatut(true);
  46.         $this->em->persist($membre);
  47.         $this->em->flush();
  48.         return $this->redirectToRoute('app_membre_index', [], Response::HTTP_SEE_OTHER);
  49.     }
  50.     #[Route('/admin/new'name'app_membre_new'methods: ['GET''POST'])]
  51.     public function new(FileUploader $fileUploaderValidatorInterface $validatorRequest $requestSousmenuRepository $sousmenuRepositoryMenuRepository $menuRepository): Response
  52.     {
  53.         $submit $request->request->get('submit');
  54.         $errors null;
  55.         if ($submit) {
  56.             $menu = new Membre();
  57.             $menu->setSousmenu($sousmenuRepository->find($request->request->get('menu')));
  58.             $menu->setNom($request->request->get('libelle'));
  59.             // $menu->setPath($request->request->get('path'));
  60.             $menu->setPoste($request->request->get('poste'));
  61.             $menu->setStatut($request->request->get('statut'));
  62.             $tab  null;
  63.             if ($request->files->get('file')) {
  64.                 foreach ($request->files->get('file') as  $value) {
  65.                     $FileName $fileUploader->upload($value);
  66.                     $tab[] = $FileName;
  67.                 }
  68.                 $menu->setImage($tab);
  69.             }
  70.             
  71.             $errors $validator->validate($menu);
  72.             if (count($errors) > 0) {  
  73.                 $errorsString = (string) $errors;
  74.             }else {
  75.                 $this->em->persist($menu);
  76.                 $this->em->flush();
  77.                 return $this->redirectToRoute('app_membre_index', [], Response::HTTP_SEE_OTHER);
  78.             }
  79.         }
  80.         return $this->renderForm('membre/new.html.twig', [
  81.             'menus' => $menuRepository->findAll(),
  82.             'sousmenus' => $sousmenuRepository->findAll(),
  83.             'errors' => $errors,
  84.         ]);
  85.     }
  86.     
  87.     #[Route('/admin/membre/edit/{id}/'name'app_membre_edit'methods: ['GET''POST'])]
  88.     public function edit(FileUploader $fileUploaderValidatorInterface $validatorRequest $requestMembre $membreSousmenuRepository $sousmenuRepository,
  89.      MenuRepository $menuRepository): Response
  90.     {
  91.         $submit $request->request->get('submit');
  92.         /*  $oldphoto = $sousmenu2->getImage();
  93.         $oldvideo = $sousmenu2->getVideo(); */
  94.         $errors null;
  95.         if ($submit) {
  96.             $membre->setSousmenu($sousmenuRepository->find($request->request->get('menu')));
  97.             $membre->setNom($request->request->get('libelle'));
  98.            
  99.             $membre->setPoste($request->request->get('poste'));
  100.             $menu->setStatut($request->request->get('statut'));
  101.             $errors $validator->validate($membre);
  102.             $tab  null;
  103.             if ($request->files->get('file')) {
  104.                 // $FileName = $fileUploader->upload($request->files->get('file'));
  105.                 foreach ($request->files->get('file') as  $value) {
  106.                     $FileName $fileUploader->upload($value);
  107.                     $tab[] = $FileName;
  108.                 }
  109.                 $membre->setImage($tab);
  110.             } /* else {
  111.                 if ($oldphoto) {
  112.                     foreach ($oldphoto as  $value) {
  113.                     $tab[] = $value;
  114.                 }
  115.                  $sousmenu2->setImage($tab);
  116.                 }
  117.             } */
  118.            /* else {
  119.                 if ($oldvideo) {
  120.                     foreach ($oldvideo as  $value) {
  121.                     $tabvid[] = $value;
  122.                 }
  123.                  $sousmenu2->setVideo($tabvid);
  124.                 }
  125.             } */
  126.             if (count($errors) > 0) {  
  127.                 $errorsString = (string) $errors;
  128.             }else {
  129.                 $this->em->persist($membre);
  130.                 $this->em->flush();
  131.                 return $this->redirectToRoute('app_membre_index', [], Response::HTTP_SEE_OTHER);
  132.             }
  133.         }
  134.         return $this->renderForm('membre/edit.html.twig', [
  135.             'idsousMenu' => $membre->getSousmenu()->getId(),
  136.             'idMembre'=> $membre->getId(),
  137.             'membre' => $membre,
  138.             'sousmenus' => $sousmenuRepository->findAll(),
  139.             'menus' => $menuRepository->findAll(),
  140.             'errors' => $errors,
  141.         ]);
  142.     }
  143.    /*  #[Route('/{id}', name: 'app_sousmenu2_delete', methods: ['POST'])]
  144.     public function delete(Request $request, Sousmenu2 $sousmenu2, Sousmenu2Repository $sousmenu2Repository): Response
  145.     {
  146.         if ($this->isCsrfTokenValid('delete'.$sousmenu2->getId(), $request->request->get('_token'))) {
  147.             $sousmenu2Repository->remove($sousmenu2, true);
  148.         }
  149.         return $this->redirectToRoute('app_sousmenu2_index', [], Response::HTTP_SEE_OTHER);
  150.     } */
  151.     #[Route('/admin/membre/supprimer/{id}'name'app_membre_delete'methods: ['POST'])]
  152.     public function delete(Request $requestMembre $membreMenuRepository $menuRepository): Response
  153.     {   
  154.         //dd( $menu);
  155.         if ($this->isCsrfTokenValid('delete'.$membre->getId(), $request->request->get('_token'))) {
  156.             $this->em->remove($membre);
  157.             $this->em->flush();
  158.         }
  159.         return $this->redirectToRoute('app_membre_index', [], Response::HTTP_SEE_OTHER);
  160.     }
  161. }