示例#1
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'zip') {
         $value = $column->getFilter()->getValue();
         if (!is_numeric($value)) {
             $state = addslashes(strtoupper(substr($value, -2)));
             $city = addslashes(substr_replace($value, "", -4));
             $zipArr = Mage::getModel('urls/cities')->getCityZips($city, $state);
             $field = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
             $this->getCollection()->addAttributeToFilter($field, array('in' => $zipArr));
             return $this;
         }
     }
     // 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', array('in' => $productIds));
         } elseif (!empty($productIds)) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#2
0
 protected function _addColumnFilterToCollection($column)
 {
     // Set custom filter for in product flag
     if ($column->getId() == 'in_products') {
         $productIds = $this->_getSelectedProducts();
         if (empty($productIds)) {
             $productIds = 0;
         }
         $createdProducts = $this->_getCreatedProducts();
         $existsProducts = $productIds;
         // Only for "Yes" Filter we will add created products
         if (count($createdProducts) > 0) {
             if (!is_array($existsProducts)) {
                 $existsProducts = $createdProducts;
             } else {
                 $existsProducts = array_merge($createdProducts);
             }
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('entity_id', array('in' => $existsProducts));
         } else {
             if ($productIds) {
                 $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
             }
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#3
0
 protected function _addColumnFilterToCollection($column)
 {
     $filterArr = Mage::registry('preparedFilter');
     if (($column->getId() === 'store_id' || $column->getId() === 'status') && $column->getFilter()->getValue() && strpos($column->getFilter()->getValue(), ',')) {
         $_inNin = explode(',', $column->getFilter()->getValue());
         $inNin = array();
         foreach ($_inNin as $k => $v) {
             if (is_string($v) && strlen(trim($v))) {
                 $inNin[] = trim($v);
             }
         }
         if (count($inNin) > 1 && in_array($inNin[0], array('in', 'nin'))) {
             $in = $inNin[0];
             $values = array_slice($inNin, 1);
             $this->getCollection()->addFieldToFilter($column->getId(), array($in => $values));
         } else {
             parent::_addColumnFilterToCollection($column);
         }
     } elseif (is_array($filterArr) && array_key_exists($column->getId(), $filterArr) && isset($filterArr[$column->getId()])) {
         $this->getCollection()->addFieldToFilter($column->getId(), $filterArr[$column->getId()]);
     } else {
         parent::_addColumnFilterToCollection($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');
         }
     }
     // 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;
 }
示例#5
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getIndex() == 'stores') {
         $this->getCollection()->addStoreFilter($column->getFilter()->getCondition(), false);
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#6
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getIndex() == 'popularity') {
         $this->getCollection()->addPopularityFilter($column->getFilter()->getCondition());
         return $this;
     } else {
         return parent::_addColumnFilterToCollection($column);
     }
 }
 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);
 }
示例#8
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($this->getCollection()) {
         if ($column->getId() == 'name') {
             $this->getCollection()->getSelect()->join(array('cpev' => 'catalog_product_entity_varchar'), 'cpev.entity_id = main_table.product_id', array('product_name' => 'value'))->join(array('ea' => 'eav_attribute'), '       cpev.attribute_id = ea.attribute_id')->join(array('eet' => 'eav_entity_type'), 'eet.entity_type_id = ea.entity_type_id')->where('ea.attribute_code = ?', 'name')->where('eet.entity_type_code = ?', 'catalog_product');
         }
     }
     return parent::_addColumnFilterToCollection($column);
 }
示例#9
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'serial_codes' && $column->getFilter()->getValue() == '*') {
         $this->getCollection()->addFieldToFilter($column->getId(), array('notnull' => true))->addFieldToFilter($column->getId(), array('neq' => ''));
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#10
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'sku' && $column->getFilter()->getValue()) {
         $this->getCollection()->addFieldToFilter($column->getId(), $column->getFilter()->getValue());
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#11
0
文件: Test.php 项目: rcclaudrey/dev
 protected function _addColumnFilterToCollection($column)
 {
     $field = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
     $skip = array('subtotal', 'customer_name', 'email');
     if (in_array($field, $skip)) {
         return $this;
     }
     parent::_addColumnFilterToCollection($column);
     return $this;
 }
示例#12
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;
 }
示例#13
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_products') {
         $value = $column->getFilter()->getValue();
         if ($value == 1) {
             $this->getCollection()->addFieldToFilter('alsoviewed_relation', array('notnull' => true));
         } elseif ($value == 0) {
             $this->getCollection()->addFieldToFilter('alsoviewed_relation', array('null' => true));
         }
     } else {
         parent::_addColumnFilterToCollection($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');
         }
         if ($column->getId() == 'ml_published') {
             $this->getCollection()->joinField('published', 'mercadolivre/product', 'published', 'product_id=entity_id', null, 'left');
         }
         if ($column->getId() == 'ml_type') {
             $this->getCollection()->joinField('type', 'mercadolivre/product', 'type', 'product_id=entity_id', null, 'left');
         }
     }
     return parent::_addColumnFilterToCollection($column);
 }
