Example #1
0
 /**
  * Callback method for applying price filter.
  * @param Mage_Catalog_Model_Resource_Product_Collection $_collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $_column
  */
 public function _filterPrice($_collection, $_column)
 {
     $_field = $_column->getFilterIndex() ? $_column->getFilterIndex() : $_column->getIndex();
     $_condition = $_column->getFilter()->getCondition();
     if (!$_field || !is_array($_condition)) {
         return;
     }
     if (!array_key_exists('type', $_condition) || !is_numeric($_condition['type'])) {
         $_collection->addFieldToFilter($_field, $_condition);
     } else {
         $_storeId = (int) $this->getRequest()->getParam('store', 0);
         $_store = Mage::app()->getStore($_storeId);
         $_joinCondition = array('`e`.`entity_id` = `at_reservation_price`.`entity_id`', '`at_reservation_price`.`store_id` = ' . $_store->getId(), '`at_reservation_price`.`ptype` = ' . $_condition['type']);
         if (array_key_exists('from', $_condition)) {
             $_joinCondition[] = '`at_reservation_price`.`price` >= ' . $_condition['from'];
         }
         if (array_key_exists('to', $_condition)) {
             $_joinCondition[] = '`at_reservation_price`.`price` <= ' . $_condition['to'];
         }
         $_joinCondition[] = '`at_reservation_price`.`date_from` = \'0000-00-00 00:00:00\' OR DATE(`at_reservation_price`.`date_from`) <= DATE(\'' . date('Y-m-d H:i:s', Mage::getModel('core/date')->gmtTimestamp(time())) . '\')';
         $_joinCondition[] = '`at_reservation_price`.`date_to` = \'0000-00-00 00:00:00\' OR DATE(`at_reservation_price`.`date_to`) >= DATE(\'' . date('Y-m-d H:i:s', Mage::getModel('core/date')->gmtTimestamp(time())) . '\')';
         $_collection->getSelect()->joinInner(array('at_reservation_price' => $_collection->getTable('payperrentals/reservationprices')), '(' . implode(') AND (', $_joinCondition) . ')', array('price_type' => 'at_reservation_price.ptype', 'reservation_price' => 'at_reservation_price.price', 'reservation_number' => 'at_reservation_price.numberof'));
         /** TODO Check collection count calculation with group. I think need change join for use distinct */
         $_collection->getSelect()->group('e.entity_id');
     }
 }
Example #2
0
 /**
  * Helper function to add store filter condition
  *
  * @param Mage_Core_Model_Mysql4_Collection_Abstract $collection Data collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column Column information to be filtered
  */
 protected function _filterStoreCondition($collection, $column)
 {
     if (!($value = $column->getFilter()->getValue())) {
         return;
     }
     $this->getCollection()->addStoreFilter($value);
 }
