DateTimeConstraintExtension.php 757 B

12345678910111213141516171819202122232425
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Doctrine\Access\Extensions;
  4. use App\Doctrine\Access\AccessExtensionInterface;
  5. use Doctrine\ORM\QueryBuilder;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. class DateTimeConstraintExtension implements AccessExtensionInterface {
  8. public function __construct(
  9. private RequestStack $requestStack
  10. ){
  11. }
  12. public function support(string $name): bool
  13. {
  14. return $this->requestStack->getMainRequest()->get('_time_constraint', true) == true;
  15. }
  16. public function addWhere(QueryBuilder $queryBuilder)
  17. {
  18. $rootAlias = $queryBuilder->getRootAliases()[0];
  19. $queryBuilder->innerJoin(sprintf('%s.organizationFunction', $rootAlias), 'organization_function');
  20. }
  21. }