示例#1
2
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     if ($context === 'list') {
         $alias = current($query->getDQLPart('from'))->getAlias();
         $query->andWhere($alias . '.parent IS NULL');
     }
     return $query;
 }
示例#2
1
 public function createQuery($context = 'list')
 {
     /** @var ProxyQuery|QueryBuilder $query */
     $query = parent::createQuery($context);
     if ($context == 'list') {
         $parameters = $this->getFilterParameters();
         $domainValue = isset($parameters['domain']) ? $parameters['domain'] : false;
         list($tableAlias) = $query->getQueryBuilder()->getRootAliases();
         if ($domainValue) {
             $query->where($tableAlias . '.domain = :domain')->setParameter('domain', $domainValue);
         }
         $emptyLocale = !empty($parameters['emptyLocale']['value']) ? $parameters['emptyLocale']['value'] : false;
         if ($emptyLocale) {
             $query->andWhere($tableAlias . '.translations NOT LIKE :emptyLocale')->setParameter('emptyLocale', '%s:2:"' . $emptyLocale . '"%');
         }
         $location = !empty($parameters['location']['value']) ? $parameters['location']['value'] : false;
         if ($location) {
             if ($location == self::FILTER_LOCATION_FRONTEND) {
                 $query->andWhere($tableAlias . '.source NOT LIKE :excludeAdmin')->setParameter('excludeAdmin', '%admin\\.%');
             } elseif ($location == self::FILTER_LOCATION_BACKEND) {
                 $query->andWhere($tableAlias . '.source LIKE :excludeAdmin')->setParameter('excludeAdmin', '%admin\\.%');
             }
         }
     }
     return $query;
 }
 public function createQuery($context = 'list')
 {
     /** @var FcRequestQuery $query */
     $query = parent::createQuery($context);
     $query->filterByFcForm($this->getFcForm());
     return $query;
 }
示例#4
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->andWhere($query->expr()->eq($query->getRootAliases()[0] . '.customer', ':my_param'));
     $query->setParameter('my_param', true);
     return $query;
 }
示例#5
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->andWhere($query->expr()->eq($query->getRootAliases()[0] . '.deleteFlag', ':not_delete'));
     $query->setParameter('not_delete', 0);
     return $query;
 }
示例#6
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->andWhere($query->expr()->eq($query->getRootAliases()[0] . '.type', ':type'));
     $query->setParameter(':type', Department::BRANCH);
     return $query;
 }
 /**
  * {@inheritdoc}
  */
 public function createQuery($context = 'list')
 {
     /** @var PublicationQuery $query */
     $query = parent::createQuery($context);
     $query->filterByPublicationType($this->getPublicationType());
     return $query;
 }
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->leftJoin('o.translations', 't');
     $query->addSelect('t');
     return $query;
 }
 /**
  * {@inheritDoc}
  */
 public function createQuery($context = 'list')
 {
     /** @var QueryBuilder $query */
     $query = parent::createQuery($context);
     $alias = $query->getRootAliases()[0];
     $query->orderBy($alias . '.isPublished', 'ASC')->addOrderBy($alias . '.publishedAt', 'DESC');
     return $query;
 }
 /**
  * @param   string $context
  *
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->andWhere($query->expr()->eq($query->getRootAlias() . '.site', ':my_param'));
     $query->addOrderBy($query->getRootAlias() . '.root', 'ASC');
     $query->addOrderBy($query->getRootAlias() . '.lft', 'ASC');
     $query->setParameter('my_param', $this->getCurrentSite());
     return $query;
 }
示例#11
0
 /**
  * Cambiar la forma en que muestra el listado de acciones de sala,
  * si es un usuario normal solo le muestra las acciones que ha ingresado
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $usuario = $this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser();
     if ($usuario->hasRole('ROLE_SUPER_ADMIN')) {
         return new ProxyQuery($query->where('1=1'));
     } else {
         return new ProxyQuery($query->where($query->getRootAlias() . '.usuario = ' . $usuario->getId()));
     }
 }
 /**
  * @param string $context
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     /** @var $query \Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery */
     $query = parent::createQuery($context);
     /** @var $builder \Doctrine\ORM\QueryBuilder */
     $builder = $query->getQueryBuilder();
     $builder->andWhere($builder->getRootAlias() . '.client=:client')->setParameter(':client', $this->getClient());
     //var_dump($query->__toString(), $this->getClient()->getId());
     return $query;
 }