Example #3
0
 /**
  * Filter number of customers column
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Enterprise_CustomerSegment_Block_Adminhtml_Report_Customer_Segment_Grid
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'customer_count') {
         if ($column->getFilter()->getValue() !== null) {
             $this->getCollection()->addCustomerCountFilter($column->getFilter()->getValue());
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #4
0
 /**
  *
  * @param Mage_Sales_Model_Resource_Order_Shipment_Grid_Collection $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column                  $column
  *
  * @return \Zitec_Dpd_Block_Adminhtml_Sales_Shipment_Grid
  */
 protected function _filterManifesto($collection, $column)
 {
     $manifestRef = $column->getFilter()->getCondition();
     if ($manifestRef) {
         $resource = Mage::getSingleton('core/resource');
         /* @var $resource Mage_Core_Model_Resource */
         $whereClause = $resource->getConnection("core_read")->quoteInto("manifest.manifest_ref like ? ", $manifestRef);
         $collection->getSelect()->where($whereClause);
         $debug = (string) $collection->getSelect();
     }
     return $this;
 }
 /**
  * @param Varien_Data_Collection $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 protected function _filterInSetsCondition($collection, $column)
 {
     $selected = $this->_getSelectedAttributeSets();
     if (empty($selected)) {
         $selected = '0';
     }
     $value = $column->getFilter()->getValue();
     if ($value) {
         $collection->addFieldToFilter('main_table.attribute_set_id', array('in' => $selected));
     } else {
         $collection->addFieldToFilter('main_table.attribute_set_id', array('nin' => $selected));
     }
 }
 /**
  * Add custom column filter to collection
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'assigned_user_role') {
         $userRoles = $this->_getSelectedRoles();
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('entity_id', array('in' => $userRoles));
         } elseif (!empty($userRoles)) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $userRoles));
         } else {
             $this->getCollection();
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #7
0
 /**
  * Add filter
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Adminhtml_Block_Widget_Grid
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($this->getCollection()) {
         switch ($column->getId()) {
             case 'tax_rates':
                 $this->getCollection()->joinCalculationData('rate');
                 break;
             case 'customer_tax_classes':
                 $this->getCollection()->joinCalculationData('ctc');
                 break;
             case 'product_tax_classes':
                 $this->getCollection()->joinCalculationData('ptc');
                 break;
         }
     }
     return parent::_addColumnFilterToCollection($column);
 }
Example #8
0
 /**
  * Apply the condition to the given collection by way of the resource specified on instantiation
  *
  * @param \Cm_Mongo_Model_Resource_Collection_Abstract $collection
  * @param \Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 public function apply(Cm_Mongo_Model_Resource_Collection_Abstract $collection, Mage_Adminhtml_Block_Widget_Grid_Column $column)
 {
     if (is_string($this->_resource)) {
         $filterCollection = Mage::getResourceModel($this->_resource);
     } else {
         $filterCollection = $this->_resource;
     }
     var_dump($filterCollection);
     if ($this->_filters) {
         $filterCollection->addFieldToFilter($this->_filters);
     }
     $field = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
     $cond = $column->getFilter()->getCondition();
     if ($field && isset($cond)) {
         $filterCollection->addFieldToFilter($field, $cond);
     }
     $collection->addFieldToFilter($this->_field, '$in', $filterCollection->getAllIds(TRUE));
 }
Example #9
0
 protected function _getFilterByType()
 {
     switch (strtolower($this->getType())) {
         case 'image':
             $filterClass = 'enhancedgrid/widget_grid_column_filter_image';
             break;
         default:
             $filterClass = parent::_getFilterByType();
             break;
     }
     return $filterClass;
 }
Example #10
0
 protected function _getFilterByType()
 {
     switch (strtolower($this->getType())) {
         case 'banner':
             $filterClass = 'banner/adminhtml_widget_grid_column_filter_banner';
             break;
         default:
             $filterClass = parent::_getFilterByType();
             break;
     }
     return $filterClass;
 }
 /**
  * Add column filter to collection
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Enterprise_Reward_Block_Adminhtml_Customer_Edit_Tab_Reward_History_Grid
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($this->getCollection()) {
         $field = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
         if ($field == 'website_id' || $field == 'points_balance') {
             $cond = $column->getFilter()->getCondition();
             if ($field && isset($cond)) {
                 $this->getCollection()->addFieldToFilter('main_table.' . $field, $cond);
             }
         } else {
             parent::_addColumnFilterToCollection($column);
         }
     }
     return $this;
 }
 protected function _getFilterByType()
 {
     switch (strtolower($this->getType())) {
         case 'image':
             $filterClass = 'productupdater/widget_grid_column_filter_image';
             break;
         case 'iks_options':
             $filterClass = 'adminhtml/widget_grid_column_filter_select';
             break;
         case 'iks_sku':
             $filterClass = 'productupdater/widget_grid_column_filter_sku';
             break;
         case 'iks_percentage':
             $filterClass = 'adminhtml/widget_grid_column_filter_text';
             break;
         default:
             $filterClass = parent::_getFilterByType();
             break;
     }
     return $filterClass;
 }
Example #13
0
 /**
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Api2_Block_Adminhtml_Roles_Tab_Users
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'filter_in_role_users') {
         $inRoleIds = $this->getUsers();
         if (empty($inRoleIds)) {
             $inRoleIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('user_id', array('in' => $inRoleIds));
         } else {
             if ($inRoleIds) {
                 $this->getCollection()->addFieldToFilter('user_id', array('nin' => $inRoleIds));
             }
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #14
0
 /**
  * Add store filter
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column  $column
  * @return Enterprise_Banner_Block_Adminhtml_Banner_Grid
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getIndex() == 'stores') {
         $this->getCollection()->addStoreFilter($column->getFilter()->getCondition(), false);
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #15
0
 /**
  * Decorate user type column
  *
  * @param string $value
  * @param Mage_Oauth_Model_Token $row
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @param bool $isExport
  * @return mixed
  */
 public function decorateUserType($value, $row, $column, $isExport)
 {
     $options = $column->getOptions();
     $value = $row->getCustomerId() ? $options[1] : $options[0];
     $cell = $value;
     return $cell;
 }
 /**
  * Filter store column
  *
  * @param Esendex_Sms_Model_Resource_Trigger_Collection $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return self
  */
 protected function _filterStoreCondition(Esendex_Sms_Model_Resource_Trigger_Collection $collection, Mage_Adminhtml_Block_Widget_Grid_Column $column)
 {
     if (!($value = $column->getFilter()->getValue())) {
         return;
     }
     $collection->addStoreFilter($value);
     return $this;
 }
