/** * 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); }
/** * 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); }
/** * 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 bool $editable * @param bool $onlyEdit * @param string $expectedResult * @return void * @dataProvider renderDataProvider */ public function testRender($editable, $onlyEdit, $expectedResult) { $value = 'some value'; $keyValue = 'key'; $this->columnMock->expects($this->once())->method('getEditable')->willReturn($editable); $this->columnMock->expects($this->any())->method('getEditOnly')->willReturn($onlyEdit); $this->columnMock->expects($this->any())->method('getIndex')->willReturn($keyValue); $this->columnMock->expects($this->any())->method('getId')->willReturn('test'); $this->dataObjectMock->expects($this->any())->method('getData')->with($keyValue)->willReturn($value); $this->renderer->setColumn($this->columnMock); $this->assertEquals($expectedResult, $this->renderer->render($this->dataObjectMock)); }
/** * @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) { // 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 \Magento\Backend\Block\Template\Context $context * @param array $data */ public function __construct(\Magento\Backend\Block\Template\Context $context, array $data = []) { $this->_rendererTypes['options'] = 'Magento\\Backend\\Block\\Widget\\Grid\\Column\\Renderer\\Options\\Extended'; $this->_filterTypes['options'] = 'Magento\\Backend\\Block\\Widget\\Grid\\Column\\Filter\\Select\\Extended'; $this->_rendererTypes['select'] = 'Magento\\Backend\\Block\\Widget\\Grid\\Column\\Renderer\\Select\\Extended'; $this->_rendererTypes['checkbox'] = 'Magento\\Backend\\Block\\Widget\\Grid\\Column\\Renderer\\Checkboxes\\Extended'; $this->_rendererTypes['radio'] = 'Magento\\Backend\\Block\\Widget\\Grid\\Column\\Renderer\\Radio\\Extended'; parent::__construct($context, $data); }
/** * @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; }
public function testSetGetGrid() { /** * Check that getFilter will be executed */ $this->_layoutMock->expects($this->once())->method('createBlock')->with('StdClass')->will($this->returnValue($this->_blockMock)); $this->_block->setFilter('StdClass'); $grid = new \StdClass(); $this->_block->setGrid($grid); $this->assertEquals($grid, $this->_block->getGrid()); }
public function testGetHtmlSuccessfulTimestamp() { $uniqueHash = 'H@$H'; $id = 3; $format = 'mm/dd/yyyy'; $yesterday = new \DateTime(); $yesterday->add(\DateInterval::createFromDateString('yesterday')); $tomorrow = new \DateTime(); $tomorrow->add(\DateInterval::createFromDateString('tomorrow')); $value = ['locale' => 'en_US', 'from' => $yesterday->getTimestamp(), 'to' => $tomorrow->getTimestamp()]; $this->mathRandomMock->expects($this->any())->method('getUniqueHash')->willReturn($uniqueHash); $this->columnMock->expects($this->once())->method('getHtmlId')->willReturn($id); $this->localeDateMock->expects($this->any())->method('getDateFormat')->willReturn($format); $this->columnMock->expects($this->any())->method('getTimezone')->willReturn(false); $this->localeResolverMock->expects($this->any())->method('getLocale')->willReturn('en_US'); $this->model->setColumn($this->columnMock); $this->model->setValue($value); $output = $this->model->getHtml(); $this->assertContains('id="' . $uniqueHash . '_from" value="' . $yesterday->getTimestamp(), $output); $this->assertContains('id="' . $uniqueHash . '_to" value="' . $tomorrow->getTimestamp(), $output); }
/** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList * @param array $data */ public function __construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList, array $data = []) { parent::__construct($context, $data); $this->_cacheTypeList = $cacheTypeList; }
/** * @param \Magento\Backend\Block\Widget\Grid\Column $column * @return $this */ protected function _addColumnFilterToCollection($column) { if ($this->getCollection()) { if ($column->getId() == 'websites') { $this->getCollection()->joinField('websites', 'catalog_product_website', 'website_id', 'product_id=entity_id', null, 'left'); } } return parent::_addColumnFilterToCollection($column); }
/** * 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; }
/** * Sets sorting order by some column * * @param \Magento\Backend\Block\Widget\Grid\Column $column * @return $this */ protected function _setCollectionOrder($column) { $collection = $this->getCollection(); if ($collection) { $columnIndex = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex(); $collection->setOrder($columnIndex, strtoupper($column->getDir())); } return $this; }
/** * @param \Magento\Backend\Block\Template\Context $context * @param array $data */ public function __construct(\Magento\Backend\Block\Template\Context $context, array $data = []) { parent::__construct($context, $data); }
/** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Backup\Helper\Data $backupHelper * @param array $data */ public function __construct(\Magento\Backend\Block\Template\Context $context, \Magento\Backup\Helper\Data $backupHelper, array $data = []) { $this->_backupHelper = $backupHelper; parent::__construct($context, $data); }
/** * @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; }
/** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Sales\Model\Order\Config $config * @param array $data */ public function __construct(\Magento\Backend\Block\Template\Context $context, \Magento\Sales\Model\Order\Config $config, array $data = []) { parent::__construct($context, $data); $this->_config = $config; }