|
|
@@ -22,47 +22,63 @@ class UserRepositoryQuery extends AbstractRepositoryQuery implements UserReposit |
|
|
|
$this->isJoinGroupUsers = true; |
|
|
|
|
|
|
|
$this->leftJoin('.groupUsers', 'groupUsers'); |
|
|
|
if($addSelect){ |
|
|
|
if ($addSelect) { |
|
|
|
$this->addSelect('groupUsers'); |
|
|
|
} |
|
|
|
} |
|
|
|
return $this; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function filterByNewsletter(Newsletter $newsletter): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere(':newsletter MEMBER OF .newsletters') |
|
|
|
->setParameter('newsletter', $newsletter->getId()); |
|
|
|
->andWhere(':newsletter MEMBER OF .newsletters') |
|
|
|
->setParameter('newsletter', $newsletter->getId()); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterByRole(string $role): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.roles LIKE :roles') |
|
|
|
->setParameter('roles', '%"' . $role . '"%'); |
|
|
|
->andWhere('.roles LIKE :roles') |
|
|
|
->setParameter('roles', '%"' . $role . '"%'); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterByTicketTypeNotification(string $ticketType): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.ticketTypesNotification LIKE :ticketType') |
|
|
|
->setParameter('ticketType', '%"' . $ticketType . '"%'); |
|
|
|
->andWhere('.ticketTypesNotification LIKE :ticketType') |
|
|
|
->setParameter('ticketType', '%"' . $ticketType . '"%'); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterByEmail(string $email): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.email LIKE :email') |
|
|
|
->setParameter('email', $email); |
|
|
|
->andWhere('.email LIKE :email') |
|
|
|
->setParameter('email', $email); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterByTerm(string $term): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.email LIKE :term OR .firstname LIKE :term OR .lastname LIKE :term') |
|
|
|
->setParameter('term', '%'.$term.'%'); |
|
|
|
->setParameter('term', '%' . $term . '%'); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterWithoutAnyNewsletter(): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.newsletters IS EMPTY'); |
|
|
|
} |
|
|
|
|
|
|
|
public function filterWithoutAnyOrderShop(): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.orderShops IS EMPTY'); |
|
|
|
} |
|
|
|
public function filterNeverLogin(): self |
|
|
|
{ |
|
|
|
return $this |
|
|
|
->andWhere('.lastLogin is null'); |
|
|
|
} |
|
|
|
|
|
|
|
} |