Example #17
0
 /**
  * Sets sorting order by some column
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Adminhtml_Block_Customer_Edit_Tab_Wishlist
  */
 protected function _setCollectionOrder($column)
 {
     $collection = $this->getCollection();
     if ($collection) {
         switch ($column->getId()) {
             case 'product_name':
                 $collection->setOrderByProductName($column->getDir());
                 break;
             default:
                 parent::_setCollectionOrder($column);
                 break;
         }
     }
     return $this;
 }
 /**
  * Add column filter to collection
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Adminhtml_Block_Customer_Edit_Tab_Wishlist
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'store') {
         $this->getCollection()->addFieldToFilter('item_store_id', $column->getFilter()->getCondition());
         return $this;
     }
     if ($this->getCollection() && $column->getFilter()->getValue()) {
         $this->getCollection()->addFieldToFilter($column->getIndex(), $column->getFilter()->getCondition());
     }
     return $this;
 }
Example #19
0
 /**
  * Sets sorting order by some column
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  *
  * @return $this
  */
 protected function _setCollectionOrder($column)
 {
     $collection = $this->getCollection();
     if (!$collection) {
         return $this;
     }
     $columnIndex = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
     $collection->setOrder($columnIndex, strtoupper($column->getDir()));
     return $this;
 }
 /**
  * Callback function that filters collection by field "Used" from grid
  *
  * @param Mage_Core_Model_Resource_Db_Collection_Abstract $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 public function addIsUsedFilterCallback($collection, $column)
 {
     $filterValue = $column->getFilter()->getCondition();
     $fieldExpression = $this->getConnection()->getCheckSql('main_table.times_used > 0', 1, 0);
     $resultCondition = $this->_getConditionSql($fieldExpression, array('eq' => $filterValue));
     $collection->getSelect()->where($resultCondition);
 }
 /**
  * Setting column filters to collection
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Enterprise_Rma_Block_Adminhtml_Rma_New_Tab_Items_Order_Grid
  */
 protected function _addColumnFilterToCollection($column)
 {
     // Set custom filter for selected products flag
     if ($column->getId() == 'select') {
         $productIds = $this->_getSelectedProducts();
         if (empty($productIds)) {
             $productIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('item_id', array('in' => $productIds));
         } else {
             if ($productIds) {
                 $this->getCollection()->addFieldToFilter('item_id', array('nin' => $productIds));
             }
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #22
0
 public function addStatusFilter(Mage_Eav_Model_Entity_Collection_Abstract $collection, Mage_Adminhtml_Block_Widget_Grid_Column $column)
 {
     // echo $column->getFilter()->getValue();die;
     $collection->addFieldToFilter('main_table.status', array('eq' => $column->getFilter()->getValue()));
     // echo $collection->getSelect();die;
 }
Example #23
0
 /**
  *
  * @param Zitec_TableRates_Model_Mysql4_Tablerate_Collection $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column            $column
  * @param boolean                                            $priceVsDest
  *
  * @return \Zitec_TableRates_Block_Adminhtml_Tablerate_Grid
  */
 protected function _weightPriceAndAboveFilter(Zitec_TableRates_Model_Mysql4_Tablerate_Collection $collection, Mage_Adminhtml_Block_Widget_Grid_Column $column, $priceVsDest = false)
 {
     if ($priceVsDest && !$this->_getHelper()->supportsPriceVsDest()) {
         return $this;
     }
     $value = $column->getFilter()->getValue();
     if (!is_array($value)) {
         return $this;
     }
     $from = isset($value['from']) ? $value['from'] : false;
     $to = isset($value['to']) ? $value['to'] : false;
     if ($from === false && $to === false) {
         return $this;
     }
     $select = $collection->getSelect();
     if ($from !== false) {
         $select->where(" main_table.{$this->_map['weight_price']} >= ? ", $from);
     }
     if ($to !== false) {
         $select->where(" main_table.{$this->_map['weight_price']} <= ? ", $to);
     }
     $select->where(" main_table.{$this->_map['price_vs_dest']} = ? ", $priceVsDest ? 1 : 0);
     $selectStr = (string) $select;
     $this->_getHelper()->log($selectStr);
     return $this;
 }
 /**
  * Callback function that filters collection by field "Used" from grid
  *
  * @param Mage_Core_Model_Resource_Db_Collection_Abstract $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 public function addIsUsedFilterCallback($collection, $column)
 {
     $filterValue = $column->getFilter()->getCondition();
     $collection->addFieldToFilter($this->getConnection()->getCheckSql('main_table.times_used > 0', 1, 0), array('eq' => $filterValue));
 }
Example #25
0
 /**
  * Add filter by ip
  *
  * @param Enterprise_Logging_Model_Resource_Event_Collection $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 protected function _ipFilterCallback(Enterprise_Logging_Model_Resource_Event_Collection $collection, Mage_Adminhtml_Block_Widget_Grid_Column $column)
 {
     $collection->addIpFilter($column->getFilter()->getValue());
 }
Example #26
0
 /**
  * Callback function that filters collection by field "Used" from grid
  *
  * @param Mage_Core_Model_Resource_Db_Collection_Abstract $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 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);
 }
Example #27
0
 /**
  * @return Mana_Admin_Block_V2_Grid
  */
 public function getGrid()
 {
     return parent::getGrid();
 }
 /**
  * Sets sorting order by some column
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Adminhtml_Block_Widget_Grid
  */
 protected function _setCollectionOrder($column)
 {
     $collection = $this->getCollection();
     if ($collection) {
         $columnIndex = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
         $columnIndex = $columnIndex == 'category_ids' ? 'cat_ids' : $columnIndex;
         $collection->setOrder($columnIndex, strtoupper($column->getDir()));
     }
     return $this;
 }
Example #29
0
 /**
  * Filter checked/unchecked rows in grid
  *
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  * @return Mage_Adminhtml_Block_Catalog_Product_Widget_Chooser
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_products') {
         $selected = $this->getSelectedProducts();
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('entity_id', array('in' => $selected));
         } else {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $selected));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
Example #30
0
 /**
  * Filter event collection
  *
  * @param Varien_Data_Collection                  $collection
  * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
  */
 protected function _eventFilter($collection, $column)
 {
     if (!($value = $column->getFilter()->getValue())) {
         return $this;
     }
     $collection = $this->getCollection();
     foreach ($collection as $itemKey => $item) {
         if (strpos($item->getEvent(), $value) === false) {
             $collection->removeItemByKey($itemKey);
         }
     }
     return $this;
 }