作者:smile-s
项目:elasticsuit
/**
* 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);
}
作者:pradeep-wagent
项目:magento
/**
* 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);
}
作者:hientruong9
项目:magento2_installe
/**
* @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);
}
作者:nh
项目:Magento2SampleModul
/**
* 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;
}
作者:kidaa3
项目:magento2-platforms
/**
* @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));
}
作者:pradeep-wagent
项目:magento
/**
* @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;
}
作者:pradeep-wagent
项目:magento
/**
* @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;
}
作者:kidaa3
项目:magento2-platforms
/**
* @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);
}
作者:hientruong9
项目:magento2_installe
/**
* @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;
}
作者:aies
项目:magento
/**
* @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;
}
作者:samitrima
项目:Blog-Extension-for-Magento-
/**
* 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;
}
作者:pradeep-wagent
项目:magento
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);
}
作者:aies
项目:magento
/**
* @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);
}
作者:shabbirvividad
项目:magento
/**
* 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;
}
作者:plemin
项目:Gemto
/**
* @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;
}
作者:opexs
项目:magento
/**
* 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;
}
作者:mageplaz
项目:magento-2-blog-extensio
/**
* @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;
}
作者:pradeep-wagent
项目:magento
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());
}
作者:pradeep-wagent
项目:magento
/**
* @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;
}
作者:kidaa3
项目:magento2-platforms
/**
* @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);
}