*/ class Mage_Adminhtml_Block_Sales_Shipment_Grid extends Mage_Adminhtml_Block_Widget_Grid { /** * Initialization */ public function __construct() { parent::__construct(); $this->setId('sales_shipment_grid'); $this->setDefaultSort('created_at'); $this->setDefaultDir('DESC'); } /** * Retrieve collection class * * @return string */ protected function _getCollectionClass() { return 'sales/order_shipment_grid_collection'; } /** * Prepare and set collection of grid * * @return Mage_Adminhtml_Block_Widget_Grid */ protected function _prepareCollection() { $collection = Mage::getResourceModel($this->_getCollectionClass()); $this->setCollection($collection); return parent::_prepareCollection(); } /** * Prepare and add columns to grid * * @return Mage_Adminhtml_Block_Widget_Grid */ protected function _prepareColumns() { $this->addColumn('increment_id', array( 'header' => Mage::helper('sales')->__('Shipment #'), 'index' => 'increment_id', 'type' => 'text', )); $this->addColumn('created_at', array( 'header' => Mage::helper('sales')->__('Date Shipped'), '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('shipping_name', array( 'header' => Mage::helper('sales')->__('Ship to Name'), 'index' => 'shipping_name', )); $this->addColumn('total_qty', array( 'header' => Mage::helper('sales')->__('Total Qty'), 'index' => 'total_qty', 'type' => 'number', )); $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_shipment/view'), 'field' => 'shipment_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(); } /** * Get url for row * * @param string $row * @return string */ public function getRowUrl($row) { if (!Mage::getSingleton('admin/session')->isAllowed('sales/order/shipment')) { return false; } return $this->getUrl('*/sales_shipment/view', array( 'shipment_id'=> $row->getId(), ) ); } /** * Prepare and set options for massaction * * @return Mage_Adminhtml_Block_Sales_Shipment_Grid */ protected function _prepareMassaction() { $this->setMassactionIdField('entity_id'); $this->getMassactionBlock()->setFormFieldName('shipment_ids'); $this->getMassactionBlock()->setUseSelectAll(false); $this->getMassactionBlock()->addItem('pdfshipments_order', array( 'label'=> Mage::helper('sales')->__('PDF Packingslips'), 'url' => $this->getUrl('*/sales_shipment/pdfshipments'), )); $this->getMassactionBlock()->addItem('print_shipping_label', array( 'label'=> Mage::helper('sales')->__('Print Shipping Labels'), 'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'), )); return $this; } /** * Get url of grid * * @return string */ public function getGridUrl() { return $this->getUrl('*/*/*', array('_current' => true)); } }