Exemplo n.º 1
0
 public function getFilters()
 {
     if (is_array($this->filters)) {
         // set from cache! (for export)
         return $this->filters;
     }
     $filters = [];
     $optionsRenderer = $this->getOptionsRenderer();
     $parameterNames = $optionsRenderer['parameterNames'];
     $request = $this->getRequest();
     $isSearch = $request->getPost($parameterNames['isSearch']);
     if ('true' == $isSearch) {
         // User filtering
         foreach ($this->getColumns() as $column) {
             /* @var $column \ZfcDatagrid\Column\AbstractColumn */
             if ($request->getPost($column->getUniqueId()) != '') {
                 $value = $request->getPost($column->getUniqueId());
                 $filter = new \ZfcDatagrid\Filter();
                 $filter->setFromColumn($column, $value);
                 $filters[] = $filter;
                 $column->setFilterActive($filter->getDisplayColumnValue());
             }
         }
     }
     if (count($filters) === 0) {
         // No user sorting -> get default sorting
         $filters = $this->getFiltersDefault();
     }
     $this->filters = $filters;
     return $this->filters;
 }
Exemplo n.º 2
0
 /**
  *
  * @todo Make parameter config
  *
  * @see \ZfcDatagrid\Renderer\AbstractRenderer::getFilters()
  */
 public function getFilters()
 {
     if (is_array($this->filters)) {
         return $this->filters;
     }
     $request = $this->getRequest();
     $filters = [];
     if (($request->isPost() === true || $request->isGet() === true) && $request->getPost('toolbarFilters', $request->getQuery('toolbarFilters')) !== null) {
         foreach ($request->getPost('toolbarFilters', $request->getQuery('toolbarFilters')) as $uniqueId => $value) {
             if ($value != '') {
                 foreach ($this->getColumns() as $column) {
                     /* @var $column \ZfcDatagrid\Column\AbstractColumn */
                     if ($column->getUniqueId() == $uniqueId) {
                         $filter = new \ZfcDatagrid\Filter();
                         $filter->setFromColumn($column, $value);
                         $filters[] = $filter;
                         $column->setFilterActive($filter->getDisplayColumnValue());
                     }
                 }
             }
         }
     }
     if (!empty($filters)) {
         $this->filters = $filters;
     } else {
         // No user sorting -> get default sorting
         $this->filters = $this->getFiltersDefault();
     }
     return $this->filters;
 }
Exemplo n.º 3
0
 public function testBetween()
 {
     $filter = new \ZfcDatagrid\Filter();
     $filter->setFromColumn($this->column, '3 <> myValue');
     $filterSelect = clone $this->filterSelect;
     $filterSelect->applyFilter($filter);
     $select = $filterSelect->getSelect();
     /* @var $where \Zend\Db\Sql\Where */
     $where = $select->getRawState('where');
     $predicates = $where->getPredicates();
     $operator = $this->getWherePart($predicates, 0);
     $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Between', $operator);
     $this->assertEquals('myCol', $operator->getIdentifier());
     $this->assertEquals('3', $operator->getMinValue());
     $this->assertEquals('myValue', $operator->getMaxValue());
 }
Exemplo n.º 4
0
 public function testBetween()
 {
     $filter = new \ZfcDatagrid\Filter();
     $filter->setFromColumn($this->colVolumne, '789 <> 123');
     $filterDoctrine2 = clone $this->filterDoctrine2;
     $filterDoctrine2->applyFilter($filter);
     $whereParts = $this->getWhereParts($filterDoctrine2->getQueryBuilder());
     $parameters = $this->getParameters($filterDoctrine2);
     $this->assertEquals('volume BETWEEN :volume0 AND :volume1', $whereParts[0]);
     $this->assertEquals('123', $parameters[0]->getValue());
     $this->assertEquals('789', $parameters[1]->getValue());
 }