private function processExistShipment(Mage_Adminhtml_Block_Sales_Order_Shipment_View $block) { $shipmentId = $block->getRequest()->getParam('shipment_id'); if (empty($shipmentId)) { return; } /** @var Mage_Sales_Model_Order_Shipment $shipment */ $shipment = Mage::getModel('sales/order_shipment')->load((int) $shipmentId); try { /** @var Ess_M2ePro_Model_Order $order */ $order = Mage::helper('M2ePro/Component_Amazon')->getObject('Order', (int) $shipment->getOrderId(), 'magento_order_id'); } catch (Exception $exception) { return; } if (is_null($order) || !$order->getId()) { return; } if (!$order->isMagentoShipmentCreatedByOrder($shipment)) { return; } /** @var Ess_M2ePro_Model_Amazon_Order $amazonOrder */ $amazonOrder = $order->getChildObject(); if (!$amazonOrder->isMerchantFulfillmentApplied() || !$amazonOrder->getData('merchant_fulfillment_label')) { return; } $getLabelUrl = $block->getUrl('M2ePro/adminhtml_common_amazon_order_merchantFulfillment/getLabel', array('order_id' => $order->getId())); $block->updateButton('print', 'onclick', 'window.open(\'' . $getLabelUrl . '\')'); }