*/ class Mage_Adminhtml_Block_Sales_Invoice_Grid extends Mage_Adminhtml_Block_Widget_Grid { public function __construct() { parent::__construct(); $this->setId('sales_invoice_grid'); $this->setUseAjax(true); $this->setDefaultSort('created_at'); $this->setDefaultDir('DESC'); $this->setSaveParametersInSession(true); } /** * Retrieve collection class * * @return string */ protected function _getCollectionClass() { return 'sales/order_invoice_grid_collection'; } protected function _prepareCollection() { $collection = Mage::getResourceModel($this->_getCollectionClass()); $this->setCollection($collection); return parent::_prepareCollection(); } protected function _prepareColumns() { $this->addColumn('increment_id', array( 'header' => Mage::helper('sales')->__('Invoice #'), 'index' => 'increment_id', 'type' => 'text', )); $this->addColumn('created_at', array( 'header' => Mage::helper('sales')->__('Invoice Date'), 'index' => 'created_at', 'type' => 'datetime', )); $this->addColumn('order_increment_id', array( 'header' => Mage::helper('sales')->__('Order #'), 'index' => 'order_increment_id', 'type' => 'text', )); $this->addColumn('order_created_at', array( 'header' => Mage::helper('sales')->__('Order Date'), 'index' => 'order_created_at', 'type' => 'datetime', )); $this->addColumn('billing_name', array( 'header' => Mage::helper('sales')->__('Bill to Name'), 'index' => 'billing_name', )); $this->addColumn('state', array( 'header' => Mage::helper('sales')->__('Status'), 'index' => 'state', 'type' => 'options', 'options' => Mage::getModel('sales/order_invoice')->getStates(), )); $this->addColumn('grand_total', array( 'header' => Mage::helper('customer')->__('Amount'), 'index' => 'grand_total', 'type' => 'currency', 'align' => 'right', 'currency' => 'order_currency_code', )); $this->addColumn('action', array( 'header' => Mage::helper('sales')->__('Action'), 'width' => '50px', 'type' => 'action', 'getter' => 'getId', 'actions' => array( array( 'caption' => Mage::helper('sales')->__('View'), 'url' => array('base'=>'*/sales_invoice/view'), 'field' => 'invoice_id' ) ), 'filter' => false, 'sortable' => false, 'is_system' => true )); $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV')); $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML')); return parent::_prepareColumns(); } protected function _prepareMassaction() { $this->setMassactionIdField('entity_id'); $this->getMassactionBlock()->setFormFieldName('invoice_ids'); $this->getMassactionBlock()->setUseSelectAll(false); $this->getMassactionBlock()->addItem('pdfinvoices_order', array( 'label'=> Mage::helper('sales')->__('PDF Invoices'), 'url' => $this->getUrl('*/sales_invoice/pdfinvoices'), )); return $this; } public function getRowUrl($row) { if (!Mage::getSingleton('admin/session')->isAllowed('sales/order/invoice')) { return false; } return $this->getUrl('*/sales_invoice/view', array( 'invoice_id'=> $row->getId(), ) ); } public function getGridUrl() { return $this->getUrl('*/*/grid', array('_current' => true)); } }