src/Controller/UsersController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\Routing\Annotation\Route;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\RedirectResponse;
  10. use App\Services\UserManager;
  11. class UsersController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/se-connecter", name="login")
  15.     */
  16.     public function loginAction(Request $requestAuthenticationUtils $authUtils)
  17.     {
  18.         // get the login error if there is one
  19.         $error $authUtils->getLastAuthenticationError();
  20.         // last username entered by the user
  21.         $lastUsername $authUtils->getLastUsername();
  22.         return $this->render('login.html', array(
  23.             'last_username' => $lastUsername,
  24.             'error'         => $error
  25.         ));
  26.     }
  27.     /**
  28.      * @Route("/deconnexion", name="logout")
  29.     */
  30.     public function logoutAction()
  31.     {
  32.         throw new \Exception('Erreur déconnection');
  33.     }
  34.     /**
  35.      * @Route("/users", name="liste-users", options = { "expose" = true })
  36.      */
  37.     public function listeAction(Request $request)
  38.     {
  39.         $Users $this->getDoctrine()
  40.                       ->getRepository(\App\Entity\Users::class)
  41.                       ->findUserByCriteres(['page' => 1
  42.                                             'nbruserpage' => 100,
  43.                                             'search' => $request->query->get('search'),
  44.                                             'statut' => $request->query->get('statut')
  45.                                            ], 
  46.                                            ['user.userValide'=>'DESC'
  47.                                             'user.userNom' => 'ASC'
  48.                                             'user.userPrenom' => 'ASC'
  49.                                             ]);
  50.         $nbr $this->getDoctrine()
  51.                       ->getRepository(\App\Entity\Users::class)
  52.                       ->findNombreUser(['search' => $request->query->get('search'),
  53.                                         'statut' => $request->query->get('statut')], 
  54.                                         ['user.userValide'=>'DESC''user.userNom' => 'ASC''user.userPrenom' => 'ASC']); 
  55.         
  56.         if($request->query->get('statut') == ''){
  57.             $statut 'all';
  58.         }else{
  59.             $statut $request->query->get('statut');
  60.         }
  61.         return $this->render('users/liste.html', [
  62.             'users' => $Users,
  63.             'pagination' => $nbr,
  64.             'search' => $request->query->get('search'),
  65.             'statut' => $statut
  66.         ]);
  67.     }
  68.     /**
  69.      * @Route("/users/abus", name="liste-abus-users", options = { "expose" = true })
  70.      */
  71.     public function listeAbusUsersAction(Request $request)
  72.     {
  73.         $abusUsers $this->getDoctrine()
  74.                       ->getRepository(\App\Entity\UserAbus::class)
  75.                       ->findUsersAbusByCriteres(['page' => ($request->query->get('page') ? $request->query->get('page') : 1), 
  76.                                             'nbruserpage' => 100
  77.                                             'search' => $request->query->get('search'),
  78.                                             'statut' => $request->query->get('statut')
  79.                                            ]);
  80.                                            $nbr $this->getDoctrine()
  81.                                            ->getRepository(\App\Entity\UserAbus::class)
  82.                                            ->findNombreUsersAbus(['search' => $request->query->get('search'),
  83.                                                              'statut' => $request->query->get('statut')]); 
  84.         
  85.                                                             
  86.         if($request->query->get('statut') == ''){
  87.             $statut 'all';
  88.         }else{
  89.             $statut $request->query->get('statut');
  90.         }
  91.         if( $request->isXmlHttpRequest()){
  92.             return $this->render('users/interieur-tab-liste-abus.html', [
  93.                 'abusUsers' => $abusUsers,
  94.                 'search' => $request->query->get('search'),
  95.                 'pagination' => $nbr,
  96.                 'statut' => $statut,
  97.                 'pageActuel'=>$request->query->get('page')
  98.             ]);
  99.         }else{
  100.             
  101.             return $this->render('users/liste-abus.html', [
  102.                 'abusUsers' => $abusUsers,
  103.                 'search' => $request->query->get('search'),
  104.                 'pagination' => $nbr,
  105.                 'statut' => $statut,
  106.                 //'pageActuel'=>$request->query->get('page')
  107.             ]);
  108.         }           
  109.     }
  110.     /**
  111.      * @Route("/load-users", options = { "expose" = true }, name="load-users")
  112.     */
  113.     public function loadUsersAction(Request $request){
  114.         $Users $this->getDoctrine()
  115.                       ->getRepository(\App\Entity\Users::class)
  116.                       ->findUserByCriteres(['search' => $request->query->get('search'),
  117.                       'statut' => $request->query->get('statut'),
  118.                       'page' => $request->query->get('page')],
  119.                        ['user.userValide'=>'DESC'
  120.                        'user.userNom' => 'ASC',
  121.                         'user.userPrenom' => 'ASC']);
  122.         
  123.         $nbr $this->getDoctrine()
  124.                       ->getRepository(\App\Entity\Users::class)
  125.                       ->findNombreUser(['search' => $request->query->get('search'),
  126.                                         'statut' => $request->query->get('statut')], 
  127.                                         ['user.userValide'=>'DESC''user.userNom' => 'ASC''user.userPrenom' => 'ASC']);
  128.         return $this->render('users/interieur-tab-liste.html', array(
  129.             'users' => $Users,
  130.             'pagination' => $nbr,
  131.             'pageActuel'=>$request->query->get('page')
  132.         ));
  133.     }
  134.     /**
  135.      * @Route("/users/{id}", name="fiche-users")
  136.      */
  137.     public function ficheAction($id)
  138.     {
  139.         $user $this->getDoctrine()
  140.                      ->getRepository(\App\Entity\Users::class)
  141.                      ->find($id);
  142.         return $this->render('users/fiche.html', [
  143.             'user' => $user,
  144.         ]);
  145.     }
  146.      /**
  147.      * @Route("/change-statut/{id}", options = { "expose" = true }, name="change-statut")
  148.      */
  149.     public function changeStatutAction(Request $request,$idUserManager $userManager)
  150.     {
  151.         $userManager->changeStatutUser($id$request->query->get('statut'),$request->request->get('msg'));
  152.                       
  153.         return new JsonResponse(true);
  154.     }
  155.     /**
  156.      * @Route("/users/abus/{id}", name="fiche-users-abus", options = { "expose" = true })
  157.      */
  158.     public function ficheAbusAction(Request $request$idUserManager $userManager)
  159.     {
  160.         $abusUsers $this->getDoctrine()
  161.                       ->getRepository(\App\Entity\UserAbus::class)
  162.                       ->find($id);
  163.         if($request->isXmlHttpRequest()){
  164.             return $this->render('users/partial/fiche-abus-message.html', [
  165.                 'echanges' => $userManager->messagesCoupable($request->query->get('idVictime'),$abusUsers->getUserAbusCoupable()->getId()),
  166.             ]);
  167.         }else{ 
  168.             return $this->render('users/fiche-abus.html', [
  169.                 'abusUsers' => $abusUsers,
  170.                 'echanges' => $userManager->messagesCoupable($abusUsers->getUserAbusVictime()->getId(),$abusUsers->getUserAbusCoupable()->getId()),
  171.                 'personnes' => $userManager->listePersonnesContact($abusUsers->getUserAbusCoupable())
  172.             ]);
  173.         }
  174.     }
  175.     
  176.         /**
  177.      * @Route("/suppressionAbusByAdmin/{id}", options = { "expose" = true }, name="suppression-abus")
  178.      */
  179.     public function suppressionAbusByAdminAction(UserManager $UserManager,$idRequest $request){
  180.         
  181.         return new JsonResponse($UserManager->suppressionAbus($id));
  182.     }
  183. }