1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Adminhtml
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Shipment tracking control form
29: *
30: * @category Mage
31: * @package Mage_Adminhtml
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Adminhtml_Block_Sales_Order_Shipment_View_Tracking extends Mage_Adminhtml_Block_Template
35: {
36: /**
37: * Prepares layout of block
38: *
39: * @return Mage_Adminhtml_Block_Sales_Order_View_Giftmessage
40: */
41: protected function _prepareLayout()
42: {
43: $onclick = "submitAndReloadArea($('shipment_tracking_info').parentNode, '".$this->getSubmitUrl()."')";
44: $this->setChild('save_button',
45: $this->getLayout()->createBlock('adminhtml/widget_button')
46: ->setData(array(
47: 'label' => Mage::helper('sales')->__('Add'),
48: 'class' => 'save',
49: 'onclick' => $onclick
50: ))
51:
52: );
53: }
54:
55: /**
56: * Retrieve shipment model instance
57: *
58: * @return Mage_Sales_Model_Order_Shipment
59: */
60: public function getShipment()
61: {
62: return Mage::registry('current_shipment');
63: }
64:
65: /**
66: * Retrieve save url
67: *
68: * @return string
69: */
70: public function getSubmitUrl()
71: {
72: return $this->getUrl('*/*/addTrack/', array('shipment_id'=>$this->getShipment()->getId()));
73: }
74:
75: /**
76: * Retrive save button html
77: *
78: * @return string
79: */
80: public function getSaveButtonHtml()
81: {
82: return $this->getChildHtml('save_button');
83: }
84:
85: /**
86: * Retrieve remove url
87: *
88: * @return string
89: */
90: public function getRemoveUrl($track)
91: {
92: return $this->getUrl('*/*/removeTrack/', array(
93: 'shipment_id' => $this->getShipment()->getId(),
94: 'track_id' => $track->getId()
95: ));
96: }
97:
98: /**
99: * Retrieve remove url
100: *
101: * @return string
102: */
103: public function getTrackInfoUrl($track)
104: {
105: return $this->getUrl('*/*/viewTrack/', array(
106: 'shipment_id' => $this->getShipment()->getId(),
107: 'track_id' => $track->getId()
108: ));
109: }
110:
111: /**
112: * Retrieve
113: *
114: * @return unknown
115: */
116: public function getCarriers()
117: {
118: $carriers = array();
119: $carrierInstances = Mage::getSingleton('shipping/config')->getAllCarriers(
120: $this->getShipment()->getStoreId()
121: );
122: $carriers['custom'] = Mage::helper('sales')->__('Custom Value');
123: foreach ($carrierInstances as $code => $carrier) {
124: if ($carrier->isTrackingAvailable()) {
125: $carriers[$code] = $carrier->getConfigData('title');
126: }
127: }
128: return $carriers;
129: }
130:
131: public function getCarrierTitle($code)
132: {
133: if ($carrier = Mage::getSingleton('shipping/config')->getCarrierInstance($code)) {
134: return $carrier->getConfigData('title');
135: }
136: else {
137: return Mage::helper('sales')->__('Custom Value');
138: }
139: return false;
140: }
141: }
142: