Exemple #1
0
 /**
  * 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));
 }
Exemple #6
0
 /**
  * @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;
 }
Exemple #7
0
 /**
  * @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;
 }
Exemple #10
0
 /**
  * @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());
 }
Exemple #13
0
 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);
 }
Exemple #14
0
 /**
  * @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;
 }
Exemple #15
0
 /**
  * @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);
 }
Exemple #16
0
 /**
  * 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;
 }
Exemple #17
0
 /**
  * @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;
 }
Exemple #18
0
 /**
  * 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;
 }
Exemple #22
0
 /**
  * @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;
 }