/** * Creates and inits block * * @param string|null $reportType * @return Mage_Adminhtml_Block_Report_Sales_Shipping_Grid */ protected function _createBlock($reportType = null) { $block = new Mage_Adminhtml_Block_Report_Sales_Shipping_Grid(); $filterData = new Varien_Object(); if ($reportType) { $filterData->setReportType($reportType); } $block->setFilterData($filterData); return $block; }
protected function _prepareCollection() { $filterData = $this->getFilterData(); if ($filterData->getData('from') == null || $filterData->getData('to') == null) { $this->setCountTotals(false); $this->setCountSubTotals(false); return parent::_prepareCollection(); } $storeIds = $this->_getStoreIds(); $orderStatuses = $filterData->getData('order_statuses'); if (is_array($orderStatuses)) { if (count($orderStatuses) == 1 && strpos($orderStatuses[0], ',') !== false) { $filterData->setData('order_statuses', explode(',', $orderStatuses[0])); } } // var_dump(get_class(Mage::getResourceModel($this->getResourceCollectionName()))); // die; $vendorIds = $this->_getVendorIds(); $resourceCollection = Mage::getResourceModel($this->getResourceCollectionName())->setPeriod($filterData->getData('period_type'))->setDateRange($filterData->getData('from', null), $filterData->getData('to', null))->addStoreFilter($storeIds)->addOrderStatusFilter($filterData->getData('order_statuses'))->setAggregatedColumns($this->_getAggregatedColumns()); if ($this->_isExport) { $this->setCollection($resourceCollection); return $this; } if ($filterData->getData('show_empty_rows', false)) { Mage::helper('reports')->prepareIntervalsCollection($this->getCollection(), $filterData->getData('from', null), $filterData->getData('to', null), $filterData->getData('period_type')); } if ($this->getCountSubTotals()) { $this->getSubTotals(); } if ($this->getCountTotals()) { $totalsCollection = Mage::getResourceModel($this->getResourceCollectionName())->setPeriod($filterData->getData('period_type'))->setDateRange($filterData->getData('from', null), $filterData->getData('to', null))->addStoreFilter($storeIds)->addOrderStatusFilter($filterData->getData('order_statuses'))->setAggregatedColumns($this->_getAggregatedColumns())->isTotals(true); foreach ($totalsCollection as $item) { $this->setTotals($item); break; } } $this->getCollection()->setColumnGroupBy($this->_columnGroupBy); $this->getCollection()->setResourceCollection($resourceCollection); return parent::_prepareCollection(); }
public function getFilterData() { $filter = parent::getFilterData(); $filter->setStoreIds(implode(',', Mage::helper('aitpermissions/access')->getFilteredStoreIds($filter->getStoreIds() ? explode(',', $filter->getStoreIds()) : array()))); return $filter; }