Version Notes
Notes
Download this release
Release Info
Developer | Bobby Burden |
Extension | iparcel_carthandoff |
Version | 1.2.0 |
Comparing to | |
See all releases |
Code changes from version 1.1.2 to 1.2.0
- app/code/community/Iparcel/All/Helper/Api.php +38 -22
- app/code/community/Iparcel/All/etc/config.xml +2 -2
- app/code/community/Iparcel/All/etc/system.xml +46 -1
- app/code/community/Iparcel/All/sql/iparcel_setup/mysql4-upgrade-1.2.0-1.2.1.php +14 -0
- app/code/community/Iparcel/CartHandoff/Block/Button.php +2 -2
- app/code/community/Iparcel/CartHandoff/Helper/Api.php +7 -2
- app/code/community/Iparcel/CartHandoff/Model/Sales/Order.php +22 -0
- app/code/community/Iparcel/CartHandoff/etc/config.xml +8 -1
- app/code/community/Iparcel/CartHandoff/etc/system.xml +18 -0
- app/design/frontend/base/default/layout/ipcarthandoff.xml +5 -0
- app/design/frontend/base/default/template/iparcel/carthandoff/button.phtml +6 -1
- app/design/frontend/base/default/template/iparcel/carthandoff/estimate.phtml +13 -11
- js/iparcel/cart-buttons.js +28 -0
- package.xml +4 -4
app/code/community/Iparcel/All/Helper/Api.php
CHANGED
@@ -86,6 +86,16 @@ class Iparcel_All_Helper_Api
|
|
86 |
);
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
/**
|
90 |
* Cancels shipments via the Web Service API
|
91 |
*
|
@@ -215,27 +225,27 @@ class Iparcel_All_Helper_Api
|
|
215 |
$itemProduct = Mage::getModel('catalog/product')->load($item->getProductId());
|
216 |
/* var $itemProduct Mage_Catalog_Model_Product */
|
217 |
//get item price
|
218 |
-
$itemPrice = (float)$item->
|
219 |
// if not price and item has parent (is configurable)
|
220 |
if (!$itemPrice && ($parent=$item->getParentItem())) {
|
221 |
// get parent price
|
222 |
-
$itemPrice = (float)$parent->
|
223 |
}
|
224 |
// if still not price
|
225 |
if (!$itemPrice) {
|
226 |
// get product price
|
227 |
-
$itemPrice = (float)$item->getProduct()
|
228 |
}
|
229 |
// if product isn't virtual and is configurable or downloadable
|
230 |
if ($item["is_virtual"] == false && !in_array($itemProduct->getTypeId(), array('configurable','downloadable'))) {
|
231 |
// add line item node
|
232 |
$lineItem = array();
|
233 |
$lineItem['SKU'] = $item->getSku();
|
234 |
-
$lineItem['CustWeightLbs'] = (float)$item->getWeight();
|
235 |
$lineItem['ValueUSD'] = $itemPrice;
|
236 |
-
$lineItem['CustLengthInches'] = (float)$item->
|
237 |
-
$lineItem['
|
238 |
-
$lineItem['
|
|
|
239 |
$lineItem['Quantity'] = $item->getTotalQty();
|
240 |
$lineItem['ValueShopperCurrency'] = $itemPrice;
|
241 |
$lineItem['ShopperCurrency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
|
@@ -247,13 +257,18 @@ class Iparcel_All_Helper_Api
|
|
247 |
$totals = $quote->getTotals();
|
248 |
$discount = 0;
|
249 |
if (isset($totals['discount']) && $totals['discount']->getValue()) {
|
250 |
-
$discount =
|
|
|
|
|
|
|
251 |
}
|
|
|
252 |
$json['OtherDiscount'] = $discount;
|
253 |
$json['OtherDiscountCurrency'] = $quote->getQuoteCurrencyCode();
|
254 |
$json['ParcelID'] = 0;
|
255 |
$json['SessionID'] = '';
|
256 |
$json['key'] = Mage::helper('iparcel')->getGuid();
|
|
|
257 |
$log->setRequest(json_encode($json));
|
258 |
$response = $this->_restJSON($json, $this->_quote);
|
259 |
$log->setResponse($response);
|
@@ -369,27 +384,27 @@ class Iparcel_All_Helper_Api
|
|
369 |
$itemProduct = Mage::getModel('catalog/product')->load($item->getOrderItem()->getProductId());
|
370 |
}
|
371 |
//get item price
|
372 |
-
$itemPrice = (float)$item->
|
373 |
// if not price and item has parent (is configurable)
|
374 |
if (!$itemPrice && ($parent=$item->getParentItem())) {
|
375 |
// get parent price
|
376 |
-
$itemPrice = (float)$parent->
|
377 |
}
|
378 |
// if still not price
|
379 |
if (!$itemPrice) {
|
380 |
// get product price
|
381 |
-
$itemPrice = (float)$item->getProduct()
|
382 |
}
|
383 |
// if product isn't virtual and is configurable or downloadable
|
384 |
if ($item["is_virtual"] == false && !in_array($itemProduct->getTypeId(), array('configurable','downloadable'))) {
|
385 |
// add line item node
|
386 |
$lineItem = array();
|
387 |
$lineItem['SKU'] = $item->getSku();
|
388 |
-
$lineItem['CustWeightLbs'] = (float)$item->getWeight();
|
389 |
$lineItem['ValueUSD'] = $itemPrice;
|
390 |
-
$lineItem['CustLengthInches'] = (float)$item->
|
391 |
-
$lineItem['
|
392 |
-
$lineItem['
|
|
|
393 |
$lineItem['Quantity'] = (float)$item->getQty();
|
394 |
$lineItem['ValueShopperCurrency'] = $itemPrice;
|
395 |
$lineItem['ShopperCurrency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
|
@@ -585,16 +600,16 @@ class Iparcel_All_Helper_Api
|
|
585 |
|
586 |
$price = null;
|
587 |
// if it's simple product and config is to get parent's price
|
588 |
-
if ($product->getTypeId() == 'simple' && Mage::getStoreConfig('catalog_mapping/attributes/
|
589 |
// get parentIds
|
590 |
$parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId()) ?: Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
591 |
// get price
|
592 |
-
$price = $parentIds ? Mage::getModel('catalog/product')->load($parentIds[0])
|
593 |
}
|
594 |
// if there's no price
|
595 |
if (!$price) {
|
596 |
//get current product's price
|
597 |
-
$price = $
|
598 |
}
|
599 |
|
600 |
$item['CountryOfOrigin'] = (string)$product->getCountryOfManufacture();
|
@@ -608,15 +623,16 @@ class Iparcel_All_Helper_Api
|
|
608 |
$item['HSCodeUS'] = '';
|
609 |
}
|
610 |
|
611 |
-
$item['
|
612 |
-
$item['
|
|
|
|
|
|
|
613 |
$item['ProductURL'] = $product->getUrlPath();
|
614 |
$item['SKN'] = '';
|
615 |
if ($code = $shipAlone->getAttributeCode()) {
|
616 |
$item['ShipAlone'] = $product->getAttributeText($code) == 'Yes' ? true : false;
|
617 |
}
|
618 |
-
$item['Width'] = (float)$product->getWidth();
|
619 |
-
$item['Weight'] = (float)$product->getWeight();
|
620 |
|
621 |
// Detect and handle a Simple Product with Custom Options
|
622 |
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE && $product->getHasOptions()) {
|
86 |
);
|
87 |
}
|
88 |
|
89 |
+
protected function _getProductAttribute($product, $code) {
|
90 |
+
$attribute = Mage::getModel('eav/entity_attribute')
|
91 |
+
->load(Mage::getStoreConfig('catalog_mapping/attributes/' . $code));
|
92 |
+
if ($attribute->getData()) {
|
93 |
+
$code = $attribute->getAttributeCode();
|
94 |
+
}
|
95 |
+
$val = strip_tags(($product->getData($code) && $product->getAttributeText($code)) ? $product->getAttributeText($code) : $product->getData($code));
|
96 |
+
return $val;
|
97 |
+
}
|
98 |
+
|
99 |
/**
|
100 |
* Cancels shipments via the Web Service API
|
101 |
*
|
225 |
$itemProduct = Mage::getModel('catalog/product')->load($item->getProductId());
|
226 |
/* var $itemProduct Mage_Catalog_Model_Product */
|
227 |
//get item price
|
228 |
+
$itemPrice = (float)$this->_getProductAttribute($item->getProduct(), 'final_price') ?: (float)$this->_getProductAttribute($item->getProduct(), 'price');
|
229 |
// if not price and item has parent (is configurable)
|
230 |
if (!$itemPrice && ($parent=$item->getParentItem())) {
|
231 |
// get parent price
|
232 |
+
$itemPrice = (float)$this->_getProductAttribute($parent->getProduct(), 'final_price') ?: (float)$this->_getProductAttribute($parent->getProduct(), 'price');
|
233 |
}
|
234 |
// if still not price
|
235 |
if (!$itemPrice) {
|
236 |
// get product price
|
237 |
+
$itemPrice = (float)$this->_getProductAttribute($item->getProduct(), 'price');
|
238 |
}
|
239 |
// if product isn't virtual and is configurable or downloadable
|
240 |
if ($item["is_virtual"] == false && !in_array($itemProduct->getTypeId(), array('configurable','downloadable'))) {
|
241 |
// add line item node
|
242 |
$lineItem = array();
|
243 |
$lineItem['SKU'] = $item->getSku();
|
|
|
244 |
$lineItem['ValueUSD'] = $itemPrice;
|
245 |
+
$lineItem['CustLengthInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'length');
|
246 |
+
$lineItem['CustHeightInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'height');
|
247 |
+
$lineItem['CustWidthInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'width');
|
248 |
+
$lineItem['CustWeightLbs'] = (float)$this->_getProductAttribute($item->getProduct(), 'weight');
|
249 |
$lineItem['Quantity'] = $item->getTotalQty();
|
250 |
$lineItem['ValueShopperCurrency'] = $itemPrice;
|
251 |
$lineItem['ShopperCurrency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
|
257 |
$totals = $quote->getTotals();
|
258 |
$discount = 0;
|
259 |
if (isset($totals['discount']) && $totals['discount']->getValue()) {
|
260 |
+
$discount = abs($totals['discount']->getValue());
|
261 |
+
}
|
262 |
+
if(isset($totals['ugiftcert']) && $totals['ugiftcert']->getValue()) {
|
263 |
+
$discount = $discount + abs($totals['ugiftcert']->getValue());
|
264 |
}
|
265 |
+
|
266 |
$json['OtherDiscount'] = $discount;
|
267 |
$json['OtherDiscountCurrency'] = $quote->getQuoteCurrencyCode();
|
268 |
$json['ParcelID'] = 0;
|
269 |
$json['SessionID'] = '';
|
270 |
$json['key'] = Mage::helper('iparcel')->getGuid();
|
271 |
+
|
272 |
$log->setRequest(json_encode($json));
|
273 |
$response = $this->_restJSON($json, $this->_quote);
|
274 |
$log->setResponse($response);
|
384 |
$itemProduct = Mage::getModel('catalog/product')->load($item->getOrderItem()->getProductId());
|
385 |
}
|
386 |
//get item price
|
387 |
+
$itemPrice = (float)$this->_getProductAttribute($item->getProduct(), 'final_price') ?: (float)$this->_getProductAttribute($item->getProduct(), 'price');
|
388 |
// if not price and item has parent (is configurable)
|
389 |
if (!$itemPrice && ($parent=$item->getParentItem())) {
|
390 |
// get parent price
|
391 |
+
$itemPrice = (float)$this->_getProductAttribute($parent->getProduct(), 'final_price') ?: (float)$this->_getProductAttribute($parent->getProduct(), 'price');
|
392 |
}
|
393 |
// if still not price
|
394 |
if (!$itemPrice) {
|
395 |
// get product price
|
396 |
+
$itemPrice = (float)$this->_getProductAttribute($item->getProduct(), 'price');
|
397 |
}
|
398 |
// if product isn't virtual and is configurable or downloadable
|
399 |
if ($item["is_virtual"] == false && !in_array($itemProduct->getTypeId(), array('configurable','downloadable'))) {
|
400 |
// add line item node
|
401 |
$lineItem = array();
|
402 |
$lineItem['SKU'] = $item->getSku();
|
|
|
403 |
$lineItem['ValueUSD'] = $itemPrice;
|
404 |
+
$lineItem['CustLengthInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'length');
|
405 |
+
$lineItem['CustHeightInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'height');
|
406 |
+
$lineItem['CustWidthInches'] = (float)$this->_getProductAttribute($item->getProduct(), 'width');
|
407 |
+
$lineItem['CustWeightLbs'] = (float)$this->_getProductAttribute($item->getProduct(), 'weight');
|
408 |
$lineItem['Quantity'] = (float)$item->getQty();
|
409 |
$lineItem['ValueShopperCurrency'] = $itemPrice;
|
410 |
$lineItem['ShopperCurrency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
|
600 |
|
601 |
$price = null;
|
602 |
// if it's simple product and config is to get parent's price
|
603 |
+
if ($product->getTypeId() == 'simple' && Mage::getStoreConfig('catalog_mapping/attributes/price_type') == Iparcel_All_Model_System_Config_Source_Catalog_Mapping_Configurable_Price::CONFIGURABLE) {
|
604 |
// get parentIds
|
605 |
$parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId()) ?: Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
606 |
// get price
|
607 |
+
$price = $parentIds ? $this->_getProductAttribute(Mage::getModel('catalog/product')->load($parentIds[0]), 'price') : $this->_getProductAttribute($product, 'price');
|
608 |
}
|
609 |
// if there's no price
|
610 |
if (!$price) {
|
611 |
//get current product's price
|
612 |
+
$price = $this->_getProductAttribute($product, 'price');
|
613 |
}
|
614 |
|
615 |
$item['CountryOfOrigin'] = (string)$product->getCountryOfManufacture();
|
623 |
$item['HSCodeUS'] = '';
|
624 |
}
|
625 |
|
626 |
+
$item['Length'] = (float)$this->_getProductAttribute($product, 'length');
|
627 |
+
$item['Height'] = (float)$this->_getProductAttribute($product, 'height');
|
628 |
+
$item['Width'] = (float)$this->_getProductAttribute($product, 'width');
|
629 |
+
$item['Weight'] = (float)$this->_getProductAttribute($product, 'weight');
|
630 |
+
|
631 |
$item['ProductURL'] = $product->getUrlPath();
|
632 |
$item['SKN'] = '';
|
633 |
if ($code = $shipAlone->getAttributeCode()) {
|
634 |
$item['ShipAlone'] = $product->getAttributeText($code) == 'Yes' ? true : false;
|
635 |
}
|
|
|
|
|
636 |
|
637 |
// Detect and handle a Simple Product with Custom Options
|
638 |
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE && $product->getHasOptions()) {
|
app/code/community/Iparcel/All/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_All>
|
5 |
-
<version>1.2.
|
6 |
</Iparcel_All>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -281,7 +281,7 @@
|
|
281 |
<offset>0</offset>
|
282 |
</upload>
|
283 |
<attributes>
|
284 |
-
<
|
285 |
</attributes>
|
286 |
</catalog_mapping>
|
287 |
<carriers>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_All>
|
5 |
+
<version>1.2.1</version>
|
6 |
</Iparcel_All>
|
7 |
</modules>
|
8 |
<frontend>
|
281 |
<offset>0</offset>
|
282 |
</upload>
|
283 |
<attributes>
|
284 |
+
<price_type>1</price_type>
|
285 |
</attributes>
|
286 |
</catalog_mapping>
|
287 |
<carriers>
|
app/code/community/Iparcel/All/etc/system.xml
CHANGED
@@ -526,7 +526,7 @@
|
|
526 |
<show_in_store>0</show_in_store>
|
527 |
<comment>Only boolean attributes</comment>
|
528 |
</shipalone>
|
529 |
-
<
|
530 |
<label>Price Type</label>
|
531 |
<frontend_type>select</frontend_type>
|
532 |
<source_model>iparcel/system_config_source_catalog_mapping_configurable_price</source_model>
|
@@ -535,6 +535,51 @@
|
|
535 |
<show_in_website>1</show_in_website>
|
536 |
<show_in_store>0</show_in_store>
|
537 |
<comment>Price type for configurable products</comment>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
</price>
|
539 |
</fields>
|
540 |
</attributes>
|
526 |
<show_in_store>0</show_in_store>
|
527 |
<comment>Only boolean attributes</comment>
|
528 |
</shipalone>
|
529 |
+
<price_type translate="label">
|
530 |
<label>Price Type</label>
|
531 |
<frontend_type>select</frontend_type>
|
532 |
<source_model>iparcel/system_config_source_catalog_mapping_configurable_price</source_model>
|
535 |
<show_in_website>1</show_in_website>
|
536 |
<show_in_store>0</show_in_store>
|
537 |
<comment>Price type for configurable products</comment>
|
538 |
+
</price_type>
|
539 |
+
<height translate="label">
|
540 |
+
<label>Height</label>
|
541 |
+
<frontend_type>select</frontend_type>
|
542 |
+
<source_model>iparcel/system_config_source_catalog_product_attribute</source_model>
|
543 |
+
<sort_order>47</sort_order>
|
544 |
+
<show_in_default>1</show_in_default>
|
545 |
+
<show_in_website>1</show_in_website>
|
546 |
+
<show_in_store>0</show_in_store>
|
547 |
+
</height>
|
548 |
+
<width translate="label">
|
549 |
+
<label>Width</label>
|
550 |
+
<frontend_type>select</frontend_type>
|
551 |
+
<source_model>iparcel/system_config_source_catalog_product_attribute</source_model>
|
552 |
+
<sort_order>47</sort_order>
|
553 |
+
<show_in_default>1</show_in_default>
|
554 |
+
<show_in_website>1</show_in_website>
|
555 |
+
<show_in_store>0</show_in_store>
|
556 |
+
</width>
|
557 |
+
<weight translate="label">
|
558 |
+
<label>Weight</label>
|
559 |
+
<frontend_type>select</frontend_type>
|
560 |
+
<source_model>iparcel/system_config_source_catalog_product_attribute</source_model>
|
561 |
+
<sort_order>47</sort_order>
|
562 |
+
<show_in_default>1</show_in_default>
|
563 |
+
<show_in_website>1</show_in_website>
|
564 |
+
<show_in_store>0</show_in_store>
|
565 |
+
</weight>
|
566 |
+
<length translate="label">
|
567 |
+
<label>Length</label>
|
568 |
+
<frontend_type>select</frontend_type>
|
569 |
+
<source_model>iparcel/system_config_source_catalog_product_attribute</source_model>
|
570 |
+
<sort_order>47</sort_order>
|
571 |
+
<show_in_default>1</show_in_default>
|
572 |
+
<show_in_website>1</show_in_website>
|
573 |
+
<show_in_store>0</show_in_store>
|
574 |
+
</length>
|
575 |
+
<price translate="label">
|
576 |
+
<label>Price</label>
|
577 |
+
<frontend_type>select</frontend_type>
|
578 |
+
<source_model>iparcel/system_config_source_catalog_product_attribute</source_model>
|
579 |
+
<sort_order>47</sort_order>
|
580 |
+
<show_in_default>1</show_in_default>
|
581 |
+
<show_in_website>1</show_in_website>
|
582 |
+
<show_in_store>0</show_in_store>
|
583 |
</price>
|
584 |
</fields>
|
585 |
</attributes>
|
app/code/community/Iparcel/All/sql/iparcel_setup/mysql4-upgrade-1.2.0-1.2.1.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
$installer->startSetup();
|
5 |
+
|
6 |
+
$attributeArray = array('width', 'height', 'price', 'weight', 'length');
|
7 |
+
foreach($attributeArray as $attributeCode) {
|
8 |
+
$attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $attributeCode);
|
9 |
+
if($attributeModel->getData()) {
|
10 |
+
Mage::getModel('core/config')->saveConfig('catalog_mapping/attributes/' . $attributeCode, $attributeModel->getAttributeId());
|
11 |
+
}
|
12 |
+
}
|
13 |
+
|
14 |
+
$installer->endSetup();
|
app/code/community/Iparcel/CartHandoff/Block/Button.php
CHANGED
@@ -71,9 +71,9 @@ class Iparcel_CartHandoff_Block_Button extends Mage_Core_Block_Template
|
|
71 |
switch ($nameInLayout) {
|
72 |
case "topcart.extra_actions.ipcarthandoff":
|
73 |
case "cart_sidebar.extra_actions.ipcarthandoff":
|
74 |
-
return "padding: 10px 0 10px 0;";
|
75 |
default:
|
76 |
-
return "";
|
77 |
}
|
78 |
|
79 |
return "";
|
71 |
switch ($nameInLayout) {
|
72 |
case "topcart.extra_actions.ipcarthandoff":
|
73 |
case "cart_sidebar.extra_actions.ipcarthandoff":
|
74 |
+
return "padding: 10px 0 10px 0; display: none;";
|
75 |
default:
|
76 |
+
return "display: none;";
|
77 |
}
|
78 |
|
79 |
return "";
|
app/code/community/Iparcel/CartHandoff/Helper/Api.php
CHANGED
@@ -104,8 +104,13 @@ class Iparcel_CartHandoff_Helper_Api extends Iparcel_All_Helper_Api
|
|
104 |
'day_phone_b' => $phoneNumber,
|
105 |
);
|
106 |
$totals = $quote->getTotals();
|
|
|
107 |
if(isset($totals['discount'])) {
|
108 |
-
$request['discount_amount_cart'] = $totals['discount']->getValue();
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
|
111 |
// Add items to request
|
@@ -486,4 +491,4 @@ class Iparcel_CartHandoff_Helper_Api extends Iparcel_All_Helper_Api
|
|
486 |
|
487 |
return $order;
|
488 |
}
|
489 |
-
}
|
104 |
'day_phone_b' => $phoneNumber,
|
105 |
);
|
106 |
$totals = $quote->getTotals();
|
107 |
+
|
108 |
if(isset($totals['discount'])) {
|
109 |
+
$request['discount_amount_cart'] = abs($totals['discount']->getValue());
|
110 |
+
}
|
111 |
+
|
112 |
+
if(isset($totals['ugiftcert'])) {
|
113 |
+
$request['discount_amount_cart'] += abs($request['discount_amount_cart']) + abs($totals['ugiftcert']->getValue());
|
114 |
}
|
115 |
|
116 |
// Add items to request
|
491 |
|
492 |
return $order;
|
493 |
}
|
494 |
+
}
|
app/code/community/Iparcel/CartHandoff/Model/Sales/Order.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Overrides Mage_Sales_Model_Order to control sending new order emails
|
4 |
+
*
|
5 |
+
* @category Iparcel
|
6 |
+
* @package Iparcel_CartHandoff
|
7 |
+
* @author Bobby Burden <bburden@i-parcel.com>
|
8 |
+
*/
|
9 |
+
class Iparcel_CartHandoff_Model_Sales_Order extends Mage_Sales_Model_Order
|
10 |
+
{
|
11 |
+
public function queueNewOrderEmail($forceMode = false)
|
12 |
+
{
|
13 |
+
if (Mage::getStoreConfig('payment/ipcarthandoff/send_new_order_emails') == 0
|
14 |
+
&& $this->getPayment()->getMethod() == 'iparcel'
|
15 |
+
&& $forceMode == false
|
16 |
+
) {
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
return parent::queueNewOrderEmail($forceMode);
|
21 |
+
}
|
22 |
+
}
|
app/code/community/Iparcel/CartHandoff/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_CartHandoff>
|
5 |
-
<version>1.
|
6 |
</Iparcel_CartHandoff>
|
7 |
</modules>
|
8 |
<global>
|
@@ -11,6 +11,11 @@
|
|
11 |
<class>Iparcel_CartHandoff_Model</class>
|
12 |
<resourceModel>ipcarthandoff_resource</resourceModel>
|
13 |
</ipcarthandoff>
|
|
|
|
|
|
|
|
|
|
|
14 |
</models>
|
15 |
<helpers>
|
16 |
<ipcarthandoff>
|
@@ -61,6 +66,8 @@
|
|
61 |
<display_on_cart>1</display_on_cart>
|
62 |
<payment_method_message>You will be redirected to UPS i-parcel to complete checkout.</payment_method_message>
|
63 |
<cart_placement>2</cart_placement>
|
|
|
|
|
64 |
</ipcarthandoff>
|
65 |
</payment>
|
66 |
<carriers>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_CartHandoff>
|
5 |
+
<version>1.2.0</version>
|
6 |
</Iparcel_CartHandoff>
|
7 |
</modules>
|
8 |
<global>
|
11 |
<class>Iparcel_CartHandoff_Model</class>
|
12 |
<resourceModel>ipcarthandoff_resource</resourceModel>
|
13 |
</ipcarthandoff>
|
14 |
+
<sales>
|
15 |
+
<rewrite>
|
16 |
+
<order>Iparcel_CartHandoff_Model_Sales_Order</order>
|
17 |
+
</rewrite>
|
18 |
+
</sales>
|
19 |
</models>
|
20 |
<helpers>
|
21 |
<ipcarthandoff>
|
66 |
<display_on_cart>1</display_on_cart>
|
67 |
<payment_method_message>You will be redirected to UPS i-parcel to complete checkout.</payment_method_message>
|
68 |
<cart_placement>2</cart_placement>
|
69 |
+
<hide_proceed_to_checkout>0</hide_proceed_to_checkout>
|
70 |
+
<send_new_order_emails>1</send_new_order_emails>
|
71 |
</ipcarthandoff>
|
72 |
</payment>
|
73 |
<carriers>
|
app/code/community/Iparcel/CartHandoff/etc/system.xml
CHANGED
@@ -47,6 +47,15 @@
|
|
47 |
<show_in_website>1</show_in_website>
|
48 |
<show_in_store>1</show_in_store>
|
49 |
</cart_placement>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
<active>
|
51 |
<label>Display as Payment Method?</label>
|
52 |
<tooltip>Adds the button to the "Payment Method" checkout step.</tooltip>
|
@@ -66,6 +75,15 @@
|
|
66 |
<show_in_website>1</show_in_website>
|
67 |
<show_in_store>1</show_in_store>
|
68 |
</payment_method_message>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
<sort_order>
|
70 |
<label>Sort Order</label>
|
71 |
<tooltip>Sort Order as a payment method.</tooltip>
|
47 |
<show_in_website>1</show_in_website>
|
48 |
<show_in_store>1</show_in_store>
|
49 |
</cart_placement>
|
50 |
+
<hide_proceed_to_checkout>
|
51 |
+
<label>Hide the "Proceed to Checkout" button in the cart for non-US customers.</label>
|
52 |
+
<frontend_type>select</frontend_type>
|
53 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
54 |
+
<sort_order>17</sort_order>
|
55 |
+
<show_in_default>1</show_in_default>
|
56 |
+
<show_in_website>1</show_in_website>
|
57 |
+
<show_in_store>1</show_in_store>
|
58 |
+
</hide_proceed_to_checkout>
|
59 |
<active>
|
60 |
<label>Display as Payment Method?</label>
|
61 |
<tooltip>Adds the button to the "Payment Method" checkout step.</tooltip>
|
75 |
<show_in_website>1</show_in_website>
|
76 |
<show_in_store>1</show_in_store>
|
77 |
</payment_method_message>
|
78 |
+
<send_new_order_emails>
|
79 |
+
<label>Send Order Confirmation emails from Magento for i-parcel orders?</label>
|
80 |
+
<frontend_type>select</frontend_type>
|
81 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
82 |
+
<sort_order>27</sort_order>
|
83 |
+
<show_in_default>1</show_in_default>
|
84 |
+
<show_in_website>1</show_in_website>
|
85 |
+
<show_in_store>1</show_in_store>
|
86 |
+
</send_new_order_emails>
|
87 |
<sort_order>
|
88 |
<label>Sort Order</label>
|
89 |
<tooltip>Sort Order as a payment method.</tooltip>
|
app/design/frontend/base/default/layout/ipcarthandoff.xml
CHANGED
@@ -1,6 +1,11 @@
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<layout version="0.1.0">
|
3 |
<checkout_cart_index>
|
|
|
|
|
|
|
|
|
|
|
4 |
<reference name="checkout.cart.top_methods">
|
5 |
<block type="ipcarthandoff/button" name="checkout.cart.methods.ipcarthandoff.top" before="-" template="iparcel/carthandoff/button.phtml" />
|
6 |
</reference>
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<layout version="0.1.0">
|
3 |
<checkout_cart_index>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addJs">
|
6 |
+
<name>iparcel/cart-buttons.js</name>
|
7 |
+
</action>
|
8 |
+
</reference>
|
9 |
<reference name="checkout.cart.top_methods">
|
10 |
<block type="ipcarthandoff/button" name="checkout.cart.methods.ipcarthandoff.top" before="-" template="iparcel/carthandoff/button.phtml" />
|
11 |
</reference>
|
app/design/frontend/base/default/template/iparcel/carthandoff/button.phtml
CHANGED
@@ -4,6 +4,8 @@
|
|
4 |
*
|
5 |
* @var $this Iparcel_CartHandoff_Block_Button
|
6 |
*/
|
|
|
|
|
7 |
?>
|
8 |
<?php if ($this->shouldDisplay()): ?>
|
9 |
<p class="ipcarthandoff-button" style="<?php echo $this->getStyle() ?>">
|
@@ -11,4 +13,7 @@
|
|
11 |
<?php echo $this->getButtonTitle(); ?>
|
12 |
</a>
|
13 |
</p>
|
14 |
-
<?php endif; ?>
|
|
|
|
|
|
4 |
*
|
5 |
* @var $this Iparcel_CartHandoff_Block_Button
|
6 |
*/
|
7 |
+
|
8 |
+
$cartHandoff_hideCheckout = Mage::getStoreConfig('payment/ipcarthandoff/hide_proceed_to_checkout') ? 'true' : 'false';
|
9 |
?>
|
10 |
<?php if ($this->shouldDisplay()): ?>
|
11 |
<p class="ipcarthandoff-button" style="<?php echo $this->getStyle() ?>">
|
13 |
<?php echo $this->getButtonTitle(); ?>
|
14 |
</a>
|
15 |
</p>
|
16 |
+
<?php endif; ?>
|
17 |
+
<script type="text/javascript">
|
18 |
+
cartHandoff_hideCheckout = <?php echo (string) $cartHandoff_hideCheckout; ?>;
|
19 |
+
</script>
|
app/design/frontend/base/default/template/iparcel/carthandoff/estimate.phtml
CHANGED
@@ -2,19 +2,21 @@
|
|
2 |
$countryCode = $this->getCountryCode();
|
3 |
?>
|
4 |
<script type="text/javascript">
|
5 |
-
|
6 |
-
|
|
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
|
14 |
-
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
|
|
|
19 |
}
|
20 |
</script>
|
2 |
$countryCode = $this->getCountryCode();
|
3 |
?>
|
4 |
<script type="text/javascript">
|
5 |
+
if ($('country')) {
|
6 |
+
var countrySelect = $('country');
|
7 |
+
countrySelect.setValue('<?php echo $countryCode; ?>');
|
8 |
|
9 |
+
// Add ability to trigger change event for country select
|
10 |
+
if (document.createEvent)
|
11 |
+
{
|
12 |
+
var event = document.createEvent('HTMLEvents');
|
13 |
+
event.initEvent('change', true, true);
|
14 |
|
15 |
+
countrySelect.dispatchEvent(event);
|
16 |
+
}
|
17 |
|
18 |
+
if (countrySelect.fireEvent) {
|
19 |
+
countrySelect.fireEvent('onChange');
|
20 |
+
}
|
21 |
}
|
22 |
</script>
|
js/iparcel/cart-buttons.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
document.observe("dom:loaded", function(){
|
2 |
+
if (ipar_Session.locale != 'US') {
|
3 |
+
setButtonVisibility('ipcarthandoff-button', 'block');
|
4 |
+
setButtonVisibility('btn-proceed-checkout', 'none');
|
5 |
+
}
|
6 |
+
|
7 |
+
if ($('country')) {
|
8 |
+
$('country').observe('change', function(){
|
9 |
+
if (this.value == 'US') {
|
10 |
+
setButtonVisibility('ipcarthandoff-button', 'none');
|
11 |
+
setButtonVisibility('btn-proceed-checkout', 'block');
|
12 |
+
} else {
|
13 |
+
setButtonVisibility('ipcarthandoff-button', 'block');
|
14 |
+
setButtonVisibility('btn-proceed-checkout', 'none');
|
15 |
+
}
|
16 |
+
});
|
17 |
+
}
|
18 |
+
});
|
19 |
+
|
20 |
+
function setButtonVisibility(buttonClass, displayValue)
|
21 |
+
{
|
22 |
+
if (buttonClass == 'btn-proceed-checkout' && cartHandoff_hideCheckout == false) {
|
23 |
+
return true;
|
24 |
+
}
|
25 |
+
$$("." + buttonClass).each(function(div){
|
26 |
+
$(div).style.display = displayValue;
|
27 |
+
});
|
28 |
+
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_carthandoff</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
@@ -16,9 +16,9 @@
|
|
16 |
<email>bburden@i-parcel.com</email>
|
17 |
</author>
|
18 |
</authors>
|
19 |
-
<date>2016-
|
20 |
-
<time>21:
|
21 |
-
<contents><target name="mageweb"><dir name="app"><dir name="etc"><dir name="modules"><file name="Iparcel_CartHandoff.xml" hash="ffb746b30fb5ff90dd7807211f6a4e9f"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="CartHandoff"><dir name="Block"><file name="Button.php" hash="d4e7631a292e63a4a1ad1d5fac78270f"/><file name="Estimate.php" hash="ed76666cb286b1bd36235c7aa23ab098"/><dir name="Form"><file name="Button.php" hash="15c90ba070756ebc2aec36546dd5854b"/></dir></dir><dir name="controllers"><file name="HandoffController.php" hash="f4537926416afe1d689926475b83cce3"/><file name="StatusController.php" hash="511f645fec406059f956aa915c9138b4"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e4f3a503dfa55aa0540b87d644cf0631"/><file name="config.xml" hash="e551cb25b790bc3a75f4a50b32696286"/><file name="system.xml" hash="10fa2efdc264242c93ff5111baab4cb9"/></dir><dir name="Helper"><file name="Api.php" hash="13027fe4a252d41df19ae1d079bc1fa6"/><file name="Data.php" hash="7d31450856880a53e3afa4933acf30ba"/></dir><dir name="Model"><file name="Observer.php" hash="a9e5f4e690008acee3adbef357d1d60f"/><dir name="Payment"><file name="Ipcarthandoff.php" hash="d2339246664d3ad0c793058875187026"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Buttonplacement.php" hash="7f8a7cfd897ef5a12a082251eb397451"/></dir></dir></dir></dir></dir><dir name="All"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Mapping"><file name="Button.php" hash="dfdaf5a2fbf824a10fccc952fdccf567"/></dir></dir><dir name="Iparcel"><file name="Dashboard.php" hash="ec9dddd10368136f1bdfe79fddd4500c"/><file name="Logs.php" hash="5823bbc2a78666972dd02d5fd3e9d05d"/><dir name="Logs"><file name="Grid.php" hash="9c472c78640c8aecb5de4b638372e6f5"/></dir><dir name="Shipment"><dir name="Split"><file name="Form.php" hash="db44693b1eda47cb1d87b8a69ac9a5a0"/></dir><file name="Split.php" hash="4cb66f91987f842c699bd2d6c42f2249"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="935a3d4adad09d6c049cd6bb4cefb8db"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="2969af5eed8a1179579fa182e20cd59e"/></dir><file name="Product.php" hash="71a865c01574fd10ee0ffa7475cee378"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="ad5a157444b80a284e0f9e7a91187b55"/></dir><file name="Result.php" hash="33e4ab0994bde9ba5dd87ade63869bee"/></dir><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="dd1737d041e9357269fa35b27dbef0bd"/><file name="Jquery.php" hash="3fd23960111c32d5696cc3de63e41b6e"/><file name="Post.php" hash="793d578cf82fb3ba83e1edc87b79ff95"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Totals"><file name="Abstract.php" hash="71cdfdce9a538b2f78b83b7b5eac8b19"/><file name="Duty.php" hash="f8ae79b70c6b5ba41c7acac9be5d84c0"/><file name="Tax.php" hash="1cfee0fccb1feede23f3cdc22f57c903"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iparcel"><file name="LogController.php" hash="94e2095979140ad6d7c149080be30d38"/><file name="ShipmentController.php" hash="a9b8896d816b7612e1dc0638a2f8b740"/><file name="SyncController.php" hash="9378f5db27d059bbb36ff1e71bd38d32"/><dir name="Shipment"><file name="SplitController.php" hash="6a294947cf9399e42e90c890a6da2caa"/></dir><dir name="Sync"><file name="AjaxController.php" hash="ceaffb0c652954b95e83426c763a2d0d"/></dir></dir></dir><file name="AjaxController.php" hash="f6b0573eefbb21d7ac863fd029783b3c"/><file name="InfoController.php" hash="6543b1e9803489e507d2470f8e3e408b"/><file name="InternationalController.php" hash="75fc93febe96e328d5927665c33d40d1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="50bc0bee93b5612763321eae11cfdc51"/><file name="config.xml" hash="6f430fb7d7fc681166befb1327119d03"/><file name="system.xml" hash="9f7bf4587539cad7a1b36ac8a01a8b3f"/></dir><dir name="Helper"><file name="Api.php" hash="5b1353dd575ab1bfb126b80169263a5b"/><file name="Data.php" hash="0c32ec392ffb3857571f272c21d84faa"/><file name="International.php" hash="7bba0cd23188eaa3f99ed3d32ffccd14"/></dir><dir name="Model"><dir name="Api"><file name="Quote.php" hash="2e938bda13d007e73f8c2238aff76fa1"/></dir><dir name="Carrier"><file name="Iparcel.php" hash="ad65fdc9f7f2264e9704b0f17d89dd34"/></dir><dir name="Catalog"><dir name="Product"><file name="Observer.php" hash="d16d89cea8eea6352a7d9b1193cd9512"/></dir></dir><dir name="Config"><dir name="Script"><file name="Js.php" hash="100822286c5326c82cbc5d4ff3cf4c39"/></dir></dir><file name="Cron.php" hash="670d37cd6cdbe60aa69fad8eb0a0759e"/><file name="Log.php" hash="8c87e5f356f8ca77a186430dda106097"/><file name="Observer.php" hash="ad3c34320671927263e673e18c798a34"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Duty.php" hash="33b91a5b8fa32293bfe0eab4460b04f9"/><file name="Tax.php" hash="7cd4046231eb8cb9031ae160720390da"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Duty.php" hash="5a4010994ea502afe88632ddd2699c63"/><file name="Tax.php" hash="c4c95aaaae9662860dd635238150aa46"/></dir></dir></dir><dir name="Payment"><file name="Iparcel.php" hash="30ad607409d5ed225e233638ecbff39c"/></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Abstract.php" hash="a3af320e934f50651e09bfd15b86ffea"/><file name="Collector.php" hash="f99413fe415c342d5c0d582caa767ad1"/><file name="Duty.php" hash="6ef16c8b2038d5c90b4b9c7d00825da2"/><file name="Tax.php" hash="62c9e255562643a967b8c49b9914524d"/></dir></dir></dir><dir name="Resource"><dir name="Api"><file name="Quote.php" hash="84d032b89c5df67ef24a112ad7846302"/></dir><dir name="Log"><file name="Collection.php" hash="7cb78be07207a599eff71c1e18ba0b7a"/></dir><file name="Log.php" hash="d14c2eb8314456a18adadbb52856e0b5"/><dir name="Mysql4"><file name="Setup.php" hash="9f9cf4b5934b70bd00b394beacb245f7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="8895678aa59e49226509d2b4709c5f43"/></dir><dir name="Data"><dir name="Date"><file name="Monthday.php" hash="baec5b8a27c5b037529ba935aae0370a"/><file name="Weekday.php" hash="173edc075325d932f8dad6d4674b8153"/></dir><dir name="Time"><file name="Hour.php" hash="ddad98b85290d9b13ec9f65fbe8a10b3"/><file name="Minute.php" hash="4a76af0057d60e8ff0ff7fedc1d50575"/></dir></dir><file name="Guid.php" hash="311c7f8072f02a6be9e25b6411298c5c"/><dir name="Script"><file name="Js.php" hash="3e3f23b38ecdc361bf6ff6cee1871e92"/></dir><dir name="Source"><dir name="Catalog"><dir name="Mapping"><dir name="Configurable"><file name="Price.php" hash="f9116fd446914467e7fb31bed5a6dd0b"/></dir><file name="Mode.php" hash="36140a050ea65ff23d45264fa67e1a2b"/></dir><dir name="Product"><dir name="Attribute"><file name="Boolean.php" hash="ca1883122659f1b48890ecd46a1590ee"/></dir><file name="Attribute.php" hash="8ca9c929cda497400865751ffba991e6"/></dir></dir><dir name="Date"><file name="Weekday.php" hash="143c26f9661e5dc995ff064e333a2018"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="f1e414c08c43ebb2fcc6ccf5b41a2ff2"/></dir></dir><dir name="Tax"><file name="Mode.php" hash="fb09f17b54ef8ffa22580741cc66ac14"/></dir></dir></dir></dir><dir name="Tax"><dir name="Quote"><file name="Shipping.php" hash="5d76b072c657035cf3d7713fa6672f1f"/><file name="Subtotal.php" hash="cbd2e41f3bdc74134590a675d93d4bfb"/><file name="Tax.php" hash="ffc8d78a8d0442690c49b60f909c8e48"/></dir></dir></dir><dir name="sql"><dir name="iparcel_setup"><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="4df6e3a3f2adf96eeb6ccdac213e3f1e"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="cfb9fbc137e7e551dfaece00ac6bb2f4"/><file name="mysql4-upgrade-1.1.1-1.2.0.php" hash="1f04c5c71a6a79aaf74810e87670d998"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ipcarthandoff.xml" hash="c99654c0e8d7ab65b628e4cd717b7209"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/></dir><dir name="template"><dir name="iparcel"><dir name="carthandoff"><file name="button.phtml" hash="970c8a8e6d72f924dd41a3d94856aca8"/><file name="estimate.phtml" hash="4ca0b95a0fb0cb9ba32ab5a904ab23c2"/><dir name="form"><file name="button.phtml" hash="603683fdeb5153c8ce4649f72967180a"/></dir></dir><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/></dir></dir><dir name="post"><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/></dir><file name="post.phtml" hash="3827cab2dba981556aeb8ec915ab03cc"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="iparcel.xml" hash="c6be54da5875c9356bba8988fa8c264c"/></dir><dir name="template"><dir name="iparcel"><dir name="order"><dir name="totals"><file name="duty.phtml" hash="7af41c6d47dafeb890a520d8e6e39910"/><file name="tax.phtml" hash="25bffd2b58554cf28e5f4abe4b4e1e7c"/></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="64da446db5c1bfe892951c9b3c7f1e7d"/><file name="checkitems.phtml" hash="c19b0e4fd0feddedbc2cef3b2f4ce79b"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="locale"><dir name="en_US"><file name="iparcel.csv" hash="cbcb75a490376ca0b63c8c66622c1656"/></dir></dir></dir><dir name="js"><dir name="iparcel"><dir name="adminhtml"><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/></dir><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_carthandoff</name>
|
4 |
+
<version>1.2.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
16 |
<email>bburden@i-parcel.com</email>
|
17 |
</author>
|
18 |
</authors>
|
19 |
+
<date>2016-05-11</date>
|
20 |
+
<time>21:05:45</time>
|
21 |
+
<contents><target name="mageweb"><dir name="app"><dir name="etc"><dir name="modules"><file name="Iparcel_CartHandoff.xml" hash="ffb746b30fb5ff90dd7807211f6a4e9f"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="CartHandoff"><dir name="Block"><file name="Button.php" hash="f0973ed80adca37577c9183d543ffca6"/><file name="Estimate.php" hash="ed76666cb286b1bd36235c7aa23ab098"/><dir name="Form"><file name="Button.php" hash="15c90ba070756ebc2aec36546dd5854b"/></dir></dir><dir name="controllers"><file name="HandoffController.php" hash="f4537926416afe1d689926475b83cce3"/><file name="StatusController.php" hash="511f645fec406059f956aa915c9138b4"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e4f3a503dfa55aa0540b87d644cf0631"/><file name="config.xml" hash="823d603e417aa359436168e0868ce8e4"/><file name="system.xml" hash="e579239970b683867b21eeadbd0c9762"/></dir><dir name="Helper"><file name="Api.php" hash="3f60c6dd486b5d19bb7e8eaeef5b744b"/><file name="Data.php" hash="7d31450856880a53e3afa4933acf30ba"/></dir><dir name="Model"><file name="Observer.php" hash="a9e5f4e690008acee3adbef357d1d60f"/><dir name="Payment"><file name="Ipcarthandoff.php" hash="d2339246664d3ad0c793058875187026"/></dir><dir name="Sales"><file name="Order.php" hash="22e4357ef934065b59043fa59e1d88fe"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Buttonplacement.php" hash="7f8a7cfd897ef5a12a082251eb397451"/></dir></dir></dir></dir></dir><dir name="All"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Mapping"><file name="Button.php" hash="dfdaf5a2fbf824a10fccc952fdccf567"/></dir></dir><dir name="Iparcel"><file name="Dashboard.php" hash="ec9dddd10368136f1bdfe79fddd4500c"/><file name="Logs.php" hash="5823bbc2a78666972dd02d5fd3e9d05d"/><dir name="Logs"><file name="Grid.php" hash="9c472c78640c8aecb5de4b638372e6f5"/></dir><dir name="Shipment"><dir name="Split"><file name="Form.php" hash="db44693b1eda47cb1d87b8a69ac9a5a0"/></dir><file name="Split.php" hash="4cb66f91987f842c699bd2d6c42f2249"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="935a3d4adad09d6c049cd6bb4cefb8db"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="2969af5eed8a1179579fa182e20cd59e"/></dir><file name="Product.php" hash="71a865c01574fd10ee0ffa7475cee378"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="ad5a157444b80a284e0f9e7a91187b55"/></dir><file name="Result.php" hash="33e4ab0994bde9ba5dd87ade63869bee"/></dir><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="dd1737d041e9357269fa35b27dbef0bd"/><file name="Jquery.php" hash="3fd23960111c32d5696cc3de63e41b6e"/><file name="Post.php" hash="793d578cf82fb3ba83e1edc87b79ff95"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Totals"><file name="Abstract.php" hash="71cdfdce9a538b2f78b83b7b5eac8b19"/><file name="Duty.php" hash="f8ae79b70c6b5ba41c7acac9be5d84c0"/><file name="Tax.php" hash="1cfee0fccb1feede23f3cdc22f57c903"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iparcel"><file name="LogController.php" hash="94e2095979140ad6d7c149080be30d38"/><file name="ShipmentController.php" hash="a9b8896d816b7612e1dc0638a2f8b740"/><file name="SyncController.php" hash="9378f5db27d059bbb36ff1e71bd38d32"/><dir name="Shipment"><file name="SplitController.php" hash="6a294947cf9399e42e90c890a6da2caa"/></dir><dir name="Sync"><file name="AjaxController.php" hash="ceaffb0c652954b95e83426c763a2d0d"/></dir></dir></dir><file name="AjaxController.php" hash="f6b0573eefbb21d7ac863fd029783b3c"/><file name="InfoController.php" hash="6543b1e9803489e507d2470f8e3e408b"/><file name="InternationalController.php" hash="75fc93febe96e328d5927665c33d40d1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="50bc0bee93b5612763321eae11cfdc51"/><file name="config.xml" hash="4bd33ca7a2dca415a545f524165ced48"/><file name="system.xml" hash="823d3690c187d8c3db42912d83a6303b"/></dir><dir name="Helper"><file name="Api.php" hash="d20c7a56fbc922a6bca34ea547aa3092"/><file name="Data.php" hash="0c32ec392ffb3857571f272c21d84faa"/><file name="International.php" hash="7bba0cd23188eaa3f99ed3d32ffccd14"/></dir><dir name="Model"><dir name="Api"><file name="Quote.php" hash="2e938bda13d007e73f8c2238aff76fa1"/></dir><dir name="Carrier"><file name="Iparcel.php" hash="ad65fdc9f7f2264e9704b0f17d89dd34"/></dir><dir name="Catalog"><dir name="Product"><file name="Observer.php" hash="d16d89cea8eea6352a7d9b1193cd9512"/></dir></dir><dir name="Config"><dir name="Script"><file name="Js.php" hash="100822286c5326c82cbc5d4ff3cf4c39"/></dir></dir><file name="Cron.php" hash="670d37cd6cdbe60aa69fad8eb0a0759e"/><file name="Log.php" hash="8c87e5f356f8ca77a186430dda106097"/><file name="Observer.php" hash="ad3c34320671927263e673e18c798a34"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Duty.php" hash="33b91a5b8fa32293bfe0eab4460b04f9"/><file name="Tax.php" hash="7cd4046231eb8cb9031ae160720390da"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Duty.php" hash="5a4010994ea502afe88632ddd2699c63"/><file name="Tax.php" hash="c4c95aaaae9662860dd635238150aa46"/></dir></dir></dir><dir name="Payment"><file name="Iparcel.php" hash="30ad607409d5ed225e233638ecbff39c"/></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Abstract.php" hash="a3af320e934f50651e09bfd15b86ffea"/><file name="Collector.php" hash="f99413fe415c342d5c0d582caa767ad1"/><file name="Duty.php" hash="6ef16c8b2038d5c90b4b9c7d00825da2"/><file name="Tax.php" hash="62c9e255562643a967b8c49b9914524d"/></dir></dir></dir><dir name="Resource"><dir name="Api"><file name="Quote.php" hash="84d032b89c5df67ef24a112ad7846302"/></dir><dir name="Log"><file name="Collection.php" hash="7cb78be07207a599eff71c1e18ba0b7a"/></dir><file name="Log.php" hash="d14c2eb8314456a18adadbb52856e0b5"/><dir name="Mysql4"><file name="Setup.php" hash="9f9cf4b5934b70bd00b394beacb245f7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="8895678aa59e49226509d2b4709c5f43"/></dir><dir name="Data"><dir name="Date"><file name="Monthday.php" hash="baec5b8a27c5b037529ba935aae0370a"/><file name="Weekday.php" hash="173edc075325d932f8dad6d4674b8153"/></dir><dir name="Time"><file name="Hour.php" hash="ddad98b85290d9b13ec9f65fbe8a10b3"/><file name="Minute.php" hash="4a76af0057d60e8ff0ff7fedc1d50575"/></dir></dir><file name="Guid.php" hash="311c7f8072f02a6be9e25b6411298c5c"/><dir name="Script"><file name="Js.php" hash="3e3f23b38ecdc361bf6ff6cee1871e92"/></dir><dir name="Source"><dir name="Catalog"><dir name="Mapping"><dir name="Configurable"><file name="Price.php" hash="f9116fd446914467e7fb31bed5a6dd0b"/></dir><file name="Mode.php" hash="36140a050ea65ff23d45264fa67e1a2b"/></dir><dir name="Product"><dir name="Attribute"><file name="Boolean.php" hash="ca1883122659f1b48890ecd46a1590ee"/></dir><file name="Attribute.php" hash="8ca9c929cda497400865751ffba991e6"/></dir></dir><dir name="Date"><file name="Weekday.php" hash="143c26f9661e5dc995ff064e333a2018"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="f1e414c08c43ebb2fcc6ccf5b41a2ff2"/></dir></dir><dir name="Tax"><file name="Mode.php" hash="fb09f17b54ef8ffa22580741cc66ac14"/></dir></dir></dir></dir><dir name="Tax"><dir name="Quote"><file name="Shipping.php" hash="5d76b072c657035cf3d7713fa6672f1f"/><file name="Subtotal.php" hash="cbd2e41f3bdc74134590a675d93d4bfb"/><file name="Tax.php" hash="ffc8d78a8d0442690c49b60f909c8e48"/></dir></dir></dir><dir name="sql"><dir name="iparcel_setup"><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="4df6e3a3f2adf96eeb6ccdac213e3f1e"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="cfb9fbc137e7e551dfaece00ac6bb2f4"/><file name="mysql4-upgrade-1.1.1-1.2.0.php" hash="1f04c5c71a6a79aaf74810e87670d998"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="de1c9caa713dd194595aa2dd15a829ac"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ipcarthandoff.xml" hash="ed7faf180d54254f9bd4bfde21cdec1d"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/></dir><dir name="template"><dir name="iparcel"><dir name="carthandoff"><file name="button.phtml" hash="2af5a49d42e702e723bc083c8af661e1"/><file name="estimate.phtml" hash="4613986760ea91bbfe607336008da870"/><dir name="form"><file name="button.phtml" hash="603683fdeb5153c8ce4649f72967180a"/></dir></dir><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/></dir></dir><dir name="post"><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/></dir><file name="post.phtml" hash="3827cab2dba981556aeb8ec915ab03cc"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="iparcel.xml" hash="c6be54da5875c9356bba8988fa8c264c"/></dir><dir name="template"><dir name="iparcel"><dir name="order"><dir name="totals"><file name="duty.phtml" hash="7af41c6d47dafeb890a520d8e6e39910"/><file name="tax.phtml" hash="25bffd2b58554cf28e5f4abe4b4e1e7c"/></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="64da446db5c1bfe892951c9b3c7f1e7d"/><file name="checkitems.phtml" hash="c19b0e4fd0feddedbc2cef3b2f4ce79b"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="locale"><dir name="en_US"><file name="iparcel.csv" hash="cbcb75a490376ca0b63c8c66622c1656"/></dir></dir></dir><dir name="js"><dir name="iparcel"><file name="cart-buttons.js" hash="a52eb58ce49540c4d206f5e7bbd98ab8"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><dir name="adminhtml"><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f4525e5c6bce01f9a5cea562f23618e7"/></dir></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|