示例#15
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'ajax_grid_in_category') {
         $collection = $this->getCollection();
         $selectedNews = $this->getSelectedNews();
         if ($column->getFilter()->getValue()) {
             $collection->addFieldToFilter('news_id', array('in' => $selectedNews));
         } elseif (!empty($selectedNews)) {
             $collection->addFieldToFilter('news_id', array('nin' => $selectedNews));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
 /**
  * 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;
 }
示例#17
0
 protected function _addColumnFilterToCollection($column)
 {
     $id = $column->getId();
     $value = $column->getFilter()->getValue();
     $select = $this->getCollection()->getSelect();
     if (Mage::helper('udropship')->isUdmultiAvailable()) {
         switch ($id) {
             case 'vendor_sku':
                 if (!is_null($value) && $value !== '') {
                     $select->where('vendor_sku like ?', $column->getFilter()->getValue() . '%');
                 }
                 return $this;
             case 'vendor_cost':
                 if (!is_null($value['from']) && $value['from'] !== '') {
                     $select->where($id . '>=?', $value['from']);
                 }
                 if (!is_null($value['to']) && $value['to'] !== '') {
                     $select->where($id . '<=?', $value['to']);
                 }
                 return $this;
         }
     }
     switch ($id) {
         case 'stock_qty':
             if (!is_null($value['from']) && $value['from'] !== '') {
                 $select->where($this->_getStockField('qty') . '>=?', $value['from']);
             }
             if (!is_null($value['to']) && $value['to'] !== '') {
                 $select->where($this->_getStockField('qty') . '<=?', $value['to']);
             }
             return $this;
     }
     // Set custom filter for in category flag
     if ($column->getId() == 'in_vendor') {
         $productIds = $this->_getSelectedProducts();
         if (empty($productIds)) {
             $productIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('entity_id', array('in' => $productIds));
         } elseif (!empty($productIds)) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#18
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_toptiers') {
         $accountId = $this->_getSelectedAccount();
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('account_id', $accountId);
         } else {
             if ($accountId) {
                 $this->getCollection()->addFieldToFilter('account_id', array('neq' => $accountId));
             }
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#19
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_deliveries') {
         $deliveryIds = $this->_getSelectedDeliveries();
         if (empty($deliveryIds)) {
             $deliveryIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('delivery_id', array('in' => $deliveryIds));
         } elseif ($deliveryIds) {
             $this->getCollection()->addFieldToFilter('delivery_id', array('nin' => $deliveryIds));
         }
         return $this;
     }
     return parent::_addColumnFilterToCollection($column);
 }
示例#20
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'status') {
         $value = $column->getFilter()->getValue();
         if ($value == '2') {
             $this->getCollection()->addFieldToFilter('locked_at', array('notnull' => true));
         } else {
             $condition = $value == '1' ? 'null' : 'notnull';
             $this->getCollection()->addFieldToFilter('failed_at', array($condition => true));
             $this->getCollection()->addFieldToFilter('locked_at', array('null' => true));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#21
0
 protected function _addColumnFilterToCollection($column)
 {
     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));
         } elseif ($productIds) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
         }
         return $this;
     }
     return parent::_addColumnFilterToCollection($column);
 }
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_coupons') {
         $couponIds = $this->_getSelectedCoupons();
         if (empty($couponIds)) {
             $couponIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('main_table.coupon_id', array('in' => $couponIds));
         } elseif ($couponIds) {
             $this->getCollection()->addFieldToFilter('main_table.coupon_id', array('nin' => $couponIds));
         }
         return $this;
     }
     return parent::_addColumnFilterToCollection($column);
 }
示例#23
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_packages') {
         $packageIds = $this->_getSelectedPackages();
         if (empty($packageIds)) {
             $packageIds = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('main_table.package_id', array('in' => $packageIds));
         } elseif (!empty($packageIds)) {
             $this->getCollection()->addFieldToFilter('main_table.package_id', array('nin' => $packageIds));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#24
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_handles') {
         $selected = $this->_getSelectedHandles();
         if (empty($selected)) {
             $selected = '';
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('id', array('in' => $selected));
         } else {
             $this->getCollection()->addFieldToFilter('id', array('nin' => $selected));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#25
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);
 }
示例#26
0
 /**
  * @param $column Mage_Adminhtml_Block_Widget_Grid_Column
  * @return $this
  */
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_pages') {
         $selected = $this->getSelectedPages();
         /** @noinspection PhpUndefinedMethodInspection */
         if ($column->getFilter()->getValue()) {
             /** @noinspection PhpUndefinedMethodInspection */
             $this->getCollection()->addFieldToFilter('page_id', array('in' => $selected));
         } else {
             /** @noinspection PhpUndefinedMethodInspection */
             $this->getCollection()->addFieldToFilter('page_id', array('nin' => $selected));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#27
0
 protected function _addColumnFilterToCollection($column)
 {
     if ($column->getId() == 'in_customers') {
         $ids = $this->_getSelectedCustomers();
         if (empty($ids)) {
             $ids = 0;
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('entity_id', array('in' => $ids));
         } elseif (!empty($ids)) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $ids));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#28
0
 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', array('in' => $productIds));
         } elseif (!empty($productIds)) {
             $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
示例#29
0
 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', array('in' => $selected));
         } else {
             $this->getCollection()->addFieldToFilter('sku', array('nin' => $selected));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }
 protected function _addColumnFilterToCollection($column)
 {
     // Set custom filter for in category flag
     if ($column->getId() == 'attached_videos') {
         $videoIds = $this->_getAttachedVideos();
         if (empty($videoIds)) {
             $videoIds = array(0);
         }
         if ($column->getFilter()->getValue()) {
             $this->getCollection()->addFieldToFilter('video_id', array('in' => $videoIds));
         } elseif (!empty($videoIds)) {
             $this->getCollection()->addFieldToFilter('video_id', array('nin' => $videoIds));
         }
     } else {
         parent::_addColumnFilterToCollection($column);
     }
     return $this;
 }