/** * {@inheritdoc} */ public function getFilters(Filters $filters) { $filters->add('inclusive', function (QueryBuilder $queryBuilder) { $aliases = $queryBuilder->getRootAliases(); $alias = $aliases[0]; $queryBuilder->andWhere($alias . '.type = :type')->setParameter('type', 'inclusive'); }); $filters->add('exclusive', function (QueryBuilder $queryBuilder) { $aliases = $queryBuilder->getRootAliases(); $alias = $aliases[0]; $queryBuilder->andWhere($alias . '.type = :type')->setParameter('type', 'exclusive'); }); return $filters; }
/** * {@inheritdoc} */ public function getFilters(Filters $filters) { $callback = function ($status) { return function (QueryBuilder $queryBuilder) use($status) { $alias = $queryBuilder->getRootAliases(); $queryBuilder->andWhere($alias[0] . '.status = :status')->setParameter('status', $status); }; }; $statuses = array(Graph::STATUS_CANCELLED, Graph::STATUS_DRAFT, Graph::STATUS_OVERDUE, Graph::STATUS_PAID, Graph::STATUS_PENDING); foreach ($statuses as $status) { $filters->add($status, $callback($status)); } return $filters; }
/** * {@inheritdoc} */ public function getFilters(Filters $filters) { $callback = function (QueryBuilder $queryBuilder, $status) { $aliases = $queryBuilder->getRootAliases(); $alias = $aliases[0]; $queryBuilder->andWhere($alias . '.status = :status')->setParameter('status', $status); }; $filters->add('active_clients', function (QueryBuilder $queryBuilder) use($callback) { $callback($queryBuilder, Status::STATUS_ACTIVE); }); $filters->add('inactive_clients', function (QueryBuilder $queryBuilder) use($callback) { $callback($queryBuilder, Status::STATUS_INACTIVE); }); return $filters; }
/** * @return bool */ public function isFiltered() { return $this->filters->isFilterActive() || null !== $this->searchString || parent::isFiltered(); }