Ejemplo n.º 1
0
 public function setCollection($collection)
 {
     // 1.6.1
     if ($collection instanceof Mage_Sales_Model_Resource_Order_Grid_Collection) {
         $collection->getSelect()->joinLeft(array('frauddetection_data' => $collection->getTable('frauddetection/result')), 'frauddetection_data.order_id=main_table.entity_id', 'fraud_score');
     } else {
         if ($collection instanceof Mage_Core_Model_Mysql4_Collection_Abstract) {
             $collection->getSelect()->joinLeft(array('frauddetection_data' => $collection->getTable('frauddetection/result')), 'frauddetection_data.order_id=main_table.entity_id', 'fraud_score');
         } else {
             if ($collection instanceof Mage_Eav_Model_Entity_Collection_Abstract) {
                 $collection->joinTable('frauddetection/result', 'order_id=entity_id', array("fraud_score" => "fraud_score"), null, "left");
             }
         }
     }
     return parent::setCollection($collection);
 }
Ejemplo n.º 2
0
 /**
  * MUST override setCollection rather than _prepareCollection to get filtering and paging both working
  *
  * @param Mage_Sales_Model_Mysql4_Order_Grid_Collection $collection
  */
 public function setCollection($collection)
 {
     parent::setCollection($collection);
     if (!Mage::getStoreConfig(self::XML_PATH_RENDER_COLUMN) || $this->_isExport) {
         return;
     }
     // Only join if we have to
     $filters = $this->getParam($this->getVarNameFilter(), null);
     if (is_string($filters)) {
         $filters = $this->helper('adminhtml')->prepareFilterString($filters);
     }
     if ($filters && (is_array($filters) && !empty($filters['skus']))) {
         $collection->getSize();
         // Get size before adding join
         $collection->join(['soi' => 'sales/order_item'], 'soi.order_id=main_table.entity_id', array());
         $collection->getSelect()->group('entity_id');
     }
 }