示例#13
0
 /**
  * @param string $context
  * @return QueryBuilder
  */
 public function createQuery($context = 'list')
 {
     /** @var QueryBuilder $queryBuilder */
     $queryBuilder = parent::createQuery($context);
     $whiteList = $this->getWhiteList();
     if (!$this->getUser()->getShowHidden() && !empty($whiteList)) {
         $queryBuilder->andWhere($queryBuilder->expr()->in('o.username', $whiteList));
     }
     return $queryBuilder;
 }
示例#14
0
 public function createQuery($context = 'list')
 {
     $qb = parent::createQuery($context);
     $this->fecha = new \DateTime("now");
     $current_context = $this->getCurrentContext();
     if ('vencidos' == $current_context) {
         # Creo subquery para saber todos los horaios vencidos
         $alias = $qb->getRootAlias();
         $qb->andWhere($alias . '.fechaHasta < :fecha')->setParameter('fecha', $this->fecha);
     }
     return $qb;
 }
 public function createQuery($context = 'list')
 {
     $query = $this->getModelManager()->createQuery('AppBundle\\Entity\\Department');
     $query->andWhere($query->expr()->eq($query->getRootAliases()[0] . '.type', ':type'));
     $query->setParameter(':type', $this->getDepartmentType());
     $departments = $query->execute();
     $query = parent::createQuery($context);
     $query->andWhere($query->expr()->eq($query->getRootAliases()[0] . '.department', ':department'));
     $query->setParameter(':department', $departments[0]);
     for ($i = 1; $i < count($departments); $i++) {
         $query->orWhere($query->expr()->eq($query->getRootAliases()[0] . '.department', ':department' . $i));
         $query->setParameter(':department' . $i, $departments[$i]);
     }
     return $query;
 }
 /**
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     return new ProxyQuery($query->where($query->getRootAlias() . ".activo=TRUE"));
 }
示例#17
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery();
     $query->addOrderBy($query->getRootAlias() . ".city", "ASC");
     return $query;
 }
示例#18
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     // this is the queryproxy, you can call anything you could call on the doctrine orm QueryBuilder
     $query->addOrderBy($query->getRootAlias() . '.lft', 'ASC');
     return $query;
 }
 public function createQuery($context = 'list')
 {
     /** @var $query \Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery */
     $query = parent::createQuery($context);
     /** @var $builder \Doctrine\ORM\QueryBuilder */
     $builder = $query->getQueryBuilder();
     if (!$this->_show_all_operations) {
         $form_month = $this->year . '-' . $this->month . '-01';
         $to_month = $this->year . '-' . $this->month . '-31';
         $monthField = 'mois';
         if ($this->query_month == -1) {
             $builder->orWhere($builder->getRootAlias() . '.' . $monthField . ' IS NULL');
             $builder->orWhere($builder->getRootAlias() . '.' . $monthField . ' BETWEEN :form_month AND :to_month');
         } else {
             $builder->andWhere($builder->getRootAlias() . '.' . $monthField . ' BETWEEN :form_month AND :to_month');
         }
         $builder->setParameter(':form_month', $form_month);
         $builder->setParameter(':to_month', $to_month);
     }
     $builder->andWhere($builder->getRootAlias() . '.client_id=' . $this->client_id);
     //var_dump($query->__toString());
     return $query;
 }
示例#20
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     return new ProxyQuery($query->leftjoin("AppBundle\\Entity\\DestinationTranslation", "dt", "WITH", "o.id=dt.translatable_id AND dt.locale='en'")->orderBy("dt.name", "ASC"));
 }
