/** * Callback function that filters collection by field "Used" from grid * * @param AbstractCollection $collection * @param Column $column * @return void */ public function addIsUsedFilterCallback($collection, $column) { $filterValue = $column->getFilter()->getCondition(); $expression = $this->getConnection()->getCheckSql('main_table.times_used > 0', 1, 0); $conditionSql = $this->_getConditionSql($expression, $filterValue); $collection->getSelect()->where($conditionSql); }
/** * @param \Magento\Framework\Data\Collection $collection * @param \Magento\Backend\Block\Widget\Grid\Column $column * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function _filterStoreCondition($collection, $column) { if (!($value = $column->getFilter()->getValue())) { return; } $this->getCollection()->addStoreFilter($value); }
/** * Apply term filter * * @param \Magento\Framework\Data\Collection $collection The collection * @param \Magento\Backend\Block\Widget\Grid\Column $column Columns to filter */ protected function filterTermsCondition($collection, $column) { if (!($value = $column->getFilter()->getValue())) { return; } $collection->setTermFilter($value); }
/** * filter by store * * @param Collection $collection * @param Column $column * @return $this */ public function filterStoreCondition(Collection $collection, Column $column) { if (!($value = $column->getFilter()->getValue())) { return $this; } $collection->addStoreFilter($value); return $this; }
/** * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { // Set custom filter for in category flag if ($column->getId() == 'in_category') { $productIds = $this->_getSelectedProducts(); if (empty($productIds)) { $productIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('entity_id', ['in' => $productIds]); } elseif (!empty($productIds)) { $this->getCollection()->addFieldToFilter('entity_id', ['nin' => $productIds]); } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { // Set custom filter for in product flag if ($column->getId() == 'in_products') { $selected = $this->_getSelectedProducts(); if (empty($selected)) { $selected = ''; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('sku', ['in' => $selected]); } else { $this->getCollection()->addFieldToFilter('sku', ['nin' => $selected]); } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'in_role_users') { $inRoleIds = $this->getUsers(); if (empty($inRoleIds)) { $inRoleIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('user_id', ['in' => $inRoleIds]); } else { if ($inRoleIds) { $this->getCollection()->addFieldToFilter('user_id', ['nin' => $inRoleIds]); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'assigned_user_role') { $userRoles = $this->getSelectedRoles(); if (empty($userRoles)) { $userRoles = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('role_id', array('in' => $userRoles)); } else { if ($userRoles) { $this->getCollection()->addFieldToFilter('role_id', array('nin' => $userRoles)); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * Add filter * * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { // Set custom filter for in post flag if ($column->getId() == 'in_posts') { $postIds = $this->_getSelectedPosts(); if (empty($postIds)) { $postIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('post_id', ['in' => $postIds]); } else { if ($postIds) { $this->getCollection()->addFieldToFilter('post_id', ['nin' => $postIds]); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * Filter checked/unchecked rows in grid * * @param Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'in_products') { $selected = $this->getSelectedProducts(); if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('entity_id', ['in' => $selected]); } else { $this->getCollection()->addFieldToFilter('entity_id', ['nin' => $selected]); } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * @param \Magento\Backend\Block\Widget\Grid\Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'in_articles') { $articleIds = $this->_getSelectedArticles(); if (empty($articleIds)) { $articleIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('article_id', ['in' => $articleIds]); } else { if ($articleIds) { $this->getCollection()->addFieldToFilter('article_id', ['nin' => $articleIds]); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * @covers \Magento\Backend\Block\Widget\Grid\Column::getFilter * @covers \Magento\Backend\Block\Widget\Grid\Column::setFilter */ public function testGetFilterWhenFilterWasSetPreviously() { $this->_layoutMock->expects($this->once())->method('createBlock')->with('StdClass')->will($this->returnValue($this->_blockMock)); $this->_block->setFilter('StdClass'); $this->assertNotEmpty($this->_block->getFilter()); }
/** * @param \Magento\Backend\Block\Widget\Grid\Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($column->getId() == 'in_topics') { $topicIds = $this->_getSelectedTopics(); if (empty($topicIds)) { $topicIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('main_table.topic_id', ['in' => $topicIds]); } else { if ($topicIds) { $this->getCollection()->addFieldToFilter('main_table.topic_id', ['nin' => $topicIds]); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }