src/Repository/Users/User/UserRepository.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Repository\Users\User;
  3. use Doctrine\ORM\EntityRepository;
  4. use Doctrine\ORM\Tools\Pagination\Paginator;
  5. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. use App\Entity\Users\User\User;
  8. /**
  9.  * UserRepository
  10.  *
  11.  * This class was generated by the Doctrine ORM. Add your own custom
  12.  * repository methods below.
  13.  */
  14. class UserRepository extends ServiceEntityRepository
  15. {
  16. public function __construct(ManagerRegistry $registry)
  17. {
  18.     parent::__construct($registryUser::class);
  19. }
  20. public function findUserNotIn($liste)// cette fonction n'est pas encore utilisée
  21. {
  22.     $query $this->createQueryBuilder('u')
  23.                   ->leftJoin('u.imgprofil','ip')
  24.                   ->leftJoin('u.imgcouverture','ic')
  25.                   ->addSelect('ip')
  26.                   ->addSelect('ic')
  27.                   ->where('u.id NOT(IN (:liste))')
  28.                   ->setParameter('liste'$liste)
  29.                   ->orderBy('u.dernierevisite','DESC')
  30.                   ->getQuery();
  31.     return $query->getResult();
  32. }
  33. public function suggestionuservisit()
  34. {
  35.     $query $this->createQueryBuilder('u')
  36.                   ->leftJoin('u.imgprofil','ip')
  37.                   ->leftJoin('u.imgcouverture','ic')
  38.                   ->addSelect('ip')
  39.                   ->addSelect('ic')
  40.                   ->orderBy('u.dernierevisite','DESC')
  41.                   ->setMaxResults(4000)
  42.                   ->getQuery();
  43.     return $query->getResult();
  44. }
  45. public function findLastUser($donnee,$taille)
  46. {
  47.     $query $this->createQueryBuilder('u')
  48.                   ->where('u.nom LIKE :n')
  49.                   ->orWhere('u.prenom LIKE :n')
  50.                   ->orWhere('u.username LIKE :n')
  51.                   ->orWhere('u.tel LIKE :n')
  52.                   ->orWhere('u.tcode LIKE :n')
  53.                   ->setParameter('n','%'.$donnee.'%')
  54.                   ->orderBy('u.nom''ASC')
  55.                   ->setMaxResults($taille)
  56.                   ->getQuery();
  57. return $query->getResult();
  58. }
  59. public function searchinguserpage($donnee,$page,$nombreParPage)
  60. {
  61.     // On déplace la vérification du numéro de page dans cette méthode
  62.     if ($page 1){
  63.     throw new \InvalidArgumentException('Page inexistant');
  64.     }
  65.     $query $this->createQueryBuilder('u')
  66.                   ->where('CONCAT(CONCAT(u.nom, \' \'),u.prenom) LIKE :n')
  67.                   ->setParameter('n','%'.$donnee.'%')
  68.                   ->orderBy('u.nom''ASC')
  69.                   ->getQuery();
  70.     // On définit l'établissemnt à partir duquel commencer la liste
  71.     $query->setFirstResult(($page-1) * $nombreParPage)
  72.     // Ainsi que le nombre d'établissement à afficher
  73.           ->setMaxResults($nombreParPage);
  74.     // Enfin, on retourne l'objet Paginator correspondant à la requête construite
  75. return new Paginator($query);
  76. }
  77. public function listeUserImport($page,$nombreParPage)
  78. {
  79.     $query$this->createQueryBuilder('u')
  80.                   ->leftJoin('u.imgprofil''i')
  81.                   ->leftJoin('u.pays''p')
  82.                   ->addselect('i')
  83.                   ->addselect('p')
  84.                   ->orderBy('u.dateinscription''ASC')
  85.                   ->getQuery();
  86.     // On définit l'établissemnt à partir duquel commencer la liste
  87.     $query->setFirstResult(($page-1) * $nombreParPage)
  88.     // Ainsi que le nombre d'établissement à afficher
  89.           ->setMaxResults($nombreParPage);
  90.     // Enfin, on retourne l'objet Paginator correspondant à la requête construite
  91. return new Paginator($query);
  92. }
  93. public function findManager()
  94. {
  95.     $query $this->createQueryBuilder('u')
  96.                   ->where('u.roles LIKE :a OR u.roles LIKE :g OR u.roles LIKE :m OR u.roles LIKE :c OR u.roles LIKE :ca OR u.roles LIKE :ma OR u.roles LIKE :co')
  97.                   ->setParameter('a','%ROLE_ADMIN%')
  98.                   ->setParameter('g','%ROLE_GESTION%')
  99.                   ->setParameter('m','%ROLE_ADMIN_MPLACE%')
  100.                   ->setParameter('c','%ROLE_COMMERCIAL_MPLACE%')
  101.                   ->setParameter('ca','%ROLE_CAISSE_MPLACE%')
  102.                   ->setParameter('ma','%ROLE_MAGASIN_MPLACE%')
  103.                   ->setParameter('co','%ROLE_COMPTABLE_MPLACE%')
  104.                   ->orderBy('u.nom''ASC')
  105.                   ->getQuery();
  106. return $query->getResult();
  107. }
  108. }