/** * * @param type $collection * @param type $column * @return type */ public function filterToptierAffiliateAccount(&$collection, $column) { $accountTable = Mage::getModel('core/resource')->getTableName('affiliateplus_account'); $value = $column->getFilter()->getValue(); if (!isset($value)) { return; } if ($value == 'N/A') { $collection->getSelect()->where("{$accountTable}.name IS NULL"); return; } $collection->getSelect()->where("{$accountTable}.name = '{$value}'"); }
/** * Adds column to filter list if needed * @param type $column Column to filter * @return TinyBrick_OrderEdit_Block_Adminhtml_Sales_Order_Edit_Search_Grid */ protected function _addColumnFilterToCollection($column) { // Set custom filter for in product flag if ($column->getId() == 'in_products') { $productIds = $this->_getSelectedProducts(); if (empty($productIds)) { $productIds = 0; } if ($column->getFilter()->getValue()) { $this->getCollection()->addFieldToFilter('entity_id', array('in' => $productIds)); } else { if ($productIds) { $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds)); } } } else { parent::_addColumnFilterToCollection($column); } return $this; }
/** * Callback filter for Website/ Customer group * * @param type $collection * @param type $column * @return type */ public function filterCallback($collection, $column) { $value = $column->getFilter()->getValue(); if (!is_null(@$value)) { $collection->addFieldToFilter($column->getIndex(), array('finset' => $value)); } }
/** * Callback filter for Warehouse * * @param type $collection * @param type $column * @return type */ public function filterCallback($collection, $column) { $value = $column->getFilter()->getValue(); if (!is_null(@$value)) { $collection->getSelect()->where('inventory_shipment.warehouse_id = ?', $value); } return $this; }
/** * Filter number field * * @param type $collection * @param type $column * @return collection */ protected function _filterNumberCallback($collection, $column) { $filter = $column->getFilter()->getValue(); $field = $this->_getRealFieldFromAlias($column->getIndex()); if (isset($filter['from']) && $filter['from'] != '') { $collection->getSelect()->having($field . ' >= ' . $filter['from']); } if (isset($filter['to']) && $filter['to'] != '') { $collection->getSelect()->having($field . ' <= ' . $filter['to']); } $collection->setIsGroupCountSql(true); $collection->setResetHaving(true); return $collection; }
/** * Filter number field * * @param type $collection * @param type $column * @return collection */ protected function _filterNumberCallback($collection, $column) { $filter = $column->getFilter()->getValue(); $field = $this->_getRealFieldFromAlias($column->getIndex()); if (isset($filter['from'])) { $collection->getSelect()->having($field . ' >= \'' . $filter['from'] . '\''); } if (isset($filter['to'])) { $collection->getSelect()->having($field . ' <= \'' . $filter['to'] . '\''); } return $collection; }
/** * Filter datetime field * * @param type $collection * @param type $column * @return type */ protected function _filterDateCallback($collection, $column) { $filter = $column->getFilter()->getValue(); $field = $this->_getRealFieldFromAlias($column->getIndex()); if (isset($filter['orig_from'])) { $from = date('Y-m-d H:i:s', strtotime($filter['orig_from'])); $collection->getSelect()->having($field . ' >= \'' . $from . '\''); } if (isset($filter['orig_to'])) { $to = date('Y-m-d H:i:s', strtotime($filter['orig_to'])); $collection->getSelect()->having($field . ' <= \'' . $to . '\''); } return $collection; }