Inheritance: extends Filter
Example #1
0
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $date_from->setTime(0, 0, 0);
         $this->data_source->where('DATE(%n) >= ?', $filter->getColumn(), $date_from);
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $date_to->setTime(23, 59, 59);
         $this->data_source->where('DATE(%n) <= ?', $filter->getColumn(), $date_to);
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $date_from->setTime(0, 0, 0);
         $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) >= ?", $date_from->format('Y-m-d'));
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $date_to->setTime(23, 59, 59);
         $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) <= ?", $date_to->format('Y-m-d'));
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = DateTimeHelper::tryConvertToDateTime($value_from, [$filter->getPhpFormat()]);
         $date_from->setTime(0, 0, 0);
         $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) >= ?", $date_from->format('Ymd'));
     }
     if ($value_to) {
         $date_to = DateTimeHelper::tryConvertToDateTime($value_to, [$filter->getPhpFormat()]);
         $date_to->setTime(23, 59, 59);
         $this->data_source->where("CONVERT(varchar(10), {$filter->getColumn()}, 112) <= ?", $date_to->format('Ymd'));
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $this->data_source->where('CONVERT(varchar(10), %n, 112) >= ?', $filter->getColumn(), $value_from);
     }
     if ($value_to) {
         $this->data_source->where('CONVERT(varchar(10), %n, 112) <= ?', $filter->getColumn(), $value_to);
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $values = $conditions[$filter->getColumn()];
     if ($value_from = $values['from']) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from)->setTime(0, 0, 0)->format('Y-m-d H:i:s');
         $expr = Criteria::expr()->gte($filter->getColumn(), $date_from);
         $this->criteria->andWhere($expr);
     }
     if ($value_to = $values['to']) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to)->setTime(23, 59, 59)->format('Y-m-d H:i:s');
         $expr = Criteria::expr()->lte($filter->getColumn(), $date_to);
         $this->criteria->andWhere($expr);
     }
 }
Example #6
0
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     $dataCondition = [];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $dataCondition[$this->prepareColumn($filter->getColumn()) . '>='] = $date_from->setTime(0, 0, 0);
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $dataCondition[$this->prepareColumn($filter->getColumn()) . '<='] = $date_to->setTime(23, 59, 59);
     }
     if (!empty($dataCondition)) {
         $this->data_source = $this->data_source->findBy($dataCondition);
     }
 }
Example #7
0
 /**
  * @param  mixed  $row
  * @param  FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange($row, FilterDateRange $filter)
 {
     $format = $filter->getPhpFormat();
     $condition = $filter->getCondition();
     $values = $condition[$filter->getColumn()];
     $row_value = $row[$filter->getColumn()];
     if ($values['from'] !== NULL && $values['from'] !== '') {
         $date_from = DateTimeHelper::tryConvertToDate($values['from'], [$format]);
         $date_from->setTime(0, 0, 0);
         if (!$row_value instanceof \DateTime) {
             /**
              * Try to convert string to DateTime object
              */
             try {
                 $row_value = DateTimeHelper::tryConvertToDate($row_value);
             } catch (DataGridDateTimeHelperException $e) {
                 /**
                  * Otherwise just return raw string
                  */
                 return FALSE;
             }
         }
         if ($row_value->getTimeStamp() < $date_from->getTimeStamp()) {
             return FALSE;
         }
     }
     if ($values['to'] !== NULL && $values['to'] !== '') {
         $date_to = DateTimeHelper::tryConvertToDate($values['to'], [$format]);
         $date_to->setTime(23, 59, 59);
         if (!$row_value instanceof \DateTime) {
             /**
              * Try to convert string to DateTime object
              */
             try {
                 $row_value = DateTimeHelper::tryConvertToDate($row_value);
             } catch (DataGridDateTimeHelperException $e) {
                 /**
                  * Otherwise just return raw string
                  */
                 return FALSE;
             }
         }
         if ($row_value->getTimeStamp() > $date_to->getTimeStamp()) {
             return FALSE;
         }
     }
     return TRUE;
 }
 /**
  * Filter by date range
  * @param Filter\FilterDateRange  $filter
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $c = $this->checkAliases($filter->getColumn());
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $date_from->setTime(0, 0, 0);
         $p = $this->getPlaceholder();
         $this->data_source->andWhere("{$c} >= ?{$p}")->setParameter($p, $date_from->format('Y-m-d H:i:s'));
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $date_to->setTime(23, 59, 59);
         $p = $this->getPlaceholder();
         $this->data_source->andWhere("{$c} <= ?{$p}")->setParameter($p, $date_to->format('Y-m-d H:i:s'));
     }
 }
Example #9
0
 /**
  * Filter by date range
  *
  * @param  Filter\FilterDateRange $filter
  *
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $date_from->setTime(0, 0, 0);
         $this->filter["DATE({$filter->getColumn()}) >= ?"] = $date_from->format('Y-m-d');
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $date_to->setTime(23, 59, 59);
         $this->filter["DATE({$filter->getColumn()}) <= ?"] = $date_to->format('Y-m-d');
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $conditions = $filter->getCondition();
     $value_from = $conditions[$filter->getColumn()]['from'];
     $value_to = $conditions[$filter->getColumn()]['to'];
     if ($value_from) {
         $date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
         $date_from;
         $this->data_source->getQueryBuilder()->andWhere("%column >= %dt", $filter->getColumn(), $date_from);
     }
     if ($value_to) {
         $date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
         $date_to->setTime(23, 59, 59);
         $this->data_source->getQueryBuilder()->andWhere("%column <= %dt", $filter->getColumn(), $date_to);
     }
 }
 /**
  * Filter by date range
  * @param  Filter\FilterDateRange $filter
  * @return void
  */
 public function applyFilterDateRange(Filter\FilterDateRange $filter)
 {
     $values = $conditions[$filter->getColumn()];
     if ($value_from = $values['from']) {
         $date_from = DateTimeHelper::tryConvertToDateTime($value_from, [$filter->getPhpFormat()]);
         $date_from->setTime(0, 0, 0);
         $expr = Criteria::expr()->gte($filter->getColumn(), $date_from->format('Y-m-d H:i:s'));
         $this->criteria->andWhere($expr);
     }
     if ($value_to = $values['to']) {
         $date_to = DateTimeHelper::tryConvertToDateTime($value_to, [$filter->getPhpFormat()]);
         $date_to->setTime(23, 59, 59);
         $expr = Criteria::expr()->lte($filter->getColumn(), $date_to->format('Y-m-d H:i:s'));
         $this->criteria->andWhere($expr);
     }
 }