示例#21
0
 /**
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $user = $this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser();
     if ($user->hasRole('ROLE_SUPER_ADMIN')) {
         // Permite ver todas las factoras solo al administrador del sistema
         $query = parent::createQuery($context);
         return new ProxyQuery($query->where($query->getRootAlias() . ".activo = TRUE"));
     } else {
         // permite ver las facturas del día a otro usuario no administrador
         $query = parent::createQuery($context);
         return new ProxyQuery($query->where($query->getRootAlias() . ".dateAdd = 'now()'"));
     }
 }
示例#22
0
 /**
  * Création de la requête pour éviter d'en exécuter de trop.
  *
  * @param string $context
  *
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     if ('list' != $context) {
         return parent::createQuery($context);
     }
     $query = parent::createQuery($context);
     $query->select('o', 'u', 'v', 'v2')->innerJoin('o.owner', 'u')->leftJoin('o.validation', 'v')->leftJoin('v.validator', 'v2');
     return $query;
 }
示例#23
0
 /**
  * Création de la requête pour éviter d'en exécuter de trop.
  *
  * @param string $context
  *
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     if ('list' != $context) {
         return parent::createQuery($context);
     }
     $query = parent::createQuery($context);
     $query->select('o', 'u', 's', 'a')->innerJoin('o.user', 'u')->innerJoin('o.site', 's')->innerJoin('o.annuaire ', 'a');
     return $query;
 }
示例#24
0
 /**
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $usuario = $this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser();
     if ($usuario->hasRole('ROLE_SUPER_ADMIN')) {
         return new ProxyQuery($query->where('1=1'));
     } else {
         $ind = $usuario->getIndicadores();
         $indicadores = array();
         foreach ($ind as $f) {
             $indicadores[] = $f->getId();
         }
         return new ProxyQuery($query->where($query->getRootAlias() . '.id IN (' . implode(", ", $indicadores) . ')'));
     }
 }
示例#25
0
 /**
  * @return \Sonata\AdminBundle\Datagrid\ProxyQueryInterface
  */
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     return new ProxyQuery($query->where($query->expr()->isNotNull($query->getRootAlias() . '.formula')));
 }
示例#26
0
 public function createQuery($context = 'list')
 {
     /** @var $query \Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery */
     $query = parent::createQuery($context);
     if ($context == 'list') {
         /** @var $builder \Doctrine\ORM\QueryBuilder */
         $builder = $query->getQueryBuilder();
         $builder->andWhere('(NOT ' . $builder->getRootAlias() . '.date_fin_mission BETWEEN :date_lowest AND :date_highest) OR (' . $builder->getRootAlias() . '.date_fin_mission IS NULL)')->setParameter(':date_lowest', new \DateTime('1000-01-01'))->setParameter(':date_highest', new \DateTime());
         //exit($builder->getQuery()->getSQL());
     }
     return $query;
 }
示例#27
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->where('o.enabled = TRUE');
     return $query;
 }
示例#28
0
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     $query->addOrderBy($query->getRootAlias() . '.locale', 'ASC');
     return $query;
 }
示例#29
-1
 public function createQuery($context = 'list')
 {
     $query = parent::createQuery($context);
     if ($this->getRequest() instanceof Request) {
         $requestQuery = $this->getRequest()->query;
         if ($requestQuery->has('item')) {
             $parentId = $requestQuery->getInt('item');
             $query->join($query->getRootAlias() . '.parent', 'p')->andWhere('p.id = :parentId')->setParameters(['parentId' => $parentId]);
         } elseif ($requestQuery->has('menu')) {
             $menuId = $requestQuery->getInt('menu');
             $query->join($query->getRootAlias() . '.menu', 'm')->leftJoin($query->getRootAlias() . '.parent', 'p')->where('m.id = :menuId')->andwhere('p.id IS NULL')->setParameters(['menuId' => $menuId]);
         }
     }
     return $query;
 }