Example #1
0
 /**
  *
  * @param  Doctrine\ORM\QueryBuilder                  $builder
  * @param  VIB\CoreBundle\Filter\ListFilterInterface  $filter
  * @return Doctrine\ORM\QueryBuilder
  */
 protected function applyQueryBuilderFilter($builder, ListFilterInterface $filter = null)
 {
     $filterName = $filter instanceof VialFilter ? $filter->getFilter() : null;
     switch ($filterName) {
         case 'all':
             return $builder;
         case 'forgot':
             return $this->applyForgotFilter($builder);
         case 'dead':
             return $this->applyDeadFilter($builder);
         case 'trashed':
             return $this->applyTrashedFilter($builder);
         case 'due':
             return $this->applyDueFilter($builder);
         case 'overdue':
             return $this->applyOverDueFilter($builder);
         default:
             return $this->applyLivingFilter($builder);
     }
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 protected function getCountQueryBuilder(ListFilterInterface $filter = null)
 {
     $qb = $this->createQueryBuilder('e')->select('count(DISTINCT e.id)');
     $access = $filter instanceof StockFilter ? $filter->getAccess() : null;
     if ($access == 'mtnt') {
         $date = new \DateTime();
         $date->sub(new \DateInterval('P2M'));
         return $qb->join('e.vials', 'v')->andWhere('v.setupDate > :date')->andWhere('v.trashed = false')->setParameter('date', $date->format('Y-m-d'));
     }
     return $qb;
 }