diff --git a/CHANGELOG.md b/CHANGELOG.md index 547218c2a2430f34900a8db688dcf9d22e5fe4fc..de82dd54de58476ecf1035dbe7e9669f10043eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +2.0.0.0-dev61 +============= +* Introduced a new layout block attribute - cacheable +* Fixed bugs: + * Fixed an issue with displaying configurable product images in shopping cart + * Fixed an issue with Tax Summary not being displayed properly on the Order Review page + * Optimized the Plushe theme CSS + * Fixed attribute types for configurable product variations + * Fixed an issue with incorrect link in the Reset Password email for customers registered on the non-default website + * Fixed an issue with creating orders using DHL on holiday dates + * Fixed product export + * Fixed 3D secure validation + * Fixed an issue with session being lost when a logged in user goes from store pages using secure URL to the store pages which do not use secure URL + * Fixed an issue with price ranges in the Advanced search + 2.0.0.0-dev60 ============= * Fixed bugs: @@ -132,10 +147,6 @@ * Fixed date resetting to 1 Jan 1970 after saving a design change in the admin panel in case date format is DD/MM/YY * Fixed CAPTCHA on multi-address checkout flow * Fixed view files population tool - * Fixed DHL functionality of generation shipping labels - * Fixed target rule if it is applied for specific customer segment - * Fixed product importing that cleared price and weight - * Fixed fatal error when a file reference is added to HTML head * GitHub requests: * [#122](https://github.com/magento/magento2/pull/122) -- Added support of federal units of Brazil with 27 states * [#184](https://github.com/magento/magento2/issues/184) -- Removed unused blocks and methods in Magento_Wishlist module diff --git a/app/code/Magento/Backend/Model/Config/Source/Locale/Weekdaycodes.php b/app/code/Magento/Backend/Model/Config/Source/Locale/Weekdaycodes.php new file mode 100644 index 0000000000000000000000000000000000000000..f1119e93714762521470afa4c79c1c892f5ebe92 --- /dev/null +++ b/app/code/Magento/Backend/Model/Config/Source/Locale/Weekdaycodes.php @@ -0,0 +1,54 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Backend + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +/** + * Locale weekdays source + */ +namespace Magento\Backend\Model\Config\Source\Locale; + +class Weekdaycodes implements \Magento\Core\Model\Option\ArrayInterface +{ + /** + * @var \Magento\Core\Model\LocaleInterface + */ + protected $_locale; + + /** + * @param \Magento\Core\Model\LocaleInterface $locale + */ + public function __construct(\Magento\Core\Model\LocaleInterface $locale) + { + $this->_locale = $locale; + } + + /** + * @return array + */ + public function toOptionArray() + { + return $this->_locale->getOptionWeekdays(true, true); + } +} diff --git a/app/code/Magento/Bundle/Model/Product/Type.php b/app/code/Magento/Bundle/Model/Product/Type.php index b472274389dcb7c41daa58f5cd94277700320385..9cd6dbd46bd5bd863d4cb5fab5b0a08cc51b1d8b 100644 --- a/app/code/Magento/Bundle/Model/Product/Type.php +++ b/app/code/Magento/Bundle/Model/Product/Type.php @@ -842,6 +842,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType ->create() ->addAttributeToSelect('*') ->setFlag('require_stock_items', true) + ->setFlag('product_children', true) ->addStoreFilter($this->getStoreFilter($product)) ->setStoreId($storeId) ->setPositionOrder() diff --git a/app/code/Magento/Bundle/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/Bundle/view/frontend/layout/checkout_cart_index.xml index 782a7c86ae6973d0c869a7e835c82bc1975815db..df2305b67233b93f6d0e0074e7d24a188e5f3f21 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/checkout_cart_index.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/checkout_cart_index.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="checkout.cart.form"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/item/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/item/default.phtml" cacheable="false"/> </referenceBlock> <referenceBlock name="checkout.cart.crosssell"> <action method="addPriceBlockType"> diff --git a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_addresses.xml b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_addresses.xml index 121621c4f076ccf0cbb76205eb009b45c4af5a85..2a93f33838ceb6ac0d053e330a5e2911a380452e 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_addresses.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_addresses.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="checkout_addresses"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_overview.xml b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_overview.xml index 8bccf1b7579b64e79805a5be2759e3ec3712e2f1..47a9dde9343ed1c63535ed35f4bf02e779f7a4e2 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_overview.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_overview.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="checkout_overview"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_shipping.xml b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_shipping.xml index c410c346fa54e9d861044ea96de45f5d071371d5..b9f98da4bce5d75e4ad9408ce4636589ea90e66b 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_shipping.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/checkout_multishipping_shipping.xml @@ -25,9 +25,9 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="checkout_shipping"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml" cacheable="false"/> </referenceBlock> <referenceBlock name="checkout_billing_items"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::multishipping/item/default.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/checkout_onepage_review.xml b/app/code/Magento/Bundle/view/frontend/layout/checkout_onepage_review.xml index 9fe313a21d3d28c3237620d950c8731adc8c17d0..10b6e9f7103f56afa41ab9e3eac1085a74237514 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/checkout_onepage_review.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/checkout_onepage_review.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="order_review"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/default.xml b/app/code/Magento/Bundle/view/frontend/layout/default.xml index b06dafbb2d923574510cb0ac51dd97b0fc0096db..13ff3855a5e7a1cb508e416af32fa99027cbc3a3 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/default.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/default.xml @@ -39,6 +39,6 @@ </action> </referenceBlock> <referenceBlock name="minicart"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/sidebar/default.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/sidebar/default.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review.xml b/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review.xml index 46f9d8650a5931cfe0dd0085ef65cbef75dbcf80..657757e4e4a6d5a803e36f73c61c8b0f1b5d6ea2 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="paypal.express.review.details"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review_details.xml b/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review_details.xml index 46f9d8650a5931cfe0dd0085ef65cbef75dbcf80..657757e4e4a6d5a803e36f73c61c8b0f1b5d6ea2 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review_details.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/paypal_express_review_details.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="paypal.express.review.details"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review.xml b/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review.xml index 46f9d8650a5931cfe0dd0085ef65cbef75dbcf80..657757e4e4a6d5a803e36f73c61c8b0f1b5d6ea2 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="paypal.express.review.details"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review_details.xml b/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review_details.xml index 9fe313a21d3d28c3237620d950c8731adc8c17d0..10b6e9f7103f56afa41ab9e3eac1085a74237514 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review_details.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/paypaluk_express_review_details.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="order_review"> - <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml"/> + <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::onepage/review/item.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Variations/Main.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Variations/Main.php new file mode 100644 index 0000000000000000000000000000000000000000..399a103ffdf445c8209d2111af43a7511b6fbbbb --- /dev/null +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Variations/Main.php @@ -0,0 +1,69 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Adminhtml + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +/** + * Product attribute add form variations main tab + * + * @category Magento + * @package Magento_Catalog + * @author Magento Core Team <core@magentocommerce.com> + */ +namespace Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Variations; + + +class Main extends \Magento\Eav\Block\Adminhtml\Attribute\Edit\Main\AbstractMain +{ + /** + * Adding product form elements for editing attribute + * + * @return \Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Variations\Main + */ + protected function _prepareForm() + { + parent::_prepareForm(); + $attributeObject = $this->getAttributeObject(); + /* @var $form \Magento\Data\Form */ + $form = $this->getForm(); + /* @var $fieldset \Magento\Data\Form\Element\Fieldset */ + $fieldset = $form->getElement('base_fieldset'); + $fiedsToRemove = array( + 'attribute_code', + 'is_unique', + 'frontend_class', + ); + + foreach ($fieldset->getElements() as $element) { + /** @var \Magento\Data\Form\AbstractForm $element */ + if (substr($element->getId(), 0, strlen('default_value')) == 'default_value') { + $fiedsToRemove[] = $element->getId(); + } + } + foreach ($fiedsToRemove as $id) { + $fieldset->removeField($id); + } + return $this; + } +} \ No newline at end of file diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php index f323d3c77e66aea142e1fb99bcc026e66772ff4c..9c2dae069398e7f634d2124ac830125c4f1858dc 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php @@ -82,9 +82,16 @@ class Attribute extends \Magento\Backend\App\Action $this->_title->add(__('Product Attributes')); if ($this->getRequest()->getParam('popup')) { - $this->_view->loadLayout( - array('popup', $this->_view->getDefaultLayoutHandle() . '_popup') - ); + if ($this->getRequest()->getParam('product_tab') == 'variations') { + $this->_view->loadLayout( + array('popup', 'catalog_product_attribute_edit_product_tab_variations_popup') + ); + } else { + $this->_view->loadLayout( + array('popup', 'catalog_product_attribute_edit_popup') + ); + } + $this->_view->getLayout()->getBlock('root')->addBodyClass('attribute-popup'); } else { $this->_view->loadLayout(); diff --git a/app/code/Magento/Catalog/Model/Config/Source/Product/Thumbnail.php b/app/code/Magento/Catalog/Model/Config/Source/Product/Thumbnail.php index 3dc2ec2bdf048e95c17f5f89e54987417a556304..1913ea80f50089120e40344fef4d80831ae4de81 100644 --- a/app/code/Magento/Catalog/Model/Config/Source/Product/Thumbnail.php +++ b/app/code/Magento/Catalog/Model/Config/Source/Product/Thumbnail.php @@ -35,11 +35,14 @@ namespace Magento\Catalog\Model\Config\Source\Product; class Thumbnail implements \Magento\Core\Model\Option\ArrayInterface { + const OPTION_USE_PARENT_IMAGE = 'parent'; + const OPTION_USE_OWN_IMAGE = 'itself'; + public function toOptionArray() { return array( - array('value'=>'itself', 'label'=>__('Product Thumbnail Itself')), - array('value'=>'parent', 'label'=>__('Parent Product Thumbnail')), + array('value' => self::OPTION_USE_OWN_IMAGE, 'label' => __('Product Thumbnail Itself')), + array('value' => self::OPTION_USE_PARENT_IMAGE, 'label' => __('Parent Product Thumbnail')), ); } } diff --git a/app/code/Magento/Catalog/Model/System/Config/Source/Inputtype.php b/app/code/Magento/Catalog/Model/System/Config/Source/Inputtype.php new file mode 100644 index 0000000000000000000000000000000000000000..eb8f8590413b1b0c9147b4d145868179749609b5 --- /dev/null +++ b/app/code/Magento/Catalog/Model/System/Config/Source/Inputtype.php @@ -0,0 +1,41 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Catalog + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +namespace Magento\Catalog\Model\System\Config\Source; + +class Inputtype +{ + /** + * Get input types which use predefined source + * @return array + */ + public function toOptionArray() + { + return array( + array('value' => 'multiselect', 'label' => __('Multiple Select')), + array('value' => 'select', 'label' => __('Dropdown')) + ); + } +} \ No newline at end of file diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index a9d18f9a601cecafb4a20104c556099cb9611074..aa1521b927993d95192d1d1d5d277f2740cb45cd 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -130,9 +130,19 @@ <value>catalog</value> </param> </virtualType> + <virtualType name="Magento\Catalog\Model\System\Config\Source\InputtypeFactory" type="Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory"> + <param name="instanceName"> + <value>Magento\Catalog\Model\System\Config\Source\Inputtype</value> + </param> + </virtualType> <type name="Magento\Catalog\Model\Session"> <param name="storage"> <instance type="Magento\Catalog\Model\Session\Storage" /> </param> </type> + <type name="Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Variations\Main"> + <param name="inputTypeFactory"> + <instance type="Magento\Catalog\Model\System\Config\Source\InputtypeFactory" /> + </param> + </type> </config> diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_attribute_edit_product_tab_variations_popup.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_attribute_edit_product_tab_variations_popup.xml new file mode 100644 index 0000000000000000000000000000000000000000..7167a47b18cd3cd45283c5852462e96eb090c17b --- /dev/null +++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_attribute_edit_product_tab_variations_popup.xml @@ -0,0 +1,40 @@ +<?xml version="1.0"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <remove name="left"/> + <referenceBlock name="attribute_edit_content"> + <arguments> + <argument name="template" xsi:type="string">Magento_Catalog::catalog/product/attribute/form.phtml</argument> + </arguments> + <container name="form" label="Form"> + <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Variations\Main" as="main"/> + <block class="Magento\Eav\Block\Adminhtml\Attribute\Edit\Options\Options" as="advanced-options"/> + <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Advanced" as="options"/> + <block class="Magento\Eav\Block\Adminhtml\Attribute\Edit\Options\Labels" as="labels"/> + <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Front" as="front-options"/> + </container> + </referenceBlock> +</layout> diff --git a/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml b/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml index 0f1c57fdc55336e334e13209f704f975c86c68f6..0e90294f6c50591956a687405d97328e38f0dda1 100644 --- a/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml +++ b/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml @@ -24,7 +24,7 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <referenceBlock name="header"> + <referenceBlock name="header-wrapper"> <block class="Magento\View\Element\Template" name="top.search" as="topSearch" template="Magento_CatalogSearch::form.mini.phtml"/> </referenceBlock> <referenceBlock name="footer_links"> diff --git a/app/code/Magento/Centinel/Model/Service.php b/app/code/Magento/Centinel/Model/Service.php index 8b3a53b50cc560b347adb12ee736a9b70d22295b..91489f23643436f0d39ac6546b71b9a17061c865 100644 --- a/app/code/Magento/Centinel/Model/Service.php +++ b/app/code/Magento/Centinel/Model/Service.php @@ -101,18 +101,12 @@ class Service extends \Magento\Object */ protected $_urlPrefix; - /** - * @var \Magento\Data\Form\FormKey - */ - protected $formKey; - /** * @param \Magento\Centinel\Model\Config $config * @param \Magento\Centinel\Model\ApiFactory $apiFactory * @param \Magento\UrlInterface $url * @param \Magento\Session\SessionManagerInterface $centinelSession * @param \Magento\Centinel\Model\StateFactory $stateFactory - * @param \Magento\Data\Form\FormKey $formKey * @param string $urlPrefix * @param array $data */ @@ -122,7 +116,6 @@ class Service extends \Magento\Object \Magento\UrlInterface $url, \Magento\Session\SessionManagerInterface $centinelSession, \Magento\Centinel\Model\StateFactory $stateFactory, - \Magento\Data\Form\FormKey $formKey, $urlPrefix = 'centinel/index/', array $data = array() ) { @@ -131,7 +124,6 @@ class Service extends \Magento\Object $this->_url = $url; $this->_centinelSession = $centinelSession; $this->_stateFactory = $stateFactory; - $this->formKey = $formKey; $this->_urlPrefix = $urlPrefix; parent::__construct($data); } @@ -175,7 +167,6 @@ class Service extends \Magento\Object $params = array( '_secure' => true, '_current' => $current, - 'form_key' => $this->formKey->getFormKey(), 'isIframe' => true ); return $this->_url->getUrl($this->_urlPrefix . $suffix, $params); diff --git a/app/code/Magento/Centinel/etc/adminhtml/di.xml b/app/code/Magento/Centinel/etc/adminhtml/di.xml index 8c263049a55f97b3cdf24ef702f08898382976f3..6a4521348d6a690ce29582f986f768e78a48d6ea 100644 --- a/app/code/Magento/Centinel/etc/adminhtml/di.xml +++ b/app/code/Magento/Centinel/etc/adminhtml/di.xml @@ -42,7 +42,7 @@ <instance type="Magento\Backend\Model\Url" /> </param> <param name="centinelSession"> - <instance type="Magento\Core\Model\Session" /> + <instance type="Magento\Centinel\Model\Session" /> </param> <param name="urlPrefix"> <value>adminhtml/centinel_index/</value> diff --git a/app/code/Magento/Centinel/etc/frontend/di.xml b/app/code/Magento/Centinel/etc/frontend/di.xml index c349b6817efe92baac65559b3e2333f9478596ba..191d75eed88406ea5bdc9d2a93549a51ccd00df1 100644 --- a/app/code/Magento/Centinel/etc/frontend/di.xml +++ b/app/code/Magento/Centinel/etc/frontend/di.xml @@ -44,4 +44,9 @@ </value> </param> </type> + <type name="Magento\Centinel\Model\Service"> + <param name="centinelSession"> + <instance type="Magento\Centinel\Model\Session" /> + </param> + </type> </config> diff --git a/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationcomplete.xml b/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationcomplete.xml index 7506013aa171fceb5161eabc0d2b7fa6917db709..a1194b669710029fe3dc36e611136d0fd9ffa2d9 100644 --- a/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationcomplete.xml +++ b/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationcomplete.xml @@ -24,5 +24,5 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Centinel\Block\Authentication\Complete" name="root" output="1" template="authentication/complete.phtml"/> + <block class="Magento\Centinel\Block\Authentication\Complete" name="root" output="1" template="authentication/complete.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationstart.xml b/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationstart.xml index 931243ef7f005c66c9ad8b651194c7c12e380bca..5b910a3fdba445f54ba4159f7408bb962f363f00 100644 --- a/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationstart.xml +++ b/app/code/Magento/Centinel/view/frontend/layout/centinel_index_authenticationstart.xml @@ -24,5 +24,5 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Centinel\Block\Authentication\Start" name="root" output="1" template="authentication/start.phtml"/> + <block class="Magento\Centinel\Block\Authentication\Start" name="root" output="1" template="authentication/start.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/Centinel/view/frontend/layout/checkout_multishipping_overview.xml b/app/code/Magento/Centinel/view/frontend/layout/checkout_multishipping_overview.xml index d1f3a56419e8444895b5b26016ad0ab27a74f74b..775b37c404aa2f2938b9e5486e4ed763ed6fe629 100644 --- a/app/code/Magento/Centinel/view/frontend/layout/checkout_multishipping_overview.xml +++ b/app/code/Magento/Centinel/view/frontend/layout/checkout_multishipping_overview.xml @@ -32,7 +32,7 @@ </block> </referenceBlock> <referenceContainer name="checkout.multishipping.overview.items.after"> - <block class="Magento\Centinel\Block\Authentication" name="centinel.frame" template="authentication.phtml"> + <block class="Magento\Centinel\Block\Authentication" name="centinel.frame" template="authentication.phtml" cacheable="false"> <action method="setAuthenticationStartMode"> <argument name="mode" xsi:type="string">window</argument> </action> diff --git a/app/code/Magento/Centinel/view/frontend/layout/checkout_onepage_review.xml b/app/code/Magento/Centinel/view/frontend/layout/checkout_onepage_review.xml index ce868787b44696720ddc4cc677e70f500a1bfdf3..f732941def82a75085a3e2b90a500fd2d7d564ab 100644 --- a/app/code/Magento/Centinel/view/frontend/layout/checkout_onepage_review.xml +++ b/app/code/Magento/Centinel/view/frontend/layout/checkout_onepage_review.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="checkout.onepage.review.info.items.before"> - <block class="Magento\Centinel\Block\Authentication" name="centinel.frame" template="authentication.phtml"> + <block class="Magento\Centinel\Block\Authentication" name="centinel.frame" template="authentication.phtml" cacheable="false"> <action method="setAuthenticationStartMode"> <argument name="mode" xsi:type="string">instant</argument> </action> diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php index e44c2a5de074269d88320b28ca9be56a15bdec4f..3ce2a6ed8611f6f50eca49ce4091394d93bdff11 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php @@ -42,7 +42,6 @@ class Renderer extends \Magento\View\Element\Template protected $_checkoutSession; protected $_item; protected $_productUrl; - protected $_productThumbnail; /** * Whether qty will be converted to number @@ -65,11 +64,6 @@ class Renderer extends \Magento\View\Element\Template */ protected $_productConfig = null; - /** - * @var \Magento\Catalog\Helper\Image - */ - protected $_imageHelper; - /** * @var \Magento\Core\Helper\Url */ @@ -80,6 +74,11 @@ class Renderer extends \Magento\View\Element\Template */ protected $messageManager; + /** + * @var \Magento\Catalog\Helper\Image + */ + protected $_imageHelper; + /** * @param \Magento\View\Element\Template\Context $context * @param \Magento\Catalog\Helper\Product\Configuration $productConfig @@ -98,8 +97,8 @@ class Renderer extends \Magento\View\Element\Template \Magento\Message\ManagerInterface $messageManager, array $data = array() ) { - $this->_urlHelper = $urlHelper; $this->_imageHelper = $imageHelper; + $this->_urlHelper = $urlHelper; $this->_productConfig = $productConfig; $this->_checkoutSession = $checkoutSession; $this->messageManager = $messageManager; @@ -138,35 +137,24 @@ class Renderer extends \Magento\View\Element\Template return $this->getItem()->getProduct(); } - public function overrideProductThumbnail($productThumbnail) + /** + * Get product thumbnail image + * + * @return \Magento\Catalog\Model\Product\Image + */ + public function getProductThumbnail() { - $this->_productThumbnail = $productThumbnail; - return $this; + return $this->_imageHelper->init($this->getProductForThumbnail(), 'thumbnail'); } /** - * Thumbnail image getter + * Identify the product from which thumbnail should be taken. * - * @return \Magento\Catalog\Helper\Image + * @return \Magento\Catalog\Model\Product */ - protected function _getThumbnail() + public function getProductForThumbnail() { - if (is_null($this->_productThumbnail)) { - $product = $this->getProduct(); - if ($this->getProduct()->isConfigurable()) { - $children = $this->getItem()->getChildren(); - if (isset($children[0]) - && $children[0]->getProduct()->getThumbnail() - && $children[0]->getProduct()->getThumbnail() != 'no_selection' - ) { - $product = $children[0]->getProduct(); - } - } - $thumbnail = $this->_imageHelper->init($product, 'thumbnail'); - } else { - $thumbnail = $this->_productThumbnail; - } - return $thumbnail; + return $this->getProduct(); } /** @@ -176,7 +164,7 @@ class Renderer extends \Magento\View\Element\Template */ public function getProductThumbnailUrl() { - return (string) $this->_getThumbnail()->resize($this->getThumbnailSize()); + return (string)$this->getProductThumbnail()->resize($this->getThumbnailSize()); } /** @@ -196,7 +184,9 @@ class Renderer extends \Magento\View\Element\Template */ public function getProductThumbnailSidebarUrl() { - return (string) $this->_getThumbnail()->resize($this->getThumbnailSidebarSize())->setWatermarkSize('30x10'); + return (string)$this->getProductThumbnail() + ->resize($this->getThumbnailSidebarSize()) + ->setWatermarkSize('30x10'); } /** @@ -238,8 +228,7 @@ class Renderer extends \Magento\View\Element\Template if ($product->isVisibleInSiteVisibility()) { return true; - } - else { + } else { if ($product->hasUrlDataObject()) { $data = $product->getUrlDataObject(); if (in_array($data->getVisibility(), $product->getVisibleInSiteVisibilities())) { diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php index a5d331e408db6c3529a2fc807a2287e46c461dd1..d23047f0284fe807b53449db377dde0d6b919328 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php @@ -18,38 +18,23 @@ * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * - * @category Magento - * @package Magento_Checkout * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ -/** - * Shopping cart item render block - * - * @category Magento - * @package Magento_Checkout - * @author Magento Core Team <core@magentocommerce.com> - */ namespace Magento\Checkout\Block\Cart\Item\Renderer; +use Magento\Catalog\Model\Config\Source\Product\Thumbnail as ThumbnailSource; + +/** + * Shopping cart item render block for configurable products. + */ class Configurable extends \Magento\Checkout\Block\Cart\Item\Renderer { - const CONFIGURABLE_PRODUCT_IMAGE= 'checkout/cart/configurable_product_image'; - const USE_PARENT_IMAGE = 'parent'; - /** - * Get item configurable product - * - * @return \Magento\Catalog\Model\Product + * Path in config to the setting which defines if parent or child product should be used to generate a thumbnail. */ - public function getConfigurableProduct() - { - if ($option = $this->getItem()->getOptionByCode('product_type')) { - return $option->getProduct(); - } - return $this->getProduct(); - } + const CONFIG_THUMBNAIL_SOURCE = 'checkout/cart/configurable_product_image'; /** * Get item configurable child product @@ -64,22 +49,6 @@ class Configurable extends \Magento\Checkout\Block\Cart\Item\Renderer return $this->getProduct(); } - /** - * Get product thumbnail image - * - * @return \Magento\Catalog\Model\Product\Image - */ - public function getProductThumbnail() - { - $product = $this->getChildProduct(); - if (!$product || !$product->getData('thumbnail') - || ($product->getData('thumbnail') == 'no_selection') - || ($this->_storeConfig->getConfig(self::CONFIGURABLE_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)) { - $product = $this->getProduct(); - } - return $this->_imageHelper->init($product, 'thumbnail'); - } - /** * Get item product name * @@ -91,24 +60,31 @@ class Configurable extends \Magento\Checkout\Block\Cart\Item\Renderer } /** - * Get selected for configurable product attributes + * Get list of all otions for product * * @return array */ - public function getProductAttributes() + public function getOptionList() { - $attributes = $this->getProduct()->getTypeInstance() - ->getSelectedAttributesInfo($this->getProduct()); - return $attributes; + return $this->_productConfig->getConfigurableOptions($this->getItem()); } /** - * Get list of all otions for product - * - * @return array + * {@inheritdoc} */ - public function getOptionList() + public function getProductForThumbnail() { - return $this->_productConfig->getConfigurableOptions($this->getItem()); + /** + * Show parent product thumbnail if it must be always shown according to the related setting in system config + * or if child thumbnail is not available + */ + if ($this->_storeConfig->getConfig(self::CONFIG_THUMBNAIL_SOURCE) == ThumbnailSource::OPTION_USE_PARENT_IMAGE + || !($this->getChildProduct()->getThumbnail() && $this->getChildProduct()->getThumbnail() != 'no_selection') + ) { + $product = $this->getProduct(); + } else { + $product = $this->getChildProduct(); + } + return $product; } } diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Grouped.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Grouped.php index e464220ade2b3e452c4aaec6dbd4ba0d41c6069f..c32bddc20a2d91ac527c5bdf62bd5072ab59bbb4 100644 --- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Grouped.php +++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Grouped.php @@ -18,25 +18,23 @@ * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * - * @category Magento - * @package Magento_Checkout * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ +namespace Magento\Checkout\Block\Cart\Item\Renderer; + +use Magento\Catalog\Model\Config\Source\Product\Thumbnail as ThumbnailSource; + /** * Shopping cart item render block - * - * @category Magento - * @package Magento_Checkout - * @author Magento Core Team <core@magentocommerce.com> */ -namespace Magento\Checkout\Block\Cart\Item\Renderer; - class Grouped extends \Magento\Checkout\Block\Cart\Item\Renderer { - const GROUPED_PRODUCT_IMAGE = 'checkout/cart/grouped_product_image'; - const USE_PARENT_IMAGE = 'parent'; + /** + * Path in config to the setting which defines if parent or child product should be used to generate a thumbnail. + */ + const CONFIG_THUMBNAIL_SOURCE = 'checkout/cart/grouped_product_image'; /** * Get item grouped product @@ -53,35 +51,21 @@ class Grouped extends \Magento\Checkout\Block\Cart\Item\Renderer } /** - * Get product thumbnail image - * - * @return \Magento\Catalog\Model\Product\Image + * {@inheritdoc} */ - public function getProductThumbnail() + public function getProductForThumbnail() { - $product = $this->getProduct(); - if (!$product->getData('thumbnail') - || ($product->getData('thumbnail') == 'no_selection') - || ($this->_storeConfig->getConfig(self::GROUPED_PRODUCT_IMAGE) == self::USE_PARENT_IMAGE)) { + /** + * Show grouped product thumbnail if it must be always shown according to the related setting in system config + * or if child product thumbnail is not available + */ + if ($this->_storeConfig->getConfig(self::CONFIG_THUMBNAIL_SOURCE) == ThumbnailSource::OPTION_USE_PARENT_IMAGE + || !($this->getProduct()->getThumbnail() && $this->getProduct()->getThumbnail() != 'no_selection') + ) { $product = $this->getGroupedProduct(); + } else { + $product = $this->getProduct(); } - return $this->_imageHelper->init($product, 'thumbnail'); - } - - /** - * Prepare item html - * - * This method uses renderer for real product type - * - * @return string - */ - protected function _toHtml() - { - $renderer = $this->getRenderedBlock()->getItemRenderer($this->getItem()->getRealProductType()); - $renderer->setItem($this->getItem()); - $renderer->overrideProductThumbnail($this->getProductThumbnail()); - $rendererHtml = $renderer->toHtml(); - $renderer->overrideProductThumbnail(null); - return $rendererHtml; + return $product; } } diff --git a/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml b/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml index 2693ac4df37397c4c6491d8e414aff049b11a5ea..1aa9ca7c8fb4c52732d97980d842d6ea63889aba 100644 --- a/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml +++ b/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml @@ -35,7 +35,7 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite <?php else:?> <span class="product photo"> <?php endif;?> - <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_item->getProduct(), 'cart_page_product_thumbnail')->toHtml(); ?> + <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($this->getProductForThumbnail(), 'cart_page_product_thumbnail')->toHtml(); ?> <?php if ($this->hasProductUrl()):?></a><?php else: ?></span><?php endif; ?> <div class="product details"> <strong class="product name"> diff --git a/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml b/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml index 7d0da1e682db0483b78ed153631b817f4aff8eb2..5d60084af298b63ce441fdfc24d793f214199a14 100644 --- a/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml +++ b/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml @@ -22,6 +22,8 @@ * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */ + +/** @var $this \Magento\Checkout\Block\Cart\Item\Renderer */ ?> <?php $_item = $this->getItem() ?> <?php $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM); ?> @@ -30,11 +32,11 @@ <div class="product"> <?php if ($this->hasProductUrl()): ?> <a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo"> - <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?> + <?php echo $imageBlock->init($this->getProductForThumbnail(), 'mini_cart_product_thumbnail')->toHtml() ?> </a> <?php else: ?> <span class="product photo"> - <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?> + <?php echo $imageBlock->init($this->getProductForThumbnail(), 'mini_cart_product_thumbnail')->toHtml() ?> </span> <?php endif; ?> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml index b81bc05ad22e41dca72f0232bed7e9af3de25214..173335470baa2169cfb9c0c8956dca7ec56dbf60 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml @@ -26,32 +26,32 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="page_one_column"/> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.phtml"> + <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.phtml" cacheable="false"> <container name="checkout.cart.items" label="invisible" as="with-items"> - <block class="Magento\Checkout\Block\Cart" name="checkout.cart.form" as="cart-items" template="cart/form.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/item/default.phtml"/> + <block class="Magento\Checkout\Block\Cart" name="checkout.cart.form" as="cart-items" template="cart/form.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/item/default.phtml" cacheable="false"/> <container name="checkout.cart.form.before" as="form_before" label="Shopping Cart Items Before" htmlTag="div" htmlClass="rewards"/> <container name="checkout.cart.widget" as="checkout_cart_widget" label="Shopping Cart Items After"/> </block> - <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" after="checkout.cart.summary.title" template="cart/shipping.phtml"/> - <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" after="checkout.cart.shipping" template="cart/coupon.phtml"/> - <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml"/> - <block class="Magento\Checkout\Block\Cart" name="checkout.cart.methods.bottom" template="cart/methods.phtml"> + <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" after="checkout.cart.summary.title" template="cart/shipping.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" after="checkout.cart.shipping" template="cart/coupon.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart" name="checkout.cart.methods.bottom" template="cart/methods.phtml" cacheable="false"> <container name="checkout.cart.methods" as="methods" label="Payment Methods After Checkout Button"> - <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.bottom" template="onepage/link.phtml"/> - <block class="Magento\Checkout\Block\Multishipping\Link" name="checkout.cart.methods.multishipping" template="multishipping/link.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.bottom" template="onepage/link.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Multishipping\Link" name="checkout.cart.methods.multishipping" template="multishipping/link.phtml" cacheable="false"/> </container> </block> - <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" after="-"> + <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" after="-" cacheable="false"> <arguments> <argument name="type" xsi:type="string">crosssell</argument> </arguments> </block> </container> <container name="checkout.cart.noitems" label="invisible" as="no-items"> - <block class="Magento\Checkout\Block\Cart" name="checkout.cart.empty" before="-" template="cart/noItems.phtml"/> + <block class="Magento\Checkout\Block\Cart" name="checkout.cart.empty" before="-" template="cart/noItems.phtml" cacheable="false"/> <container name="checkout.cart.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/> </container> </block> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_select.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_select.xml index d38cf7ba587e9c7150608342b71af8390693fd95..c5fe4930435a07eb8fc9a6341783ca706d264148 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_select.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_select.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout Shipping Address Selection" design_abstraction="custom"> <update handle="checkout_multishipping"/> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml index 21ad81739e80489de656eac7cf846a17fd978cb2..c5aa54a45f9769fa6f460fb5360e410d2eccf133 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml @@ -31,6 +31,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml index 2317bfbb046d78b73593bf58353f11c0bd112b89..6df01b9e51ba08b77ac9d9e15873e15490f8386e 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml @@ -31,10 +31,10 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Addresses" name="checkout_addresses" template="multishipping/addresses.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Addresses" name="checkout_addresses" template="multishipping/addresses.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml" cacheable="false"/> </block> </referenceContainer> <block class="Magento\View\Element\Template" name="additional.product.info" template="Magento_Core::template.phtml"/> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml index a126d24cc58b18c9a36b7f869033204f2511ea27..78fa0930ea68dc539c5af654a9756f726cb0a008 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml @@ -31,7 +31,7 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Billing" name="checkout_billing" template="multishipping/billing.phtml"> + <block class="Magento\Checkout\Block\Multishipping\Billing" name="checkout_billing" template="multishipping/billing.phtml" cacheable="false"> <action method="setMethodFormTemplate"> <argument name="method" xsi:type="string">purchaseorder</argument> <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml index ed3deff462371d47d86161f1904b6d0a8a16de4c..361796e5dca240146ff25f2496806ad3373de142 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout Customer Address Edit Form" design_abstraction="custom"> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml"/> + <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml" cacheable="false"/> </referenceContainer> <update handle="customer_form_template_handle"/> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml index 7abe05f2ee44c343473ef4bac8e2b6c2c179323f..1ed00cd9ce2800375d4b497c87a6970f57502118 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml @@ -31,12 +31,12 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Overview" name="checkout_overview" template="multishipping/overview.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="row-grouped" template="multishipping/overview/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="row-configurable" template="multishipping/overview/item.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Overview" name="checkout_overview" template="multishipping/overview.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="row-grouped" template="multishipping/overview/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="row-configurable" template="multishipping/overview/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Multishipping\Payment\Info" name="payment_info"> <action method="setInfoTemplate"> <argument name="method" xsi:type="string"/> @@ -44,7 +44,7 @@ </action> </block> <block class="Magento\Checkout\Block\Agreements" name="checkout.multishipping.agreements" as="agreements" template="agreements.phtml"/> - <block class="Magento\Checkout\Block\Cart\Totals" name="totals"/> + <block class="Magento\Checkout\Block\Cart\Totals" name="totals" cacheable="false"/> <container name="checkout.multishipping.overview.items.after" as="items_after" label="Overview Items After"/> </block> </referenceContainer> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml index 7878941bc58fddbe9153cae8fe19fc597d51d84a..e06feab2fd564e09d09de052f1e33f1d6c902c41 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml @@ -31,14 +31,14 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Shipping" name="checkout_shipping" template="multishipping/shipping.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Multishipping\Billing\Items" name="checkout_billing_items" template="multishipping/billing/items.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Shipping" name="checkout_shipping" template="multishipping/shipping.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Multishipping\Billing\Items" name="checkout_billing_items" template="multishipping/billing/items.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml" cacheable="false"/> </block> </block> </referenceContainer> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml index 0ef1073bf8f1d7c9b637daf6f9d3b4da233ba28b..b6d955c6428166bdd887eefe00809ee3bd9504d7 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml @@ -31,6 +31,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Multishipping\Success" name="checkout_success" template="multishipping/success.phtml"/> + <block class="Magento\Checkout\Block\Multishipping\Success" name="checkout_success" template="multishipping/success.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml index 5478047f775dde24752b0ab77a0f6e223b7bab2c..698d4799289f2477a27de796fef40edcf6f200ec 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml @@ -31,21 +31,21 @@ </container> </referenceContainer> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Onepage" name="checkout.onepage" template="onepage.phtml"> - <block class="Magento\Checkout\Block\Onepage\Login" name="checkout.onepage.login" as="login" template="onepage/login.phtml"> + <block class="Magento\Checkout\Block\Onepage" name="checkout.onepage" template="onepage.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Onepage\Login" name="checkout.onepage.login" as="login" template="onepage/login.phtml" cacheable="false"> <container name="checkout.onepage.login.before" as="login_before" label="Login/Registration Before" htmlTag="div"/> <container name="form.login.additional.info" label="invisible" as="form_additional_info"/> </block> - <block class="Magento\Checkout\Block\Onepage\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml"> + <block class="Magento\Checkout\Block\Onepage\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml" cacheable="false"> <container name="form.billing.additional.info" label="invisible" as="form_additional_info"/> </block> - <block class="Magento\Checkout\Block\Onepage\Shipping" name="checkout.onepage.shipping" as="shipping" template="onepage/shipping.phtml" /> - <block class="Magento\Checkout\Block\Onepage\Shipping\Method" name="checkout.onepage.shipping_method" as="shipping_method" template="onepage/shipping_method.phtml"> - <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="checkout.onepage.shipping_method.available" as="available" template="onepage/shipping_method/available.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Shipping" name="checkout.onepage.shipping" as="shipping" template="onepage/shipping.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Onepage\Shipping\Method" name="checkout.onepage.shipping_method" as="shipping_method" template="onepage/shipping_method.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="checkout.onepage.shipping_method.available" as="available" template="onepage/shipping_method/available.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="checkout.onepage.shipping_method.additional" as="additional" template="onepage/shipping_method/additional.phtml"/> </block> - <block class="Magento\Checkout\Block\Onepage\Payment" name="checkout.onepage.payment" as="payment" template="onepage/payment.phtml"> - <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="checkout.payment.methods" as="methods" template="onepage/payment/methods.phtml"> + <block class="Magento\Checkout\Block\Onepage\Payment" name="checkout.onepage.payment" as="payment" template="onepage/payment.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="checkout.payment.methods" as="methods" template="onepage/payment/methods.phtml" cacheable="false"> <action method="setMethodFormTemplate"> <argument name="method" xsi:type="string">purchaseorder</argument> <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument> @@ -54,7 +54,7 @@ <block class="Magento\View\Element\Template" name="checkout.onepage.payment.additional" as="additional"/> <block class="Magento\View\Element\Template" name="checkout.onepage.payment.methods_additional" as="methods_additional"/> </block> - <block class="Magento\Checkout\Block\Onepage\Review" name="checkout.onepage.review" as="review" template="onepage/review.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Review" name="checkout.onepage.review" as="review" template="onepage/review.phtml" cacheable="false"/> </block> </referenceContainer> <update handle="customer_form_template_handle"/> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml index 683a2854b21ba4e446d521e978b138290590ad46..c73eba27b6f2596144b0721e218302bb712d63d1 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml @@ -24,7 +24,7 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="payment_method" output="1" template="onepage/payment/methods.phtml"> + <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="payment_method" output="1" template="onepage/payment/methods.phtml" cacheable="false"> <action method="setMethodFormTemplate"> <argument name="method" xsi:type="string">purchaseorder</argument> <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_progress.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_progress.xml index aa7782fcb8d9d7e34b3602d1219261bdb244bde1..ee47d36c1e78d4f55aa1988fd45aa06b5366e2e3 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_progress.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_progress.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Checkout\Block\Onepage\Progress" name="progress" output="1" template="onepage/progress.phtml"> - <block class="Magento\Checkout\Block\Onepage\Payment\Info" name="payment_info"> + <block class="Magento\Checkout\Block\Onepage\Payment\Info" name="payment_info" cacheable="false"> <action method="setInfoTemplate"> <argument name="method" xsi:type="string"/> <argument name="template" xsi:type="string"/> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml index 75b4f8f6f9f1df37e732825d43cbc34c27bd078d..8fef618e8628deb178ee4d4b3fec6d06256f0594 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml @@ -24,11 +24,11 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Checkout\Block\Onepage\Review\Info" name="order_review" output="1" template="onepage/review/info.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.onepage.review.info.totals" as="totals" template="onepage/review/totals.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Review\Info" name="order_review" output="1" template="onepage/review/info.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.onepage.review.info.totals" as="totals" template="onepage/review/totals.phtml" cacheable="false"/> <container name="checkout.onepage.review.info.items.before" as="items_before" label="Items Before"/> <container name="checkout.onepage.review.info.items.after" as="items_after" label="Items After"/> <block class="Magento\Checkout\Block\Agreements" name="checkout.onepage.agreements" as="agreements" template="agreements.phtml"/> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_shippingmethod.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_shippingmethod.xml index 05c230fe0a5b9871671e413db196811fcd367e3b..cf8faebb7128cb97484dea6bec5f10449cfb77d2 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_shippingmethod.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_shippingmethod.xml @@ -24,5 +24,5 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="shipping_method" output="1" template="onepage/shipping_method/available.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="shipping_method" output="1" template="onepage/shipping_method/available.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml index dcff7f31e1b7041b9b3b30866bc1248b50ca0e0a..e8277f2a826cd73c69b775cc13fafb7d2433570c 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml @@ -31,6 +31,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success" template="success.phtml"/> + <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success" template="success.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Checkout/view/frontend/layout/default.xml b/app/code/Magento/Checkout/view/frontend/layout/default.xml index cd906583e9715ca2d75b9b33076e1b5ca19e63f2..8bf1c13e3c78d3a63629284fb82960c301215241 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/default.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/default.xml @@ -27,12 +27,12 @@ <referenceBlock name="head.components"> <block class="Magento\View\Element\Js\Components" name="checkout_page_head_components" template="Magento_Checkout::js/components.phtml"/> </referenceBlock> - <referenceContainer name="header"> - <block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="cart/minicart.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/sidebar/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/sidebar/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/sidebar/default.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="virtual" template="cart/sidebar/default.phtml"/> + <referenceContainer name="header-wrapper"> + <block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="cart/minicart.phtml" cacheable="false"> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/sidebar/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/sidebar/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/sidebar/default.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="virtual" template="cart/sidebar/default.phtml" cacheable="false"/> <container name="minicart.extra.info" as="minicart_info" label="My Cart Extra info"/> <container name="topCart.extra_actions" as="extra_actions" label="My Cart Extra Actions"/> </block> diff --git a/app/code/Magento/Core/Model/App.php b/app/code/Magento/Core/Model/App.php index ccc76fe963684eb77b68196e4c9d6029e983cac6..ece5761cca2a7c26c88acbe68b64599f5906c3b8 100644 --- a/app/code/Magento/Core/Model/App.php +++ b/app/code/Magento/Core/Model/App.php @@ -53,7 +53,7 @@ class App implements \Magento\Core\Model\AppInterface /** * Magento version */ - const VERSION = '2.0.0.0-dev60'; + const VERSION = '2.0.0.0-dev61'; /** @@ -804,7 +804,7 @@ class App implements \Magento\Core\Model\AppInterface 'revision' => '0', 'patch' => '0', 'stability' => 'dev', - 'number' => '60', + 'number' => '61', ); } } diff --git a/app/code/Magento/Core/Model/Layout.php b/app/code/Magento/Core/Model/Layout.php index 3fe636c262ee1026e689d73154e912ba41ac7a1d..2b951e72de89fa576065a500e6123f05c3db74d8 100644 --- a/app/code/Magento/Core/Model/Layout.php +++ b/app/code/Magento/Core/Model/Layout.php @@ -1658,4 +1658,14 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn } return $messageGroups; } + + /** + * Check is exists non-cacheable layout elements + * + * @return bool + */ + public function isCacheable() + { + return !(boolean)count($this->_xml->xpath('//' . Element::TYPE_BLOCK . '[@cacheable="false"]')); + } } diff --git a/app/code/Magento/Core/Model/Locale.php b/app/code/Magento/Core/Model/Locale.php index bbca15273c1c221d61738bfba9cae12a4bb0161b..57fc7c2f8f1f312262a45a99d82fa86e6c275f98 100644 --- a/app/code/Magento/Core/Model/Locale.php +++ b/app/code/Magento/Core/Model/Locale.php @@ -359,16 +359,20 @@ class Locale implements \Magento\Core\Model\LocaleInterface /** * Retrieve days of week option list * + * @param bool $preserveCodes + * @param bool $ucFirstCode + * * @return array */ - public function getOptionWeekdays() + public function getOptionWeekdays($preserveCodes = false, $ucFirstCode = false) { $options= array(); $days = $this->getTranslationList('days'); - foreach (array_values($days['format']['wide']) as $code => $name) { + $days = $preserveCodes ? $days['format']['wide'] : array_values($days['format']['wide']); + foreach ($days as $code => $name) { $options[] = array( 'label' => $name, - 'value' => $code, + 'value' => $ucFirstCode ? ucfirst($code) : $code, ); } return $options; diff --git a/app/code/Magento/Core/Model/LocaleInterface.php b/app/code/Magento/Core/Model/LocaleInterface.php index 1e3996c81359080df52a5b44a46a64bbbe99e659..c0cd6a6d463fc92871720bb401509307146bbbc0 100644 --- a/app/code/Magento/Core/Model/LocaleInterface.php +++ b/app/code/Magento/Core/Model/LocaleInterface.php @@ -138,9 +138,11 @@ interface LocaleInterface /** * Retrieve days of week option list * + * @param bool $preserveCodes + * @param bool $ucFirstCode * @return array */ - public function getOptionWeekdays(); + public function getOptionWeekdays($preserveCodes = false, $ucFirstCode = false); /** * Retrieve country option list diff --git a/app/code/Magento/Core/Model/Session/Config.php b/app/code/Magento/Core/Model/Session/Config.php index 88c7a7ada86a0f4d594c3da592d4ab91fe19edba..ac8ea3c1d03b839700ce62655763a1fe2a761074 100644 --- a/app/code/Magento/Core/Model/Session/Config.php +++ b/app/code/Magento/Core/Model/Session/Config.php @@ -174,7 +174,7 @@ class Config implements \Magento\Session\Config\ConfigInterface $domain = $this->_storeConfig->getConfig(self::XML_PATH_COOKIE_DOMAIN, $this->_storeManager->getStore()); $domain = empty($domain) ? $this->_httpRequest->getHttpHost() : $domain; $this->setCookieDomain((string)$domain); - $this->setCookieSecure($this->_httpRequest->isSecure()); + $this->setCookieHttpOnly( $this->_storeConfig->getConfig(self::XML_PATH_COOKIE_HTTPONLY, $this->_storeManager->getStore()) ); diff --git a/app/code/Magento/Core/etc/layouts.xsd b/app/code/Magento/Core/etc/layouts.xsd index 1e6d9b7bbe472ab6677827211f8bf4840be38d7f..a091804c3086bcd98ed841db62f32405940406d9 100644 --- a/app/code/Magento/Core/etc/layouts.xsd +++ b/app/code/Magento/Core/etc/layouts.xsd @@ -234,6 +234,7 @@ <xs:attribute type="xs:string" name="acl" use="optional"/> <xs:attribute type="xs:string" name="ifconfig" use="optional"/> <xs:attribute type="xs:string" name="group" use="optional" /> + <xs:attribute name="cacheable" type="xs:boolean" default="true" use="optional"/> </xs:complexType> <xs:complexType name="dataType"> diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Index.php b/app/code/Magento/Customer/Controller/Adminhtml/Index.php index fa3cbeada28de9f770b55e3c28ebbf3aa32ba916..046953d1a9d59f45adaaf1045ea7c9d7cb780350 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Index.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Index.php @@ -326,8 +326,10 @@ class Index extends \Magento\Backend\App\Action ->generateResetPasswordLinkToken(); $customer->changeResetPasswordLinkToken($newPasswordToken); $resetUrl = $this->_objectManager->create('Magento\Core\Model\Url') - ->getUrl('customer/account/createPassword', - array('_query' => array('id' => $customer->getId(), 'token' => $newPasswordToken)) + ->getUrl('customer/account/createPassword', array( + '_query' => array('id' => $customer->getId(), 'token' => $newPasswordToken), + '_store' => $customer->getStoreId() + ) ); $customer->setResetPasswordUrl($resetUrl); $customer->sendPasswordReminderEmail(); diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_create.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_create.xml index 92900d0da575f401ddd6e8c24b27989363e22d03..3bc8732cff0d4308d7f7dd4e8444ff1544f097cc 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_create.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_create.xml @@ -30,7 +30,7 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Form\Register" name="customer_form_register" template="form/register.phtml"> + <block class="Magento\Customer\Block\Form\Register" name="customer_form_register" template="form/register.phtml" cacheable="false"> <container name="form.additional.info" label="invisible" as="form_additional_info"/> <container name="customer.form.register.fields.before" as="form_fields_before" label="Form Fields Before" htmlTag="div" htmlClass="customer-form-before"/> </block> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_createpassword.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_createpassword.xml index 8110383e0fb2991e6645219a7ad90968bc954e75..340952c5eb5118aace4c0dec122bfc9b9756c714 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_createpassword.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_createpassword.xml @@ -38,6 +38,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Account\Resetpassword" name="resetPassword" template="form/resetforgottenpassword.phtml"/> + <block class="Magento\Customer\Block\Account\Resetpassword" name="resetPassword" template="form/resetforgottenpassword.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_edit.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_edit.xml index 4229e74ec10d32104e1b53634ff85f9703b6959d..bdc31389c7eda92f57e1db3deec60674c8bf0c68 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_edit.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_edit.xml @@ -31,6 +31,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Form\Edit" name="customer_edit" template="form/edit.phtml"/> + <block class="Magento\Customer\Block\Form\Edit" name="customer_edit" template="form/edit.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_forgotpassword.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_forgotpassword.xml index d3b4784bfa4750b58564ae0c458f2bf2840c5b7d..35a76958fec3726d3a4d8c874e3f9657ab05de64 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_forgotpassword.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_forgotpassword.xml @@ -38,7 +38,7 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Account\Forgotpassword" name="forgotPassword" template="form/forgotpassword.phtml"> + <block class="Magento\Customer\Block\Account\Forgotpassword" name="forgotPassword" template="form/forgotpassword.phtml" cacheable="false"> <container name="form.additional.info" label="invisible" as="form_additional_info"/> </block> </referenceContainer> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml index 7e2b89981671b51f47dd63afa4014a92d6debc3d..ff3922e4b4615636ef828a2a24df2c10e4cf8376 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml @@ -31,9 +31,9 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Account\Dashboard\Hello" name="customer_account_dashboard_hello" as="hello" template="account/dashboard/hello.phtml"/> + <block class="Magento\Customer\Block\Account\Dashboard\Hello" name="customer_account_dashboard_hello" as="hello" template="account/dashboard/hello.phtml" cacheable="false"/> <block class="Magento\View\Element\Template" name="customer_account_dashboard_top" as="top"/> - <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml"/> - <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml"/> + <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml" cacheable="false"/> + <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_login.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_login.xml index da701a1abd8f3babb11c6728454936ffe94c5c65..cb929cf57463dc1743b90305540d506ee8f5e0c9 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_login.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_login.xml @@ -32,10 +32,10 @@ <referenceContainer name="content"> <!-- customer.form.login.extra --> <container name="customer.login.container" label="Customer Login Container" htmlTag="div" htmlClass="login container"> - <block class="Magento\Customer\Block\Form\Login" name="customer_form_login" template="form/login.phtml"> + <block class="Magento\Customer\Block\Form\Login" name="customer_form_login" template="form/login.phtml" cacheable="false"> <container name="form.additional.info" label="invisible" as="form_additional_info"/> </block> - <block class="Magento\Customer\Block\Form\Login" name="customer.new" template="newcustomer.phtml"/> + <block class="Magento\Customer\Block\Form\Login" name="customer.new" template="newcustomer.phtml" cacheable="false"/> </container> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_address_form.xml b/app/code/Magento/Customer/view/frontend/layout/customer_address_form.xml index 36540b9c252385d6331ba000154bebbd8e972e7a..08d85e9c5907984729864f0d8bde77653ee29abe 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_address_form.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_address_form.xml @@ -31,6 +31,6 @@ </arguments> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml"/> + <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_address_index.xml b/app/code/Magento/Customer/view/frontend/layout/customer_address_index.xml index a3798f84da3be857e6b32907040ae83954dee6a0..0d8414ad546b2762500ef86319e67cb773f78b11 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_address_index.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_address_index.xml @@ -26,9 +26,9 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceBlock name="page.main.title"> - <block class="Magento\Customer\Block\Address\Book" name="address.book.button" template="address/button.phtml"/> + <block class="Magento\Customer\Block\Address\Book" name="address.book.button" template="address/button.phtml" cacheable="false"/> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Address\Book" name="address_book" template="address/book.phtml"/> + <block class="Magento\Customer\Block\Address\Book" name="address_book" template="address/book.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Customer/view/frontend/layout/default.xml b/app/code/Magento/Customer/view/frontend/layout/default.xml index 2c16d92297ad6f743e19e883801a35ee84e741e6..c0cf556c60480c5636521132dc8bbe3dcef68738 100644 --- a/app/code/Magento/Customer/view/frontend/layout/default.xml +++ b/app/code/Magento/Customer/view/frontend/layout/default.xml @@ -25,16 +25,16 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="top.links"> - <block class="Magento\Customer\Block\Account\Link" name="my-account-link"> + <block class="Magento\Customer\Block\Account\Link" name="my-account-link" cacheable="false"> <arguments> <argument name="label" xsi:type="string">My Account</argument> </arguments> </block> - <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link"> + <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link" cacheable="false"> <arguments> <argument name="label" xsi:type="string">Register</argument> </arguments> </block> - <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link" after="onepage-checkout-link"/> + <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link" after="onepage-checkout-link" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/GoogleCheckout/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/GoogleCheckout/view/frontend/layout/checkout_cart_index.xml index 7656414940a31a557f06b6c401fc53399bbbb86f..f89e77bc9caa21919f18860a5597dc6047fe9fc0 100644 --- a/app/code/Magento/GoogleCheckout/view/frontend/layout/checkout_cart_index.xml +++ b/app/code/Magento/GoogleCheckout/view/frontend/layout/checkout_cart_index.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="checkout.cart.methods"> - <block class="Magento\GoogleCheckout\Block\Link" name="checkout.cart.methods.googlecheckout.bottom" template="link.phtml"/> + <block class="Magento\GoogleCheckout\Block\Link" name="checkout.cart.methods.googlecheckout.bottom" template="link.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php index 1f423a0a46e9533554e6c85d9ad01fa28005d662..03e67a9fbd9d5f9a7b76228d36e21031fd916680 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php @@ -91,8 +91,8 @@ class Export extends \Magento\Backend\App\Action return $this->_fileFactory->create( $model->getFileName(), - \Magento\Filesystem::VAR_DIR, $model->export(), + \Magento\Filesystem::VAR_DIR, $model->getContentType() ); } catch (\Magento\Core\Exception $e) { diff --git a/app/code/Magento/Newsletter/view/frontend/layout/default.xml b/app/code/Magento/Newsletter/view/frontend/layout/default.xml index 175bb8ba8bb593984725ade83f93692aa276c01b..bcf28a3dbf80e26bf92e48fec52850301820077d 100644 --- a/app/code/Magento/Newsletter/view/frontend/layout/default.xml +++ b/app/code/Magento/Newsletter/view/frontend/layout/default.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="footer"> - <block class="Magento\Newsletter\Block\Subscribe" name="form.subscribe" as="subscribe" before="-" template="subscribe.phtml"/> + <block class="Magento\Newsletter\Block\Subscribe" name="form.subscribe" as="subscribe" before="-" template="subscribe.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Newsletter/view/frontend/layout/newsletter_manage_index.xml b/app/code/Magento/Newsletter/view/frontend/layout/newsletter_manage_index.xml index e790675d06bb77bc9f714796a20c005d5e0adf3e..7701e265d77a81423fa6951ad0ff2554ede5bb26 100644 --- a/app/code/Magento/Newsletter/view/frontend/layout/newsletter_manage_index.xml +++ b/app/code/Magento/Newsletter/view/frontend/layout/newsletter_manage_index.xml @@ -26,7 +26,7 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Customer\Block\Newsletter" name="customer_newsletter"> + <block class="Magento\Customer\Block\Newsletter" name="customer_newsletter" cacheable="false"> <container name="customer.newsletter.form.before" as="form_before" label="Newsletter Subscription Form Before" htmlTag="div" htmlClass="rewards"/> </block> </referenceContainer> diff --git a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_paypage.xml b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_paypage.xml index 94218c2bcc134e6cc6bde49acf7541b074370377..f39f141de04b8316be9b48f41a115feff09dea1f 100644 --- a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_paypage.xml +++ b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_paypage.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <remove name="catalog.topnav"/> - <referenceBlock name="header"> + <referenceBlock name="header-wrapper"> <remove name="top.links"/> <remove name="top.search"/> <remove name="store_language"/> diff --git a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml index 271e0e1195c3d07b46673a54c8f2b08a27558870..5bc5a9c452fda78d3329d51283a43a3d7819bb53 100644 --- a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml +++ b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="page_one_column"/> <referenceContainer name="content"> - <block class="Magento\Ogone\Block\Placeform" name="ogone_placeform" template="placeform.phtml"/> + <block class="Magento\Ogone\Block\Placeform" name="ogone_placeform" template="placeform.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Paypal/view/frontend/layout/SHORTCUT_popup.xml b/app/code/Magento/Paypal/view/frontend/layout/SHORTCUT_popup.xml index 7ce3c1d0c21970b41df578fe61593e4deb80beeb..b1f43c9dcdf0030afc51234eaa6b1638dcbc7dce 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/SHORTCUT_popup.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/SHORTCUT_popup.xml @@ -28,7 +28,7 @@ <container name="product.info.addtocart.paypal.wrapper" label="PayPal Express Checkout Shortcut Wrapper" htmlTag="div"> <block class="Magento\Paypal\Block\Express\Shortcut" name="product.info.addtocart.paypal" - template="express/shortcut.phtml"> + template="express/shortcut.phtml" cacheable="false"> <action method="setIsInCatalogProduct"> <argument name="value" xsi:type="string">1</argument> </action> diff --git a/app/code/Magento/Paypal/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/Paypal/view/frontend/layout/checkout_cart_index.xml index b2125d7ff9e589e6f1b839f044f286c1abc09044..53deb726ad05481be4f5f273d8ac7675ae398a01 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/checkout_cart_index.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/checkout_cart_index.xml @@ -26,7 +26,7 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="checkout.cart.top_methods"> <block class="Magento\Paypal\Block\Express\Shortcut" name="checkout.cart.methods.paypal_express.top" before="-" - template="express/shortcut.phtml"> + template="express/shortcut.phtml" cacheable="false"> <action method="setIsQuoteAllowed"> <argument name="value" xsi:type="string">1</argument> </action> @@ -34,7 +34,7 @@ </referenceContainer> <referenceContainer name="checkout.cart.methods"> <block class="Magento\Paypal\Block\Express\Shortcut" name="checkout.cart.methods.paypal_express.bottom" - before="-" template="express/shortcut.phtml"> + before="-" template="express/shortcut.phtml" cacheable="false"> <action method="setIsQuoteAllowed"> <argument name="value" xsi:type="string">1</argument> </action> diff --git a/app/code/Magento/Paypal/view/frontend/layout/checkout_onepage_review.xml b/app/code/Magento/Paypal/view/frontend/layout/checkout_onepage_review.xml index 3e92d95707d54eb4d804642a9aaa3e10eb152334..a649fcf8e162880279685d81c7ac449f18c104cc 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/checkout_onepage_review.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/checkout_onepage_review.xml @@ -25,7 +25,7 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="checkout.onepage.review.info.items.after"> - <block class="Magento\Paypal\Block\Iframe" name="paypal.iframe"/> + <block class="Magento\Paypal\Block\Iframe" name="paypal.iframe" cacheable="false"/> </referenceContainer> <referenceBlock name="checkout.onepage.review.button"> <action method="setTemplate"> diff --git a/app/code/Magento/Paypal/view/frontend/layout/default.xml b/app/code/Magento/Paypal/view/frontend/layout/default.xml index 80575b490e6c82d0ca988396b7ef353ed522550a..2bb674915d0e52c496769708c03a8a48406aecb3 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/default.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/default.xml @@ -26,10 +26,10 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="topCart.extra_actions"> <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.top_cart.shortcut" - template="express/shortcut.phtml"/> + template="express/shortcut.phtml" cacheable="false"/> </referenceContainer> <referenceContainer name="cart_sidebar.extra_actions"> <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.cart_sidebar.shortcut" - template="express/shortcut.phtml"/> + template="express/shortcut.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml index a4cd3198685f9f130cee80bd1e7960965f9035f6..a5957665188f1180c1a937c0a24e440b60e9cafe 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml @@ -32,21 +32,21 @@ <referenceContainer name="content"> <block class="Magento\Paypal\Block\Express\Review" name="paypal.express.review" template="express/review.phtml"> <block class="Magento\Paypal\Block\Express\Review\Billing" name="express.review.billing" as="billing" - template="express/review/address.phtml"/> + template="express/review/address.phtml" cacheable="false"/> <block class="Magento\Paypal\Block\Express\Review\Shipping" name="express.review.shipping" as="shipping" - template="express/review/address.phtml"/> + template="express/review/address.phtml" cacheable="false"/> <block class="Magento\Paypal\Block\Express\Review" name="express.review.shipping.method" as="shipping_method" template="express/review/shipping/method.phtml"/> <block class="Magento\Paypal\Block\Express\Review\Details" name="paypal.express.review.details" as="details" template="express/review/details.phtml"> <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Totals" name="paypal.express.review.details.totals" - as="totals" template="onepage/review/totals.phtml"/> + as="totals" template="onepage/review/totals.phtml" cacheable="false"/> </block> <block class="Magento\Checkout\Block\Agreements" name="paypal.express.review.details.agreements" as="agreements" template="onepage/agreements.phtml"/> diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review_details.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review_details.xml index 8a80914f5c80b3bb1241e3ddbf2661f1ace2db73..f0ed14376cf6fe222ee7cc0ec20f882d9e62b2ab 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review_details.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review_details.xml @@ -25,9 +25,9 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Paypal\Block\Express\Review\Details" output="1" name="root" template="express/review/details.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="onepage/review/item.phtml"/> - <block class="Magento\Checkout\Block\Cart\Totals" name="paypal.express.review.details.totals" as="totals" template="onepage/review/totals.phtml"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="onepage/review/item.phtml" cacheable="false"/> + <block class="Magento\Checkout\Block\Cart\Totals" name="paypal.express.review.details.totals" as="totals" template="onepage/review/totals.phtml" cacheable="false"/> </block> </layout> diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_cancelpayment.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_cancelpayment.xml index c25b9013006e8d60965a8052b552958305d0bd55..0983bc1a3d261fadf06121f21b4e149e39b24503 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_cancelpayment.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_cancelpayment.xml @@ -25,5 +25,5 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Paypal\Block\Payflow\Link\Iframe" name="payflow.link.iframe" output="1" - template="payflowlink/redirect.phtml"/> + template="payflowlink/redirect.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_form.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_form.xml index 03a11ae89f1cad331f93515756174385c7060a0b..f13be34b6bc5f6f48fa4957fc8d34c26cbc3c3ac 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_form.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_form.xml @@ -25,5 +25,5 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Paypal\Block\Payflow\Link\Iframe" name="payflow.link.iframe" output="1" - template="payflowlink/form.phtml"/> + template="payflowlink/form.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_returnurl.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_returnurl.xml index c25b9013006e8d60965a8052b552958305d0bd55..0983bc1a3d261fadf06121f21b4e149e39b24503 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_returnurl.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_payflow_returnurl.xml @@ -25,5 +25,5 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Paypal\Block\Payflow\Link\Iframe" name="payflow.link.iframe" output="1" - template="payflowlink/redirect.phtml"/> + template="payflowlink/redirect.phtml" cacheable="false"/> </layout> diff --git a/app/code/Magento/PaypalUk/view/frontend/layout/SHORTCUT_uk_popup.xml b/app/code/Magento/PaypalUk/view/frontend/layout/SHORTCUT_uk_popup.xml index c54121cd6cd301839d7831a73b024d33448269fe..5e340be4acfa9e25ca3c9cde14d1255d99de43d9 100644 --- a/app/code/Magento/PaypalUk/view/frontend/layout/SHORTCUT_uk_popup.xml +++ b/app/code/Magento/PaypalUk/view/frontend/layout/SHORTCUT_uk_popup.xml @@ -28,7 +28,7 @@ <container name="product.info.addtocart.paypaluk.wrapper" label="PayPal Express Checkout (Payflow Edition) Shortcut Wrapper" htmlTag="div"> <block class="Magento\PaypalUk\Block\Express\Shortcut" name="product.info.addtocart.paypaluk" - template="Magento_Paypal::express/shortcut.phtml"> + template="Magento_Paypal::express/shortcut.phtml" cacheable="false"> <action method="setIsInCatalogProduct"> <argument name="value" xsi:type="string">1</argument> </action> diff --git a/app/code/Magento/PaypalUk/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/PaypalUk/view/frontend/layout/checkout_cart_index.xml index 380eb3d8802026c8187b2262a82246221df130aa..87b1ed17124fcb405f6d7c9e39527e948c18915d 100644 --- a/app/code/Magento/PaypalUk/view/frontend/layout/checkout_cart_index.xml +++ b/app/code/Magento/PaypalUk/view/frontend/layout/checkout_cart_index.xml @@ -26,7 +26,7 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="checkout.cart.top_methods"> <block class="Magento\PaypalUk\Block\Express\Shortcut" name="checkout.cart.methods.paypaluk_express.top" - before="-" template="Magento_Paypal::express/shortcut.phtml"> + before="-" template="Magento_Paypal::express/shortcut.phtml" cacheable="false"> <action method="setIsQuoteAllowed"> <argument name="value" xsi:type="string">1</argument> </action> @@ -34,7 +34,7 @@ </referenceContainer> <referenceContainer name="checkout.cart.methods"> <block class="Magento\PaypalUk\Block\Express\Shortcut" name="checkout.cart.methods.paypaluk_express.bottom" - before="-" template="Magento_Paypal::express/shortcut.phtml"> + before="-" template="Magento_Paypal::express/shortcut.phtml" cacheable="false"> <action method="setIsQuoteAllowed"> <argument name="value" xsi:type="string">1</argument> </action> diff --git a/app/code/Magento/PaypalUk/view/frontend/layout/default.xml b/app/code/Magento/PaypalUk/view/frontend/layout/default.xml index 5332859787f25930f0f2d263eb20e090c61faa7d..87713b75bf821af6d3bd0fc7a37ede4a2779bbe2 100644 --- a/app/code/Magento/PaypalUk/view/frontend/layout/default.xml +++ b/app/code/Magento/PaypalUk/view/frontend/layout/default.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="cart_sidebar.extra_actions"> <block class="Magento\PaypalUk\Block\Express\Shortcut" name="paypaluk.partner.cart_sidebar.shortcut" - template="Magento_Paypal::express/shortcut.phtml"/> + template="Magento_Paypal::express/shortcut.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/PaypalUk/view/frontend/layout/paypal_express_review_details.xml b/app/code/Magento/PaypalUk/view/frontend/layout/paypal_express_review_details.xml index de0da079338c525933a2c41405891722f96a8e78..00380155449e79efecc7ff30b8b33234e8bf570c 100644 --- a/app/code/Magento/PaypalUk/view/frontend/layout/paypal_express_review_details.xml +++ b/app/code/Magento/PaypalUk/view/frontend/layout/paypal_express_review_details.xml @@ -26,12 +26,12 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <block class="Magento\Paypal\Block\Express\Review\Details" name="root" output="1" template="express/review/details.phtml"> - <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml"/> + <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Totals" name="paypal.express.review.details.totals" as="totals" - template="onepage/review/totals.phtml"/> + template="onepage/review/totals.phtml" cacheable="false"/> </block> </layout> diff --git a/app/code/Magento/PaypalUk/view/frontend/layout/paypaluk_express_review.xml b/app/code/Magento/PaypalUk/view/frontend/layout/paypaluk_express_review.xml index 2cc59e126c30898d212eb95c0e54abfa5d1ce91c..17b595fd69733b9004eb5d33a6ce01be467b9a14 100644 --- a/app/code/Magento/PaypalUk/view/frontend/layout/paypaluk_express_review.xml +++ b/app/code/Magento/PaypalUk/view/frontend/layout/paypaluk_express_review.xml @@ -38,13 +38,13 @@ <block class="Magento\Paypal\Block\Express\Review\Details" name="paypal.express.review.details" as="details" template="express/review/details.phtml"> <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" - template="onepage/review/item.phtml"/> + template="onepage/review/item.phtml" cacheable="false"/> <block class="Magento\Checkout\Block\Cart\Totals" name="paypal.express.review.details.totals" - as="totals" template="onepage/review/totals.phtml"/> + as="totals" template="onepage/review/totals.phtml" cacheable="false"/> </block> <block class="Magento\Checkout\Block\Agreements" name="paypal.express.review.details.agreements" as="agreements" template="onepage/agreements.phtml"/> diff --git a/app/code/Magento/Persistent/Block/Header/Additional.php b/app/code/Magento/Persistent/Block/Header/Additional.php index 4db1b9e7f38e579fced0b83044209c669e0203f9..15a069f7bd116dc9929378b7ec8c2f4b5ef6f121 100644 --- a/app/code/Magento/Persistent/Block/Header/Additional.php +++ b/app/code/Magento/Persistent/Block/Header/Additional.php @@ -57,6 +57,16 @@ class Additional extends \Magento\View\Element\Html\Link parent::__construct($context, $data); } + /* + * Retrieve unset cookie link + * + * @return string + */ + public function getHref() + { + return $this->getUrl('persistent/index/unsetCookie'); + } + /** * Render additional header html * @@ -66,9 +76,6 @@ class Additional extends \Magento\View\Element\Html\Link { $text = __('(Not %1?)', $this->escapeHtml($this->_persistentSession->getCustomer()->getName())); - $this->setAnchorText($text); - $this->setHref($this->getUrl('persistent/index/unsetCookie')); - - return parent::_toHtml(); + return '<span><a ' . $this->getLinkAttributes() . ' >' . $this->escapeHtml($text) . '</a></span>'; } } diff --git a/app/code/Magento/Review/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Review/view/frontend/layout/customer_account_index.xml index d36a7b963049b921c8c1d10b5b949b994d6337c1..847fa8360e5df8b20465179378e973abad4e7bb5 100644 --- a/app/code/Magento/Review/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Review/view/frontend/layout/customer_account_index.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="content"> - <block class="Magento\Review\Block\Customer\Recent" name="customer_account_dashboard_info1" template="customer/recent.phtml" after="customer_account_dashboard_address"/> + <block class="Magento\Review\Block\Customer\Recent" name="customer_account_dashboard_info1" template="customer/recent.phtml" after="customer_account_dashboard_address" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Review/view/frontend/layout/review_customer_index.xml b/app/code/Magento/Review/view/frontend/layout/review_customer_index.xml index 8a7872a675e6cc99b6b281ee4a815c930c3e500c..c95666522675e29b8452b81ad99c507e636dbab6 100644 --- a/app/code/Magento/Review/view/frontend/layout/review_customer_index.xml +++ b/app/code/Magento/Review/view/frontend/layout/review_customer_index.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Review\Block\Customer\ListCustomer" name="review_customer_list" template="customer/list.phtml"/> + <block class="Magento\Review\Block\Customer\ListCustomer" name="review_customer_list" template="customer/list.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Review/view/frontend/layout/review_customer_view.xml b/app/code/Magento/Review/view/frontend/layout/review_customer_view.xml index 1f5b8b36d83f91e7d32d166914aea1296647b487..4ea6fba5de2cfff4b36892639fb3f69e21ba107e 100644 --- a/app/code/Magento/Review/view/frontend/layout/review_customer_view.xml +++ b/app/code/Magento/Review/view/frontend/layout/review_customer_view.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Review\Block\Customer\View" name="customers_review"/> + <block class="Magento\Review\Block\Customer\View" name="customers_review" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Review/view/frontend/layout/review_product_list.xml b/app/code/Magento/Review/view/frontend/layout/review_product_list.xml index 493fb76cd12bb1fe0aa67d7884e51795d0e7ea06..c7ebe13e385cd8f46db2cec2efe9b8b941f51ce7 100644 --- a/app/code/Magento/Review/view/frontend/layout/review_product_list.xml +++ b/app/code/Magento/Review/view/frontend/layout/review_product_list.xml @@ -31,7 +31,7 @@ </referenceContainer> <referenceContainer name="content"> <container name="product.info.details" label="invisible" htmlTag="div" htmlClass="product info detailed" after="product.info.media"> - <block class="Magento\Review\Block\Form" name="product.review.form" as="review_form"> + <block class="Magento\Review\Block\Form" name="product.review.form" as="review_form" cacheable="false"> <container name="product.review.form.fields.before" as="form_fields_before" label="Review Form Fields Before" htmlTag="div" htmlClass="rewards"/> </block> <block class="Magento\Review\Block\Product\View\ListView" name="product.info.product_additional_data" as="product_additional_data" template="product/view/list.phtml"/> diff --git a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_category.xml b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_category.xml index bf6b998b571d0e71cf6d59bc5f9729b8c39fc357..e5d031662dbe59007edc5ed0ed2e3afca89508df 100644 --- a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_category.xml +++ b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_category.xml @@ -24,7 +24,7 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Rss\Block\Catalog\Category" output="1" name="rss.catalog.category"> + <block class="Magento\Rss\Block\Catalog\Category" output="1" name="rss.catalog.category" cacheable="false"> <action method="addPriceBlockType"> <argument name="type" xsi:type="string">msrp_rss</argument> <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument> diff --git a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_new.xml b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_new.xml index 0ae2fb47e69319fa869f162f164ec04afeaf5ae1..0961f315709e974a57849ce29302618d2ec1bd75 100644 --- a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_new.xml +++ b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_new.xml @@ -24,7 +24,7 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Rss\Block\Catalog\NewCatalog" output="1" name="rss.catalog.new"> + <block class="Magento\Rss\Block\Catalog\NewCatalog" output="1" name="rss.catalog.new" cacheable="false"> <action method="addPriceBlockType"> <argument name="type" xsi:type="string">msrp_rss</argument> <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument> diff --git a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_salesrule.xml b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_salesrule.xml index a6528e61cc062107c723584f5c0b77afd121c71a..250b5b1cd3ce12d291a777085812f1dacd6396f9 100644 --- a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_salesrule.xml +++ b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_salesrule.xml @@ -24,5 +24,5 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Rss\Block\Catalog\Salesrule" output="1" name="rss.catalog.salesrule"/> + <block class="Magento\Rss\Block\Catalog\Salesrule" output="1" name="rss.catalog.salesrule" cacheable="false"/> </layout> diff --git a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_special.xml b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_special.xml index 1ba39ebd3b859bb14930e24d297b312dd7019e90..3412d803eb8b7a84d8ddd2fe3bb2ff55477660bf 100644 --- a/app/code/Magento/Rss/view/frontend/layout/rss_catalog_special.xml +++ b/app/code/Magento/Rss/view/frontend/layout/rss_catalog_special.xml @@ -24,5 +24,5 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Rss\Block\Catalog\Special" output="1" name="rss.catalog.special"/> + <block class="Magento\Rss\Block\Catalog\Special" output="1" name="rss.catalog.special" cacheable="false"/> </layout> diff --git a/app/code/Magento/Rss/view/frontend/layout/rss_index_wishlist.xml b/app/code/Magento/Rss/view/frontend/layout/rss_index_wishlist.xml index 171b3010d0c75bcf41f78af6cc51845f4c84c55f..a4ac774311ebd9fa7c328d3145c7615d2ccde39a 100644 --- a/app/code/Magento/Rss/view/frontend/layout/rss_index_wishlist.xml +++ b/app/code/Magento/Rss/view/frontend/layout/rss_index_wishlist.xml @@ -24,7 +24,7 @@ */ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <block class="Magento\Rss\Block\Wishlist" name="rss.wishlist" output="1"> + <block class="Magento\Rss\Block\Wishlist" name="rss.wishlist" output="1" cacheable="false"> <action method="addPriceBlockType"> <argument name="type" xsi:type="string">msrp_rss</argument> <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/customer_account.xml b/app/code/Magento/Sales/view/frontend/layout/customer_account.xml index 42fc43b486ce51c136dcdc0ad15f5fa72d9ca897..3d13de8ffc0f58589a2bfc33a93837506ae2c81e 100644 --- a/app/code/Magento/Sales/view/frontend/layout/customer_account.xml +++ b/app/code/Magento/Sales/view/frontend/layout/customer_account.xml @@ -45,6 +45,6 @@ </block> </referenceBlock> <referenceContainer name="left"> - <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml"/> + <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml index 48f8ea5b309e68c0654b48839c8f77ea015d6aa9..cc6a9f50630ebaf314e90048e7240d73f1038fc2 100644 --- a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml"/> + <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/default.xml b/app/code/Magento/Sales/view/frontend/layout/default.xml index f84fadfdb49cac5257ac5eef74268f9851e2e33a..2f8fce074210318c1cc59e566437422fcb795dc0 100644 --- a/app/code/Magento/Sales/view/frontend/layout/default.xml +++ b/app/code/Magento/Sales/view/frontend/layout/default.xml @@ -25,10 +25,10 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="right"> - <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml"/> + <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml" cacheable="false"/> </referenceContainer> <referenceBlock name="footer_links"> - <block class="Magento\Sales\Block\Guest\Link" name="sales-guest-form-link"> + <block class="Magento\Sales\Block\Guest\Link" name="sales-guest-form-link" cacheable="false"> <arguments> <argument name="label" xsi:type="string">Orders and Returns</argument> <argument name="path" xsi:type="string">sales/guest/form</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_index.xml b/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_index.xml index a7715e5732e7f01b1b0d461b23733a29cefa8a27..53ae82c291ed8aac4894f7e7269e01773e6f9bdc 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_index.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_index.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Billing\Agreements" name="customer.account.billing.agreement" template="billing/agreements.phtml"/> + <block class="Magento\Sales\Block\Billing\Agreements" name="customer.account.billing.agreement" template="billing/agreements.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_view.xml b/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_view.xml index 5fbde3a7801e2bdfd3b8a3433c1ccce5843483ac..f5bcc48c0ffcb4a7b6099fcf43ac6d7c2df432b9 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_view.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_billing_agreement_view.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Billing\Agreement\View" name="customer.account.billing.agreement" template="billing/agreement/view.phtml"/> + <block class="Magento\Sales\Block\Billing\Agreement\View" name="customer.account.billing.agreement" template="billing/agreement/view.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml index ea3aa5f742086a017e0086d08f6e9a61a6c52755..8606fd7ae2387ec597f6da665735056471799d60 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml @@ -27,7 +27,7 @@ <block class="Magento\Sales\Block\Order\Email\Creditmemo\Items" name="items" template="email/creditmemo/items.phtml"> <block class="Magento\Sales\Block\Order\Email\Items\DefaultItems" as="default" template="email/items/creditmemo/default.phtml"/> <block class="Magento\Sales\Block\Order\Email\Items\Order\Grouped" as="grouped" template="email/items/creditmemo/default.phtml"/> - <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="3" align="right" style="padding:3px 9px"</argument> <argument name="value_properties" xsi:type="string">align="right" style="padding:3px 9px"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml index 30193ba3ba52613d35625a32b4d5f95b8fe63112..fc245231b47068db4458996b0f5baa7dccd598bb 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml @@ -27,7 +27,7 @@ <block class="Magento\Sales\Block\Order\Email\Invoice\Items" name="items" template="email/invoice/items.phtml"> <block class="Magento\Sales\Block\Order\Email\Items\DefaultItems" as="default" template="email/items/invoice/default.phtml"/> <block class="Magento\Sales\Block\Order\Email\Items\Order\Grouped" as="grouped" template="email/items/invoice/default.phtml"/> - <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="3" align="right" style="padding:3px 9px"</argument> <argument name="value_properties" xsi:type="string">align="right" style="padding:3px 9px"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_creditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_creditmemo.xml index 2c305721291187a584dbe36596a68380200c7b09..17b7d0cb21109226d67f943db0da6dee1aa0dd08 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_creditmemo.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_creditmemo.xml @@ -31,9 +31,9 @@ </referenceBlock> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Creditmemo\Items" name="creditmemo_items" template="order/creditmemo/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_form.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_form.xml index 360320fa00a4a9159aa57df759044c7b276d23cf..14d25357958fece16a7fab23138954f83d4c1e3c 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_form.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_form.xml @@ -30,6 +30,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Widget\Guest\Form" name="guest.form" template="guest/form.phtml"/> + <block class="Magento\Sales\Block\Widget\Guest\Form" name="guest.form" template="guest/form.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_invoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_invoice.xml index 4143b80b78fc2dcfbf97190cbe0fcf53ba074512..54bd4a12913bc77ebc7e2c41f957b45c55d950f6 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_invoice.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_invoice.xml @@ -31,9 +31,9 @@ </referenceBlock> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Invoice\Items" name="invoice_items" template="order/invoice/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_printcreditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_printcreditmemo.xml index 3726bbda4167898861260a54d019a522fe2c183f..f8d89184781e6f4225dd8cc4debb6c6a74003730 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_printcreditmemo.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_printcreditmemo.xml @@ -28,7 +28,7 @@ <block class="Magento\Sales\Block\Order\PrintOrder\Creditmemo" name="sales.order.print.creditmemo" template="order/print/creditmemo.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/> - <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument> <argument name="value_properties" xsi:type="string">class="amount"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_printinvoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_printinvoice.xml index fc071cd9e9e1b53128864478bbd173474135a57c..13c631f5b3f33bf4c63db1e667e7b6ba2fc52e8b 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_printinvoice.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_printinvoice.xml @@ -28,7 +28,7 @@ <block class="Magento\Sales\Block\Order\PrintOrder\Invoice" name="sales.order.print.invoice" template="order/print/invoice.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/> - <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument> <argument name="value_properties" xsi:type="string">class="amount"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_reorder.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_reorder.xml index 06accc9c9c082740358c6cc6da9675d9ece44124..66a4dce3bf6f4a4ea69af1198aae163db8b4e53a 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_reorder.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_reorder.xml @@ -30,6 +30,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\View" name="sales.order.view"/> + <block class="Magento\Sales\Block\Order\View" name="sales.order.view" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_shipment.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_shipment.xml index 82c498920ba2b62aa3a2c225df3f4507665b9e9a..156365948105a04300822bf830255084fd8111f6 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_shipment.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_shipment.xml @@ -31,9 +31,9 @@ </referenceBlock> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Shipment" name="sales.order.shipment" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Shipment" name="sales.order.shipment" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Shipment\Items" name="shipment_items" template="order/shipment/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/shipment/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Comments" name="shipment_comments" template="order/comments.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_guest_view.xml b/app/code/Magento/Sales/view/frontend/layout/sales_guest_view.xml index 8a0c0670680a0e927a5e3869c087f017a7ca5602..eb67d146a8a4cf6829fe161b9ba3937fc934d77d 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_guest_view.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_guest_view.xml @@ -31,9 +31,9 @@ </referenceBlock> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml index 3e8286d86ec9f07d642b3b1780f1f3c893792124..15fd5b781dec4330c478f26e8e87f240f0b3a4d4 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml @@ -27,9 +27,9 @@ <update handle="customer_account"/> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Creditmemo\Items" name="creditmemo_items" template="order/creditmemo/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_history.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_history.xml index ddeacf08bb72c76647d8321cb874716bc17ce131..63020c6dc834fcaceb916a0f6f9de6be567d529d 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_history.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_history.xml @@ -26,9 +26,9 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\History" name="sales.order.history"> + <block class="Magento\Sales\Block\Order\History" name="sales.order.history" cacheable="false"> <container name="sales.order.history.info" as="info" label="Order History Info"/> </block> - <block class="Magento\Customer\Block\Account\Dashboard" name="customer.account.link.back" template="account/link/back.phtml"/> + <block class="Magento\Customer\Block\Account\Dashboard" name="customer.account.link.back" template="account/link/back.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml index e59ddfe8eff130f5f98f9aaab1b0a630ec815704..856c8e534e64fb2ae613e961fc4e87e7949c1196 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml @@ -27,9 +27,9 @@ <update handle="customer_account"/> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Invoice\Items" name="invoice_items" template="order/invoice/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml index a4d6a27a18ca7805d2b07a40a1bca37b9b6087c5..7f684f4d3060333870b57a065597e5ec8e85c61d 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml @@ -28,7 +28,7 @@ <block class="Magento\Sales\Block\Order\PrintOrder\Creditmemo" name="sales.order.print.creditmemo" template="order/print/creditmemo.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/> - <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument> <argument name="value_properties" xsi:type="string">class="amount"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml index 47d9c98b5b18e344fc88141c2deb0bb1248255e8..a080901d33eafcbd47d9417cba9c5d1d923b098d 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml @@ -28,7 +28,7 @@ <block class="Magento\Sales\Block\Order\PrintOrder\Invoice" name="sales.order.print.invoice" template="order/print/invoice.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/> - <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml"> + <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml" cacheable="false"> <arguments> <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument> <argument name="value_properties" xsi:type="string">class="amount"</argument> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_reorder.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_reorder.xml index 812056a896fd3e43f2e03995586d1b91474c6785..2b05bbbd067fed562373e958bb984c24ae1d330a 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_reorder.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_reorder.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\View" name="sales.order.view"/> + <block class="Magento\Sales\Block\Order\View" name="sales.order.view" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml index 7760454fe1d7a7f72368c4a63f27f53275e3fbce..8669eb1d08da04465432c25e60f9884fb6edee6f 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml @@ -27,9 +27,9 @@ <update handle="customer_account"/> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\Shipment" name="sales.order.shipment" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\Shipment" name="sales.order.shipment" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Shipment\Items" name="shipment_items" template="order/shipment/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/shipment/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Comments" name="shipment_comments" template="order/comments.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml index b3b3bf50e22b847a82f0567a5abac95d00d3e4b2..ac1f33f1ca9d8b363d8f90a26ee3f3c4a0ae8280 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml @@ -27,9 +27,9 @@ <update handle="customer_account"/> <referenceContainer name="content"> <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info"> - <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/> + <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons" cacheable="false"/> </block> - <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info"> + <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info" cacheable="false"> <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml"> <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/> <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_index.xml b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_index.xml index da330b96501742f070c0f5578acdde6c77ca6a0c..75c7affb14ecb8d5877bfa53201236116d476aa0 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_index.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_index.xml @@ -26,8 +26,8 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Recurring\Profiles" name="sales.recurring.profiles" template="recurring/profiles.phtml"> - <block class="Magento\Sales\Block\Recurring\Profile\Grid" name="sales.recurring.profiles.grid" as="grid" template="recurring/grid.phtml"> + <block class="Magento\Sales\Block\Recurring\Profiles" name="sales.recurring.profiles" template="recurring/profiles.phtml" cacheable="false"> + <block class="Magento\Sales\Block\Recurring\Profile\Grid" name="sales.recurring.profiles.grid" as="grid" template="recurring/grid.phtml" cacheable="false"> <action method="setEmptyGridMessage"> <argument translate="true" name="value" xsi:type="string">There are no recurring profiles yet.</argument> </action> diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_orders.xml b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_orders.xml index 76505aeba2c9bcf899404de5a6c6b9b95a36a1b7..a63210bbccd87be0a469de3d730da7ba91551e80 100644 --- a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_orders.xml +++ b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_orders.xml @@ -32,7 +32,7 @@ </action> </referenceBlock> <referenceBlock name="sales.recurring.profile.view"> - <block class="Magento\Sales\Block\Recurring\Profile\Related\Orders\Grid" name="sales.recurring.profile.view.orders" as="table" template="recurring/grid.phtml"> + <block class="Magento\Sales\Block\Recurring\Profile\Related\Orders\Grid" name="sales.recurring.profile.view.orders" as="table" template="recurring/grid.phtml" cacheable="false"> <action method="setViewLabel"> <argument translate="true" name="value" xsi:type="string">Orders Based on This Profile</argument> </action> diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Widget/Chooser.php similarity index 68% rename from app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php rename to app/code/Magento/SalesRule/Block/Adminhtml/Promo/Widget/Chooser.php index 74213d9b39f006cf413509d0c6a834889434dbec..d20c3b174cd6de7b10c5c73ef7156dabe49381d2 100644 --- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php +++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Widget/Chooser.php @@ -17,40 +17,34 @@ * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. - * - * @category Magento - * @package Magento_CatalogRule + * * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ - -/** - * Shopping cart price rule chooser - */ -namespace Magento\CatalogRule\Block\Adminhtml\Promo\Widget; +namespace Magento\SalesRule\Block\Adminhtml\Promo\Widget; class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended { /** * @var \Magento\SalesRule\Model\RuleFactory */ - protected $_salesRule; + protected $ruleFactory; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Core\Model\Url $urlModel * @param \Magento\Backend\Helper\Data $backendHelper - * @param \Magento\SalesRule\Model\RuleFactory $salesRule + * @param \Magento\SalesRule\Model\RuleFactory $ruleFactory * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Core\Model\Url $urlModel, \Magento\Backend\Helper\Data $backendHelper, - \Magento\SalesRule\Model\RuleFactory $salesRule, + \Magento\SalesRule\Model\RuleFactory $ruleFactory, array $data = array() ) { - $this->_salesRule = $salesRule; + $this->ruleFactory = $ruleFactory; parent::__construct($context, $urlModel, $backendHelper, $data); } @@ -65,6 +59,23 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended $this->setUseAjax(true); } + /** + * Prepare rules collection + * + * @return Chooser + */ + protected function _prepareCollection() + { + $collection = $this->ruleFactory->create()->getResourceCollection(); + $this->setCollection($collection); + + $this->_eventManager->dispatch('adminhtml_block_promo_widget_chooser_prepare_collection', array( + 'collection' => $collection + )); + + return parent::_prepareCollection(); + } + /** * Prepare chooser element HTML * @@ -74,7 +85,7 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended public function prepareElementHtml(\Magento\Data\Form\Element\AbstractElement $element) { $uniqId = $this->mathRandom->getUniqueHash($element->getId()); - $sourceUrl = $this->getUrl('catalog_rule/promo_quote/chooser', array('uniq_id' => $uniqId)); + $sourceUrl = $this->getUrl('sales_rule/promo_quote/chooser', array('uniq_id' => $uniqId)); $chooser = $this->getLayout()->createBlock('Magento\Widget\Block\Adminhtml\Widget\Chooser') ->setElement($element) @@ -84,7 +95,7 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended ->setUniqId($uniqId); if ($element->getValue()) { - $rule = $this->_salesRule->create()->load((int)$element->getValue()); + $rule = $this->ruleFactory->create()->load((int)$element->getValue()); if ($rule->getId()) { $chooser->setLabel($rule->getName()); } @@ -115,78 +126,61 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended return $js; } - /** - * Prepare rules collection - * - * @return \Magento\Backend\Block\Widget\Grid\Extended - */ - protected function _prepareCollection() - { - $collection = $this->_salesRule->create()->getResourceCollection(); - $this->setCollection($collection); - - $this->_eventManager->dispatch('adminhtml_block_promo_widget_chooser_prepare_collection', array( - 'collection' => $collection - )); - - return parent::_prepareCollection(); - } - /** * Prepare columns for rules grid * - * @return \Magento\Backend\Block\Widget\Grid\Extended + * @return Chooser */ protected function _prepareColumns() { $this->addColumn('rule_id', array( - 'header' => __('ID'), - 'align' => 'right', - 'width' => '50px', - 'index' => 'rule_id', - )); + 'header' => __('ID'), + 'align' => 'right', + 'width' => '50px', + 'index' => 'rule_id', + )); $this->addColumn('name', array( - 'header' => __('Rule'), - 'align' => 'left', - 'index' => 'name', - )); + 'header' => __('Rule'), + 'align' => 'left', + 'index' => 'name', + )); $this->addColumn('coupon_code', array( - 'header' => __('Coupon Code'), - 'align' => 'left', - 'width' => '150px', - 'index' => 'code', - )); + 'header' => __('Coupon Code'), + 'align' => 'left', + 'width' => '150px', + 'index' => 'code', + )); $this->addColumn('from_date', array( - 'header' => __('Start on'), - 'align' => 'left', - 'width' => '120px', - 'type' => 'date', - 'index' => 'from_date', - )); + 'header' => __('Start on'), + 'align' => 'left', + 'width' => '120px', + 'type' => 'date', + 'index' => 'from_date', + )); $this->addColumn('to_date', array( - 'header' => __('End on'), - 'align' => 'left', - 'width' => '120px', - 'type' => 'date', - 'default' => '--', - 'index' => 'to_date', - )); + 'header' => __('End on'), + 'align' => 'left', + 'width' => '120px', + 'type' => 'date', + 'default' => '--', + 'index' => 'to_date', + )); $this->addColumn('is_active', array( - 'header' => __('Status'), - 'align' => 'left', - 'width' => '80px', - 'index' => 'is_active', - 'type' => 'options', - 'options' => array( - 1 => 'Active', - 0 => 'Inactive', - ), - )); + 'header' => __('Status'), + 'align' => 'left', + 'width' => '80px', + 'index' => 'is_active', + 'type' => 'options', + 'options' => array( + 1 => 'Active', + 0 => 'Inactive', + ), + )); return parent::_prepareColumns(); } @@ -198,6 +192,6 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended */ public function getGridUrl() { - return $this->getUrl('catalog_rule/promo_quote/chooser', array('_current' => true)); + return $this->getUrl('sales_rule/promo_quote/chooser', array('_current' => true)); } } diff --git a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php index 7caa6a9e2356e9fb1f810f11bf4aeb2f0f8bfd54..24228e7908896ab6defae4ad6b7ae16fc581a14e 100644 --- a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php +++ b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php @@ -438,8 +438,11 @@ class Quote extends \Magento\Backend\App\Action public function chooserAction() { $uniqId = $this->getRequest()->getParam('uniq_id'); - $chooserBlock = $this->_view->getLayout() - ->createBlock('Magento\CatalogRule\Block\Adminhtml\Promo\Widget\Chooser', '', array('data' => array('id' => $uniqId))); + $chooserBlock = $this->_view->getLayout()->createBlock( + 'Magento\SalesRule\Block\Adminhtml\Promo\Widget\Chooser', + '', + array('data' => array('id' => $uniqId)) + ); $this->getResponse()->setBody($chooserBlock->toHtml()); } diff --git a/app/code/Magento/Sendfriend/view/frontend/layout/sendfriend_product_send.xml b/app/code/Magento/Sendfriend/view/frontend/layout/sendfriend_product_send.xml index e902d27c550059b99425a77b669637c6a755db6c..8a642999992ff50f270806d6760ca154940d0e6b 100644 --- a/app/code/Magento/Sendfriend/view/frontend/layout/sendfriend_product_send.xml +++ b/app/code/Magento/Sendfriend/view/frontend/layout/sendfriend_product_send.xml @@ -31,6 +31,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Sendfriend\Block\Send" name="sendfriend.send" template="send.phtml"/> + <block class="Magento\Sendfriend\Block\Send" name="sendfriend.send" template="send.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Tax/view/frontend/checkout/tax.phtml b/app/code/Magento/Tax/view/frontend/checkout/tax.phtml index 0b2f55c75a6958eba16a52cc3cfc1b70c4d0100b..ea44d6a5265d5c4509bcdce182d5e162a71db09d 100644 --- a/app/code/Magento/Tax/view/frontend/checkout/tax.phtml +++ b/app/code/Magento/Tax/view/frontend/checkout/tax.phtml @@ -64,14 +64,14 @@ <?php $attributes = 'class="totals tax"'; if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0) { - $attributes = 'class="totals tax summary"'; + $attributes = 'class="totals tax summary" data-mage-init=\'{toggleAdvanced: {selectorsToggleClass: "shown", baseToggleClass: "expanded", toggleContainers: ".totals.tax.details"}}\''; } ?> <tr <?php echo $attributes; ?>> <td style="<?php echo $_style ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>"> <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary()): ?> - <div class="detailed"><?php echo $this->getTotal()->getTitle() ?></div> + <span class="detailed"><?php echo $this->getTotal()->getTitle() ?></span> <?php else: ?> <?php echo $this->getTotal()->getTitle() ?> <?php endif;?> diff --git a/app/code/Magento/Theme/view/frontend/html/header.phtml b/app/code/Magento/Theme/view/frontend/html/header.phtml index ee27de80997bc07fd65dc64ad0e45fd47d9096a0..c8320a71dd587b04b4232cf24a24f9a7f8b4210f 100644 --- a/app/code/Magento/Theme/view/frontend/html/header.phtml +++ b/app/code/Magento/Theme/view/frontend/html/header.phtml @@ -42,7 +42,7 @@ <?php break; ?> <?php case 'welcome': ?> - <p class="welcome"><?php echo $this->getWelcome() ?></p> + <li class="greet welcome"><?php echo $this->getWelcome() ?></li> <?php break; ?> <?php case 'other': ?> diff --git a/app/code/Magento/Theme/view/frontend/layout/default.xml b/app/code/Magento/Theme/view/frontend/layout/default.xml index 0dc07ce2ff569ad7fc95acdb770a7ccd8a17b269..06ecd04d7f1896bd0421f049c334b8e0ca58d892 100644 --- a/app/code/Magento/Theme/view/frontend/layout/default.xml +++ b/app/code/Magento/Theme/view/frontend/layout/default.xml @@ -33,7 +33,7 @@ <container name="header.panel" label="Page Header Panel" htmlTag="div" htmlClass="panel"> <block class="Magento\Core\Block\Switcher" name="store_language" as="store_language" template="switch/languages.phtml"/> </container> - <container name="header" label="Page Header" as="header" htmlTag="div" htmlClass="content"> + <container name="header-wrapper" label="Page Header" as="header-wrapper" htmlTag="div" htmlClass="content"> <block class="Magento\Theme\Block\Html\Header" name="logo"> <arguments> <argument name="show_part" xsi:type="string">logo</argument> diff --git a/app/code/Magento/Usa/Model/Resource/Setup.php b/app/code/Magento/Usa/Model/Resource/Setup.php new file mode 100644 index 0000000000000000000000000000000000000000..7df317c3105704edecfae6fb2c4d370b51a5228b --- /dev/null +++ b/app/code/Magento/Usa/Model/Resource/Setup.php @@ -0,0 +1,62 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Usa + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +namespace Magento\Usa\Model\Resource; + + +class Setup extends \Magento\Core\Model\Resource\Setup +{ + /** + * @var \Magento\Core\Model\Locale + */ + protected $_localeModel; + + /** + * @param \Magento\Core\Model\Resource\Setup\Context $context + * @param string $resourceName + * @param string $moduleName + * @param \Magento\Core\Model\Locale $localeModel + * @param string $connectionName + */ + public function __construct( + \Magento\Core\Model\Resource\Setup\Context $context, + $resourceName, + $moduleName, + \Magento\Core\Model\Locale $localeModel, + $connectionName = '' + ) + { + $this->_localeModel = $localeModel; + parent::__construct($context, $resourceName, $moduleName, $connectionName); + } + + /** + * @return \Magento\Core\Model\Locale + */ + public function getLocale() + { + return $this->_localeModel; + } +} \ No newline at end of file diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/AbstractCarrier.php b/app/code/Magento/Usa/Model/Shipping/Carrier/AbstractCarrier.php index e51257c7d473401b8284b378358da88092fd7738..d8ebc043c440bb73373a0c8241cea328a326612e 100644 --- a/app/code/Magento/Usa/Model/Shipping/Carrier/AbstractCarrier.php +++ b/app/code/Magento/Usa/Model/Shipping/Carrier/AbstractCarrier.php @@ -402,6 +402,7 @@ abstract class AbstractCarrier extends \Magento\Shipping\Model\Carrier\AbstractC /** * Do request to shipment * + * @throws \Magento\Core\Exception if there are no packages in request * @param \Magento\Shipping\Model\Shipment\Request $request * @return array */ @@ -450,6 +451,7 @@ abstract class AbstractCarrier extends \Magento\Shipping\Model\Carrier\AbstractC /** * Do request to RMA shipment * + * @throws \Magento\Core\Exception if there are no packages in request * @param $request * @return array */ diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl.php b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl.php index a580b1e8681c1410f9e2612ed3e605dc0071db88..c5602f3bda0f2994727c3c099fb4cc261261c6c9 100644 --- a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl.php +++ b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl.php @@ -30,7 +30,7 @@ namespace Magento\Usa\Model\Shipping\Carrier; * DHL shipping implementation */ class Dhl - extends \Magento\Usa\Model\Shipping\Carrier\AbstractCarrier + extends \Magento\Usa\Model\Shipping\Carrier\Dhl\AbstractDhl implements \Magento\Shipping\Model\Carrier\CarrierInterface { @@ -97,18 +97,74 @@ class Dhl */ protected $_customizableContainerTypes = array('P'); + /** + * Success code + * + * @var int + */ const SUCCESS_CODE = 203; + + /** + * Success label code + * + * @var int + */ const SUCCESS_LABEL_CODE = 100; + /** + * Code for required additional protection + * + * @var string + */ const ADDITIONAL_PROTECTION_ASSET = 'AP'; + + /** + * Code for not required additional protection + * + * @var string + */ const ADDITIONAL_PROTECTION_NOT_REQUIRED = 'NR'; + /** + * Config code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_VALUE_CONFIG = 0; + + /** + * Subtotal code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_VALUE_SUBTOTAL = 1; + + /** + * Subtotal with discount code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_VALUE_SUBTOTAL_WITH_DISCOUNT = 2; + /** + * Round to floor(lowest) code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_ROUNDING_FLOOR = 0; + + /** + * Round to ceil(highest) code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_ROUNDING_CEIL = 1; + + /** + * Round to precision code of additional protection + * + * @var int + */ const ADDITIONAL_PROTECTION_ROUNDING_ROUND = 2; /** @@ -125,6 +181,11 @@ class Dhl */ protected $string; + /** + * @var \Zend_Http_ClientFactory + */ + protected $_httpClientFactory; + /** * @param \Magento\Core\Model\Store\Config $coreStoreConfig * @param \Magento\Shipping\Model\Rate\Result\ErrorFactory $rateErrorFactory @@ -141,6 +202,7 @@ class Dhl * @param \Magento\Directory\Helper\Data $directoryData * @param \Magento\Usa\Helper\Data $usaData * @param \Magento\Stdlib\String $string + * @param \Zend_Http_ClientFactory $httpClientFactory * @param array $data * * @SuppressWarnings(PHPMD.ExcessiveParameterList) @@ -161,10 +223,12 @@ class Dhl \Magento\Directory\Helper\Data $directoryData, \Magento\Usa\Helper\Data $usaData, \Magento\Stdlib\String $string, + \Zend_Http_ClientFactory $httpClientFactory, array $data = array() ) { $this->string = $string; $this->_usaData = $usaData; + $this->_httpClientFactory = $httpClientFactory; parent::__construct( $coreStoreConfig, $rateErrorFactory, @@ -495,34 +559,6 @@ class Dhl $r->setService($freeMethod); } - /** - * Get shipping date - * - * @param bool $domestic - * @return string - */ - protected function _getShipDate($domestic = true) - { - if ($domestic) { - $days = explode(',', $this->getConfigData('shipment_days')); - } else { - $days = explode(',', $this->getConfigData('intl_shipment_days')); - } - - if (!$days) { - return date('Y-m-d'); - } - - $i = 0; - $weekday = date('w'); - while (!in_array($weekday, $days) && $i < 10) { - $i++; - $weekday = date('w', strtotime("+$i day")); - } - - return date('Y-m-d', strtotime("+$i day")); - } - /** * Get xml quotes * @@ -612,6 +648,7 @@ class Dhl $shippingDuty->addChild('CustomsValue', $customsValue); $shippingDuty->addChild('IsSEDReqd', 'N'); } + if ($shipment !== false) { $hasShipCode = true; $this->_createShipmentXml($shipment, $shipKey); @@ -621,7 +658,7 @@ class Dhl if (!$hasShipCode) { $this->_errors[] = __('We don\'t have a way to ship to the selected shipping address. Please choose another address or edit the current address.'); - return; + return null; } $request = $xml->asXML(); @@ -634,14 +671,21 @@ class Dhl if (!$url) { $url = $this->_defaultGatewayUrl; } - $ch = curl_init(); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); - curl_setopt($ch, CURLOPT_POSTFIELDS, $request); - $responseBody = curl_exec($ch); - curl_close($ch); + $config = array( + 'adapter' => 'Zend_Http_Client_Adapter_Curl', + 'curloptions' => array( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_URL => $url, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_SSL_VERIFYHOST => false, + CURLOPT_POSTFIELDS => $request + ) + ); + $client = $this->_httpClientFactory->create( + array('data' => $config) + ); + $response = $client->request(); + $responseBody = $response->getBody(); $debugData['result'] = $responseBody; $this->_setCachedQuotes($request, $responseBody); @@ -1099,8 +1143,7 @@ class Dhl /** * Send request for tracking * - * @param array $tracking - * @return null + * @param array $trackings */ protected function _getXMLTracking($trackings) { @@ -1132,15 +1175,24 @@ class Dhl if (!$url) { $url = $this->_defaultGatewayUrl; } - $ch = curl_init(); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); - curl_setopt($ch, CURLOPT_POSTFIELDS, $request); - $responseBody = curl_exec($ch); + + $config = array( + 'adapter' => 'Zend_Http_Client_Adapter_Curl', + 'curloptions' => array( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_URL => $url, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_SSL_VERIFYHOST => false, + CURLOPT_POSTFIELDS => $request + ) + ); + $client = $this->_httpClientFactory->create( + array('data' => $config) + ); + $response = $client->request(); + $responseBody = $response->getBody(); + $debugData['result'] = $responseBody; - curl_close($ch); } catch (\Exception $e) { $debugData['result'] = array('error' => $e->getMessage(), 'code' => $e->getCode()); $responseBody = ''; @@ -1152,9 +1204,8 @@ class Dhl /** * Parse xml tracking response * - * @param array $trackingvalue + * @param array $trackings value * @param string $response - * @return null */ protected function _parseXmlTrackingResponse($trackings, $response) { diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/AbstractDhl.php b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/AbstractDhl.php new file mode 100644 index 0000000000000000000000000000000000000000..202c5a6d3fb1076d8ce8fcb9f8d9b23fd5764c58 --- /dev/null +++ b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/AbstractDhl.php @@ -0,0 +1,83 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Usa + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +namespace Magento\Usa\Model\Shipping\Carrier\Dhl; + +abstract class AbstractDhl extends \Magento\Usa\Model\Shipping\Carrier\AbstractCarrier +{ + /** + * Response condition code for service is unavailable at the requested date + */ + const CONDITION_CODE_SERVICE_DATE_UNAVAILABLE = 1003; + + /** + * Count of days to look forward if day is not unavailable + */ + const UNAVAILABLE_DATE_LOOK_FORWARD = 5; + + /** + * Date format for request + */ + const REQUEST_DATE_FORMAT = 'Y-m-d'; + + /** + * Get shipping date + * + * @param bool $domestic + * @return string + */ + protected function _getShipDate($domestic = true) + { + return $this->_determineShippingDay( + $this->getConfigData($domestic ? 'shipment_days' : 'intl_shipment_days'), + date(self::REQUEST_DATE_FORMAT) + ); + } + + /** + * Determine shipping day according to configuration settings + * + * @param array $shippingDays + * @param string $date + * @return string + */ + protected function _determineShippingDay($shippingDays, $date) + { + if (empty($shippingDays)) { + return $date; + } + + $shippingDays = explode(',', $shippingDays); + + $i = -1; + do { + $i++; + $weekday = date('D', strtotime("$date +$i day")); + } while (!in_array($weekday, $shippingDays) && $i < 10); + + return date(self::REQUEST_DATE_FORMAT, strtotime("$date +$i day")); + } +} diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/International.php b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/International.php index 6679bf69a56a326676b67ee52a37dbc438ce03cb..f6ecedb7a131f0cf2ef3d4d44345ad559ae01e2c 100644 --- a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/International.php +++ b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/International.php @@ -30,7 +30,7 @@ namespace Magento\Usa\Model\Shipping\Carrier\Dhl; * DHL International (API v1.4) */ class International - extends \Magento\Usa\Model\Shipping\Carrier\AbstractCarrier + extends \Magento\Usa\Model\Shipping\Carrier\Dhl\AbstractDhl implements \Magento\Shipping\Model\Carrier\CarrierInterface { /** @@ -185,11 +185,6 @@ class International */ protected $mathDivision; - /** - * @var \Magento\Stdlib\DateTime - */ - protected $dateTime; - /** * Modules directory with read permissions * @@ -197,6 +192,16 @@ class International */ protected $modulesDirectory; + /** + * @var \Magento\Stdlib\DateTime + */ + protected $_dateTime; + + /** + * @var \Zend_Http_ClientFactory + */ + protected $_httpClientFactory; + /** * @param \Magento\Core\Model\Store\Config $coreStoreConfig * @param \Magento\Shipping\Model\Rate\Result\ErrorFactory $rateErrorFactory @@ -217,8 +222,9 @@ class International * @param \Magento\Core\Model\StoreManagerInterface $storeManager * @param \Magento\Stdlib\String $string * @param \Magento\Math\Division $mathDivision - * @param \Magento\Stdlib\DateTime $dateTime * @param \Magento\Filesystem $filesystem + * @param \Magento\Stdlib\DateTime $dateTime + * @param \Zend_Http_ClientFactory $httpClientFactory * @param array $data */ public function __construct( @@ -241,8 +247,9 @@ class International \Magento\Core\Model\StoreManagerInterface $storeManager, \Magento\Stdlib\String $string, \Magento\Math\Division $mathDivision, - \Magento\Stdlib\DateTime $dateTime, \Magento\Filesystem $filesystem, + \Magento\Stdlib\DateTime $dateTime, + \Zend_Http_ClientFactory $httpClientFactory, array $data = array() ) { $this->modulesDirectory = $filesystem->getDirectoryRead(\Magento\Filesystem::MODULES); @@ -252,7 +259,8 @@ class International $this->_configReader = $configReader; $this->string = $string; $this->mathDivision = $mathDivision; - $this->dateTime = $dateTime; + $this->_dateTime = $dateTime; + $this->_httpClientFactory = $httpClientFactory; parent::__construct( $coreStoreConfig, $rateErrorFactory, @@ -369,7 +377,13 @@ class International return $this->_result; } - protected function _addParams($requestObject) + /** + * Fills request object with Dhl config parameters + * + * @param \Magento\Object $requestObject + * @return \Magento\Object + */ + protected function _addParams(\Magento\Object $requestObject) { $request = $this->_request; foreach ($this->_requestVariables as $code => $objectCode) { @@ -892,13 +906,79 @@ class International * @return \Magento\Core\Model\AbstractModel|\Magento\Shipping\Model\Rate\Result */ protected function _getQuotes() + { + $responseBody = ''; + try { + $debugData = array(); + for ($offset = 0; $offset <= self::UNAVAILABLE_DATE_LOOK_FORWARD; $offset++) { + $debugData['try-' . $offset] = array(); + $debugPoint = &$debugData['try-' . $offset]; + + $requestXml = $this->_buildQuotesRequestXml(); + $date = date(self::REQUEST_DATE_FORMAT, strtotime($this->_getShipDate() . " +$offset days")); + $this->_setQuotesRequestXmlDate($requestXml, $date); + + $request = $requestXml->asXML(); + $debugPoint['request'] = $request; + $responseBody = $this->_getCachedQuotes($request); + $debugPoint['from_cache'] = ($responseBody === null); + + if ($debugPoint['from_cache']) { + $responseBody = $this->_getQuotesFromServer($request); + } + + $debugPoint['response'] = $responseBody; + + $bodyXml = $this->_xmlElFactory->create( + array('data' => $responseBody) + ); + $code = $bodyXml->xpath('//GetQuoteResponse/Note/Condition/ConditionCode'); + if (isset($code[0]) && (int)$code[0] == self::CONDITION_CODE_SERVICE_DATE_UNAVAILABLE) { + $debugPoint['info'] = sprintf( + __("DHL service is not available at %s date"), + $date + ); + } else { + break; + } + + $this->_setCachedQuotes($request, $responseBody); + } + $this->_debug($debugData); + } catch (\Exception $e) { + $this->_errors[$e->getCode()] = $e->getMessage(); + } + return $this->_parseResponse($responseBody); + } + + /** + * Get shipping quotes from DHL service + * + * @param string $request + * @return string + */ + protected function _getQuotesFromServer($request) + { + $client = $this->_httpClientFactory->create(); + $client->setUri((string)$this->getConfigData('gateway_url')); + $client->setConfig(array('maxredirects' => 0, 'timeout' => 30)); + $client->setRawData(utf8_encode($request)); + return $client->request(\Zend_Http_Client::POST)->getBody(); + } + + /** + * Build qoutes request XML object + * + * @return \SimpleXMLElement + */ + protected function _buildQuotesRequestXml() { $rawRequest = $this->_rawRequest; $xmlStr = '<?xml version = "1.0" encoding = "UTF-8"?>' - . '<p:DCTRequest xmlns:p="http://www.dhl.com" xmlns:p1="http://www.dhl.com/datatypes" ' - . 'xmlns:p2="http://www.dhl.com/DCTRequestdatatypes" ' - . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' - . 'xsi:schemaLocation="http://www.dhl.com DCT-req.xsd "/>'; + . '<p:DCTRequest xmlns:p="http://www.dhl.com" xmlns:p1="http://www.dhl.com/datatypes" ' + . 'xmlns:p2="http://www.dhl.com/DCTRequestdatatypes" ' + . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' + . 'xsi:schemaLocation="http://www.dhl.com DCT-req.xsd "/>'; $xml = $this->_xmlElFactory->create(array('data' => $xmlStr)); $nodeGetQuote = $xml->addChild('GetQuote', '', ''); $nodeRequest = $nodeGetQuote->addChild('Request'); @@ -914,7 +994,7 @@ class International $nodeBkgDetails = $nodeGetQuote->addChild('BkgDetails'); $nodeBkgDetails->addChild('PaymentCountryCode', $rawRequest->getOrigCountryId()); - $nodeBkgDetails->addChild('Date', $this->dateTime->now(true)); + $nodeBkgDetails->addChild('Date', $this->_dateTime->now(true)); $nodeBkgDetails->addChild('ReadyTime', 'PT' . (int)(string)$this->getConfigData('ready_time') . 'H00M'); $nodeBkgDetails->addChild('DimensionUnit', $this->_getDimensionUnit()); @@ -941,28 +1021,20 @@ class International $nodeDutiable->addChild('DeclaredCurrency', $baseCurrencyCode); $nodeDutiable->addChild('DeclaredValue', sprintf("%.2F", $rawRequest->getValue())); } + return $xml; + } - $request = $xml->asXML(); - $request = utf8_encode($request); - $responseBody = $this->_getCachedQuotes($request); - if ($responseBody === null) { - $debugData = array('request' => $request); - try { - $client = new \Magento\HTTP\ZendClient(); - $client->setUri((string)$this->getConfigData('gateway_url')); - $client->setConfig(array('maxredirects' => 0, 'timeout' => 30)); - $client->setRawData($request); - $responseBody = $client->request(\Magento\HTTP\ZendClient::POST)->getBody(); - $debugData['result'] = $responseBody; - $this->_setCachedQuotes($request, $responseBody); - } catch (\Exception $e) { - $this->_errors[$e->getCode()] = $e->getMessage(); - $responseBody = ''; - } - $this->_debug($debugData); - } - - return $this->_parseResponse($responseBody); + /** + * Set pick-up date in request XML object + * + * @param \SimpleXMLElement $requestXml + * @param string $date + * @return \SimpleXMLElement + */ + protected function _setQuotesRequestXmlDate(\SimpleXMLElement $requestXml, $date) + { + $requestXml->GetQuote->BkgDetails->Date = $date; + return $requestXml; } /** @@ -1160,13 +1232,14 @@ class International protected function getCountryParams($countryCode) { if (empty($this->_countryParams)) { - $usaEtcPath = $this->_configReader->getModuleDir('etc', 'Magento_Usa'); $countriesXmlPath = $this->modulesDirectory->getRelativePath( $usaEtcPath . '/dhl/international/countries.xml' ); $countriesXml = $this->modulesDirectory->readFile($countriesXmlPath); - $this->_countryParams = new \Magento\Simplexml\Element($countriesXml); + $this->_countryParams = $this->_xmlElFactory->create( + array('data' => $countriesXml) + ); } if (isset($this->_countryParams->$countryCode)) { $countryParams = new \Magento\Object($this->_countryParams->$countryCode->asArray()); @@ -1466,7 +1539,7 @@ class International if ($responseBody === null) { $debugData = array('request' => $request); try { - $client = new \Magento\HTTP\ZendClient(); + $client = $this->_httpClientFactory->create(); $client->setUri((string)$this->getConfigData('gateway_url')); $client->setConfig(array('maxredirects' => 0, 'timeout' => 30)); $client->setRawData($request); diff --git a/app/code/Magento/Usa/Model/Simplexml/Element.php b/app/code/Magento/Usa/Model/Simplexml/Element.php index 0bc76464b011f8f268dc529d47f7529de812614d..19666f9507f4fb40ca40879b31d602c97919aff6 100644 --- a/app/code/Magento/Usa/Model/Simplexml/Element.php +++ b/app/code/Magento/Usa/Model/Simplexml/Element.php @@ -34,7 +34,7 @@ */ namespace Magento\Usa\Model\Simplexml; -class Element extends \SimpleXMLElement +class Element extends \Magento\Simplexml\Element { /** * Adds an attribute to the SimpleXML element @@ -49,7 +49,7 @@ class Element extends \SimpleXMLElement if (!is_null($value)) { $value = $this->xmlentities($value); } - return parent::addAttribute($name, $value, $namespace); + parent::addAttribute($name, $value, $namespace); } /** @@ -74,10 +74,10 @@ class Element extends \SimpleXMLElement * @param string * @return string */ - public function xmlentities($value) + public function xmlentities($value = null) { $value = str_replace('&', '&', $value); $value = str_replace('&', '&', $value); return $value; } -} +} \ No newline at end of file diff --git a/app/code/Magento/Usa/etc/adminhtml/system.xml b/app/code/Magento/Usa/etc/adminhtml/system.xml index f16732256860be452d80c5662aa2051d3fddddaf..19147acfee999a93f941a4e014bd99716a130ceb 100644 --- a/app/code/Magento/Usa/etc/adminhtml/system.xml +++ b/app/code/Magento/Usa/etc/adminhtml/system.xml @@ -168,12 +168,12 @@ </field> <field id="shipment_days" translate="label" type="multiselect" sortOrder="1390" showInDefault="1" showInWebsite="1" showInStore="0"> <label>Domestic Shipment Days</label> - <source_model>Magento\Backend\Model\Config\Source\Locale\Weekdays</source_model> + <source_model>Magento\Backend\Model\Config\Source\Locale\Weekdaycodes</source_model> <can_be_empty>1</can_be_empty> </field> <field id="intl_shipment_days" translate="label" type="multiselect" sortOrder="1400" showInDefault="1" showInWebsite="1" showInStore="0"> <label>International Shipment Days</label> - <source_model>Magento\Backend\Model\Config\Source\Locale\Weekdays</source_model> + <source_model>Magento\Backend\Model\Config\Source\Locale\Weekdaycodes</source_model> <can_be_empty>1</can_be_empty> </field> <field id="debug" translate="label" type="select" sortOrder="1950" showInDefault="1" showInWebsite="1" showInStore="0"> diff --git a/app/code/Magento/Usa/etc/config.xml b/app/code/Magento/Usa/etc/config.xml index 475da2ce3101ecb5f0ffe31d95b5fac9150b497e..0967adce90e549befb7fb1851e1b4c643fb5c98f 100644 --- a/app/code/Magento/Usa/etc/config.xml +++ b/app/code/Magento/Usa/etc/config.xml @@ -57,8 +57,8 @@ <max_package_weight>150</max_package_weight> <handling_type>F</handling_type> <handling_action>O</handling_action> - <shipment_days>1,2,3,4,5,6</shipment_days> - <intl_shipment_days>1,2,3,4,5</intl_shipment_days> + <shipment_days>Mon,Tue,Wed,Thu,Fri,Sat</shipment_days> + <intl_shipment_days>Mon,Tue,Wed,Thu,Fri</intl_shipment_days> <additional_protection_rounding>0</additional_protection_rounding> </dhl> <fedex> @@ -157,6 +157,7 @@ <size>R</size> <handling_type>F</handling_type> <handling_action>O</handling_action> + <shipment_days>Mon,Tue,Wed,Thu,Fri</shipment_days> </dhlint> </carriers> </default> diff --git a/app/code/Magento/Usa/etc/di.xml b/app/code/Magento/Usa/etc/di.xml new file mode 100644 index 0000000000000000000000000000000000000000..fd18f534c118a4092e81b02d7daf071e4446ba86 --- /dev/null +++ b/app/code/Magento/Usa/etc/di.xml @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<config> + <type name="Magento\Module\Updater\SetupFactory"> + <param name="resourceTypes"> + <value> + <usa_setup>Magento\Usa\Model\Resource\Setup</usa_setup> + </value> + </param> + </type> +</config> diff --git a/app/code/Magento/Usa/etc/module.xml b/app/code/Magento/Usa/etc/module.xml index ad989be964a96e1b9584122eebe30f0f1432acd1..c93192c3006ce1f99b288fed725e2a4ec216dfb8 100755 --- a/app/code/Magento/Usa/etc/module.xml +++ b/app/code/Magento/Usa/etc/module.xml @@ -24,7 +24,7 @@ */ --> <config> - <module name="Magento_Usa" version="1.6.0.1" active="true"> + <module name="Magento_Usa" version="1.6.0.3" active="true"> <sequence> <module name="Magento_Sales"/> <module name="Magento_Shipping"/> diff --git a/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.1-1.6.0.2.php b/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.1-1.6.0.2.php new file mode 100644 index 0000000000000000000000000000000000000000..62149bab2be9809aac2d57da9c3375d87dbf4c89 --- /dev/null +++ b/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.1-1.6.0.2.php @@ -0,0 +1,108 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Usa + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +$installer = $this; +$configDataTable = $installer->getTable('core_config_data'); +$connection = $installer->getConnection(); + +$oldToNewMethodCodesMap = array( + 'First-Class' => '0_FCLE', + 'First-Class Mail International Large Envelope' => 'INT_14', + 'First-Class Mail International Letter' => 'INT_13', + 'First-Class Mail International Letters' => 'INT_13', + 'First-Class Mail International Package' => 'INT_15', + 'First-Class Mail International Parcel' => 'INT_13', + 'First-Class Package International Service' => 'INT_15', + 'First-Class Mail' => '0_FCLE', + 'First-Class Mail Flat' => '0_FCLE', + 'First-Class Mail Large Envelope' => '0_FCLE', + 'First-Class Mail International' => 'INT_14', + 'First-Class Mail Letter' => '0_FCL', + 'First-Class Mail Parcel' => '0_FCP', + 'First-Class Mail Package' => '0_FCP', + 'Parcel Post' => '4', + 'Standard Post' => '4', + 'Media Mail' => '6', + 'Library Mail' => '7', + 'Express Mail' => '3', + 'Express Mail PO to PO' => '3', + 'Express Mail Flat Rate Envelope' => '13', + 'Express Mail Flat-Rate Envelope Sunday/Holiday Guarantee' => '25', + 'Express Mail Sunday/Holiday Guarantee' => '23', + 'Express Mail Flat Rate Envelope Hold For Pickup' => '27', + 'Express Mail Hold For Pickup' => '2', + 'Global Express Guaranteed (GXG)' => 'INT_4', + 'Global Express Guaranteed Non-Document Rectangular' => 'INT_6', + 'Global Express Guaranteed Non-Document Non-Rectangular' => 'INT_7', + 'USPS GXG Envelopes' => 'INT_12', + 'Express Mail International' => 'INT_1', + 'Express Mail International Flat Rate Envelope' => 'INT_10', + 'Priority Mail' => '1', + 'Priority Mail Small Flat Rate Box' => '28', + 'Priority Mail Medium Flat Rate Box' => '17', + 'Priority Mail Large Flat Rate Box' => '22', + 'Priority Mail Flat Rate Envelope' => '16', + 'Priority Mail International' => 'INT_2', + 'Priority Mail International Flat Rate Envelope' => 'INT_8', + 'Priority Mail International Small Flat Rate Box' => 'INT_16', + 'Priority Mail International Medium Flat Rate Box' => 'INT_9', + 'Priority Mail International Large Flat Rate Box' => 'INT_11', +); + +$select = $connection->select() + ->from($configDataTable) + ->where('path IN (?)', + array( + 'carriers/usps/free_method', + 'carriers/usps/allowed_methods' + ) + ); +$oldConfigValues = $connection->fetchAll($select); + +foreach ($oldConfigValues as $oldValue) { + $newValue = ''; + if (stripos($oldValue['path'], 'free_method') && isset($oldToNewMethodCodesMap[$oldValue['value']])) { + $newValue = $oldToNewMethodCodesMap[$oldValue['value']]; + } else if (stripos($oldValue['path'], 'allowed_methods')) { + $newValuesList = array(); + foreach (explode(',', $oldValue['value']) as $shippingMethod) { + if (isset($oldToNewMethodCodesMap[$shippingMethod])) { + $newValuesList[] = $oldToNewMethodCodesMap[$shippingMethod]; + } + } + $newValue = implode(',', $newValuesList); + } else { + continue; + } + + if (!empty($newValue) && $newValue != $oldValue['value']) { + $whereConfigId = $connection->quoteInto('config_id = ?', $oldValue['config_id']); + $connection->update($configDataTable, + array('value' => $newValue), + $whereConfigId + ); + } +} diff --git a/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.2-1.6.0.3.php b/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.2-1.6.0.3.php new file mode 100644 index 0000000000000000000000000000000000000000..75bb158b0e577701560dd189d944a5fa05179237 --- /dev/null +++ b/app/code/Magento/Usa/sql/usa_setup/upgrade-1.6.0.2-1.6.0.3.php @@ -0,0 +1,49 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Usa + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +$days = $this->getLocale()->getTranslationList('days'); + +$days = array_keys($days['format']['wide']); +foreach ($days as $key => $value) { + $days[$key] = ucfirst($value); +} + +$select = $this->getConnection() + ->select() + ->from($this->getTable('core_config_data'), array('config_id', 'value')) + ->where('path = ?', 'carriers/dhl/shipment_days') + ->orWhere('path = ?', 'carriers/dhl/intl_shipment_days'); + +foreach ($this->getConnection()->fetchAll($select) as $configRow) { + $row = array('value' => implode(',', array_intersect_key($days, array_flip(explode(',', $configRow['value']))))); + $this->getConnection()->update( + $this->getTable('core_config_data'), + $row, + array( + 'config_id = ?' => $configRow['config_id'] + ) + ); +} diff --git a/app/code/Magento/Wishlist/view/frontend/layout/default.xml b/app/code/Magento/Wishlist/view/frontend/layout/default.xml index 17c8f37839399c1eb3d0addda89ebace4adec122..d1e63d967bcc446717ee2fc503566064214c871f 100644 --- a/app/code/Magento/Wishlist/view/frontend/layout/default.xml +++ b/app/code/Magento/Wishlist/view/frontend/layout/default.xml @@ -28,6 +28,6 @@ <block class="Magento\Wishlist\Block\Link" name="wish-list-link" after="my-account-link"/> </referenceBlock> <referenceContainer name="right"> - <block class="Magento\Wishlist\Block\Customer\Sidebar" name="wishlist_sidebar" as="wishlist" template="Magento_Wishlist::sidebar.phtml"/> + <block class="Magento\Wishlist\Block\Customer\Sidebar" name="wishlist_sidebar" as="wishlist" template="Magento_Wishlist::sidebar.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_configure_type_configurable.xml b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_configure_type_configurable.xml index 4e39cd692634c07ef1014a0e07c70789af395336..f16b0db368f9d758283a3e1c3725e1224f019437 100644 --- a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_configure_type_configurable.xml +++ b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_configure_type_configurable.xml @@ -30,10 +30,10 @@ </action> </referenceBlock> <referenceContainer name="product.info.type"> - <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml"/> + <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml" cacheable="false"/> <container name="product.info.configurable.extra" after="product.info.configurable" as="product_type_data_extra" label="Product Extra Info"/> </referenceContainer> <referenceBlock name="product.info.options.wrapper"> - <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml"/> + <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml" cacheable="false"/> </referenceBlock> </layout> diff --git a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_index.xml b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_index.xml index 7154d4b6be69c5c66b9e14753ff2fce53675f4b2..00287a5ad4c24799abeb465d0250ab91500a9516 100644 --- a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_index.xml +++ b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_index.xml @@ -26,36 +26,36 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Wishlist\Block\Customer\Wishlist" name="customer.wishlist" template="view.phtml"> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Items" name="customer.wishlist.items" as="items" template="item/list.phtml"> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Image" name="customer.wishlist.item.image" before="-" template="item/column/image.phtml"> + <block class="Magento\Wishlist\Block\Customer\Wishlist" name="customer.wishlist" template="view.phtml" cacheable="false"> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Items" name="customer.wishlist.items" as="items" template="item/list.phtml" cacheable="false"> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Image" name="customer.wishlist.item.image" before="-" template="item/column/image.phtml" cacheable="false"> <arguments> <argument name="col_class" xsi:type="string">photo</argument> </arguments> </block> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Comment" name="customer.wishlist.item.info" template="item/column/info.phtml"> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Comment" name="customer.wishlist.item.info" template="item/column/info.phtml" cacheable="false"> <arguments> <argument name="col_class" xsi:type="string">item</argument> <argument name="title" translate="true" xsi:type="string">Product Details and Comment</argument> </arguments> </block> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart" name="customer.wishlist.item.cart" template="item/column/cart.phtml"> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart" name="customer.wishlist.item.cart" template="item/column/cart.phtml" cacheable="false"> <arguments> <argument name="col_class" xsi:type="string">actions</argument> <argument name="title" translate="true" xsi:type="string">Add to Cart</argument> </arguments> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Options" name="customer.wishlist.item.options"/> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Options" name="customer.wishlist.item.options" cacheable="false"/> </block> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Remove" name="customer.wishlist.item.remove" template="item/column/remove.phtml"> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Remove" name="customer.wishlist.item.remove" template="item/column/remove.phtml" cacheable="false"> <arguments> <argument name="col_class" xsi:type="string">remove</argument> </arguments> </block> </block> <container name="customer.wishlist.buttons" as="control_buttons" label="Wishlist Control Buttons"> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.share" template="button/share.phtml"/> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.toCart" template="button/tocart.phtml"/> - <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.update" template="button/update.phtml"/> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.share" template="button/share.phtml" cacheable="false"/> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.toCart" template="button/tocart.phtml" cacheable="false"/> + <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.update" template="button/update.phtml" cacheable="false"/> </container> </block> </referenceContainer> diff --git a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_share.xml b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_share.xml index 2b4316bb10ca2bb658dfce736ebb9ace25469a66..b9d93294fee9ef3163674f00f9bac2afaf099c07 100644 --- a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_share.xml +++ b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_index_share.xml @@ -26,6 +26,6 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <update handle="customer_account"/> <referenceContainer name="content"> - <block class="Magento\Wishlist\Block\Customer\Sharing" name="wishlist.sharing" template="sharing.phtml"/> + <block class="Magento\Wishlist\Block\Customer\Sharing" name="wishlist.sharing" template="sharing.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_shared_index.xml b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_shared_index.xml index 34501eaed01db461f6a67314a8ec6fc1ec38a8d1..e00cb6359f533bf25963f7359e811d57de431dc7 100644 --- a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_shared_index.xml +++ b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_shared_index.xml @@ -25,6 +25,6 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceContainer name="content"> - <block class="Magento\Wishlist\Block\Share\Wishlist" name="customer.wishlist" template="shared.phtml"/> + <block class="Magento\Wishlist\Block\Share\Wishlist" name="customer.wishlist" template="shared.phtml" cacheable="false"/> </referenceContainer> </layout> diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml index ec164342aa88939e716984ca79e111fb59d7c2a6..0cd6a17a30de88f1a8574d036eaf708006fbcf86 100644 --- a/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml +++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml @@ -25,9 +25,9 @@ --> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <referenceBlock name="header.links"> - <block class="Magento\Customer\Block\Account\Customer" name="customer" template="account/customer.phtml" before="-" /> - <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link-login"/> - <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link"> + <block class="Magento\Customer\Block\Account\Customer" name="customer" template="account/customer.phtml" before="-" cacheable="false"/> + <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link-login" cacheable="false"/> + <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link" cacheable="false"> <arguments> <argument name="label" xsi:type="string">Register</argument> </arguments> diff --git a/app/design/frontend/magento_plushe/Magento_Theme/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Theme/layout/default.xml index 69d04b93b162d7513863bb93ce651c3f6a91d595..8bb5354bee5c456fe5ec6cb7f063b37b5bca7d89 100644 --- a/app/design/frontend/magento_plushe/Magento_Theme/layout/default.xml +++ b/app/design/frontend/magento_plushe/Magento_Theme/layout/default.xml @@ -30,7 +30,7 @@ </arguments> </referenceBlock> - <referenceContainer name="header"> + <referenceContainer name="header-wrapper"> <block class="Magento\View\Element\Html\Links" name="header.links" after="minicart"> <arguments> <argument name="css_class" xsi:type="string">links</argument> @@ -38,6 +38,14 @@ </block> </referenceContainer> + <referenceBlock name="header.links"> + <block class="Magento\Theme\Block\Html\Header" name="header" as="header" before="-"> + <arguments> + <argument name="show_part" xsi:type="string">welcome</argument> + </arguments> + </block> + </referenceBlock> + <referenceBlock name="top.links"> <arguments> <argument name="css_class" xsi:type="string">links</argument> diff --git a/app/design/frontend/magento_plushe/css/styles.css b/app/design/frontend/magento_plushe/css/styles.css index 6b5a8b9d13789502d35843114778818e6a02ce07..e52f0d24738021642eeb69e2121d28bca92bcd76 100644 --- a/app/design/frontend/magento_plushe/css/styles.css +++ b/app/design/frontend/magento_plushe/css/styles.css @@ -439,6 +439,73 @@ hr { position: static; width: auto; } +/* + Responsive +-------------------------------------- */ +.mobileAction { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + display: block; + margin: 0 auto 15px; + padding: 10px; + width: 100%; + max-width: 100%; + line-height: 1; + float: none; + text-align: center; + text-decoration: none; + text-transform: uppercase; + border: none; +} +.mobileAction span { + font-size: 18px; +} +.mobilePrimaryAction { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + display: block; + margin: 0 auto 15px; + padding: 10px; + width: 100%; + max-width: 100%; + line-height: 1; + float: none; + text-align: center; + text-decoration: none; + text-transform: uppercase; + border: none; + background-color: #da370a; + color: #ffffff; +} +.mobilePrimaryAction span { + font-size: 18px; +} +.mobileSecondaryAction { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + display: block; + margin: 0 auto 15px; + padding: 10px; + width: 100%; + max-width: 100%; + line-height: 1; + float: none; + text-align: center; + text-decoration: none; + text-transform: uppercase; + border: none; + background-color: #c2c2c2; + color: #ffffff; +} +.mobileSecondaryAction span { + font-size: 18px; +} .primary.action, .action.myPrimary, input[type="submit"], @@ -1103,8 +1170,6 @@ input[type="reset"], border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -1224,8 +1289,6 @@ input[type="number"] { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -1306,8 +1369,6 @@ select { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; padding: 5px 10px 4px; @@ -1333,8 +1394,6 @@ textarea { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: auto; @@ -5106,8 +5165,6 @@ body { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -5160,7 +5217,7 @@ body { margin-bottom: 0; } .block.add.review .fieldset > .field:not(.ratings) .nested { - padding: 0 0 0; + padding: 0; } .block.add.review .fieldset > .field:not(.ratings) .nested .field { margin: 5px 0; @@ -5399,7 +5456,7 @@ body { margin-bottom: 0; } .opc.wrapper .form:not(.login) .field .nested { - padding: 0 0 0; + padding: 0; } .opc.wrapper .form:not(.login) .field .nested .field { margin: 5px 0; @@ -5551,7 +5608,7 @@ body { margin-bottom: 0; } .fieldset.ccard .field .nested { - padding: 0 0 0; + padding: 0; } .fieldset.ccard .field .nested .field { margin: 5px 0; @@ -5684,7 +5741,7 @@ body { margin-bottom: 0; } .fieldset.guest > .field .nested { - padding: 0 0 0; + padding: 0; } .fieldset.guest > .field .nested .field { margin: 5px 0; @@ -5731,6 +5788,39 @@ body { font-size: 24px; color: #da370a; } +.order.data.items tr.tax.totals.details { + display: none; +} +.order.data.items tr.tax.totals.details.shown { + display: table-row; +} +.order.data.items tr.tax.totals.summary .detailed { + cursor: pointer; +} +.order.data.items tr.tax.totals.summary .detailed:before { + font-family: "icons"; + font-size: 18px; + line-height: 18px; + height: 18px; + margin: 0; + overflow: hidden; + content: "\e00d"; + font-style: normal; + speak: none; + font-weight: normal; + -webkit-font-smoothing: antialiased; + display: inline-block; + vertical-align: middle; + text-align: center; +} +.order.data.items tr.tax.totals.summary .detailed:before { + vertical-align: top; + font-size: 12px; + margin-right: 5px; +} +.order.data.items tr.tax.totals.summary.expanded .detailed:before { + content: "\e011"; +} .order.data.items tfoot .amount { text-align: right; } @@ -8732,8 +8822,6 @@ span.widget.link { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -8848,7 +8936,7 @@ span.widget.link { margin-bottom: 0; } .product.main.info .product.options.wrapper .field .nested { - padding: 0 0 0; + padding: 0; } .product.main.info .product.options.wrapper .field .nested .field { margin: 5px 0; @@ -8904,8 +8992,6 @@ span.widget.link { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -9692,7 +9778,8 @@ img[align="right"] { .customer.welcome + li { display: none; } -.customer.welcome + li { +.customer.welcome + li, +.customer.welcome + .greet.welcome + li { display: none !important; } .login.container { @@ -9824,7 +9911,7 @@ img[align="right"] { margin-bottom: 0; } .form.login .fieldset.login .field .nested { - padding: 0 0 0; + padding: 0; } .form.login .fieldset.login .field .nested .field { margin: 5px 0; @@ -10295,8 +10382,6 @@ img[align="right"] { border: 1px solid #c2c2c2; border-radius: 3px; font: 400 14px "sourcesanspro"; - /* Prevent background color leak outs */ - background-clip: padding-box; outline: none; height: 32px; @@ -10525,7 +10610,7 @@ img[align="right"] { .form.password.reset .fieldset > .field .nested, .form.paypal.review .fieldset > .field .nested, .form.send.confirmation .fieldset > .field .nested { - padding: 0 0 0; + padding: 0; } .form.send.friend .fieldset > .field .nested .field, .form.address.edit .fieldset > .field .nested .field, @@ -11900,70 +11985,6 @@ img[align="right"] { position: relative; z-index: 1; } -.mobileAction { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - display: block; - margin: 0 auto 15px; - padding: 10px; - width: 100%; - max-width: 100%; - line-height: 1; - float: none; - text-align: center; - text-decoration: none; - text-transform: uppercase; - border: none; -} -.mobileAction span { - font-size: 18px; -} -.mobilePrimaryAction { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - display: block; - margin: 0 auto 15px; - padding: 10px; - width: 100%; - max-width: 100%; - line-height: 1; - float: none; - text-align: center; - text-decoration: none; - text-transform: uppercase; - border: none; - background-color: #da370a; - color: #ffffff; -} -.mobilePrimaryAction span { - font-size: 18px; -} -.mobileSecondaryAction { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - display: block; - margin: 0 auto 15px; - padding: 10px; - width: 100%; - max-width: 100%; - line-height: 1; - float: none; - text-align: center; - text-decoration: none; - text-transform: uppercase; - border: none; - background-color: #c2c2c2; - color: #ffffff; -} -.mobileSecondaryAction span { - font-size: 18px; -} /* Smartphones (portrait) ----------- */ @media only screen and (max-width: 640px) { .scrollTable .wrapper.table, @@ -13065,13 +13086,6 @@ img[align="right"] { .opc.wrapper .order-review .actions.back span:before { display: none; } - .opc.wrapper .load.indicator { - /* left: 0; - position: absolute; - top: 10px; - width: 100%;*/ - - } .block.progress.onepage { background: #f8f8f8; border-top: 1px solid #e5e5e5; @@ -13183,9 +13197,8 @@ img[align="right"] { font-size: 18px; } /* - Magento_Checkout - Multishipping - -------------------------------------- */ + Magento_Checkout - Multishipping + -------------------------------------- */ .multicheckout.progress { width: 100%; float: none; @@ -13368,7 +13381,9 @@ img[align="right"] { .form.login .fieldset.login .field .control { width: 100%; } - /* Registration */ + /* + Forms + -------------------------------------- */ .form.send.friend .fieldset, .form.address.edit .fieldset, .form.edit.account .fieldset, @@ -13631,9 +13646,7 @@ img[align="right"] { float: none; } /* - * Mage_Customer - * - * Account + Mage_Customer - Account ----------------------------------------------------------------------------- */ .col2-left-layout.account .column.main { display: block; @@ -13795,7 +13808,9 @@ img[align="right"] { .data.table.orders .col.shipping { display: none; } - /* Address book */ + /* + Address book + -------------------------------------- */ .block.addresses:not(.dashboard) { margin-bottom: 20px; } @@ -13837,7 +13852,7 @@ img[align="right"] { font-size: 18px; } /* - My Account -> Billing agreements + My Account -> Billing agreements -------------------------------------- */ .billing.agreements .form.new.agreement > .field { display: inline-block; @@ -13857,7 +13872,7 @@ img[align="right"] { padding-bottom: 6px; } /* - My Account -> Wishlist + My Account -> Wishlist -------------------------------------- */ .account .form.wishlist.items .data.table.wishlist { margin-bottom: 0; @@ -13869,9 +13884,8 @@ img[align="right"] { width: 15em; } /* - * My Account -> My orders - * - ----------------------------------------------------------------------------- */ + My Account -> My orders + ----------------------------------------------------------------------------- */ .order.details .order.toolbar { clear: both; float: none; @@ -14619,7 +14633,7 @@ img[align="right"] { } /* Magento_Catalog Compare - -------------------------------------- */ + -------------------------------------- */ .catalog-product-compare-index .action.print { margin: -20px 0 20px; } diff --git a/app/design/frontend/magento_plushe/less/lib/forms.less b/app/design/frontend/magento_plushe/less/lib/forms.less index 7e3b98afc9cad9599b4069622034e3361eb6b4ac..6a80aee59b9122f1a91eb8c3f391f02f2305b86f 100644 --- a/app/design/frontend/magento_plushe/less/lib/forms.less +++ b/app/design/frontend/magento_plushe/less/lib/forms.less @@ -23,153 +23,6 @@ // * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) // */ -// #Forms mixins -// -// Mixins for all form elements - -.controlStyling() { - .box-sizing(); - background: @fieldBg; - border: 1px solid @primary3; - border-radius: 3px; - font: @baseFontWeight @baseFontSize @baseFont; - /* Prevent background color leak outs */ - background-clip: padding-box; - outline: none; - &:focus { - border-color: @primary4; - } - .control & { - width: 100%; - } - &:disabled { - opacity: 0.5; - } -} - -.inputText() { - .controlStyling(); - height: 32px; - line-height: 1; - padding: 0 10px; - &::-webkit-input-placeholder { - line-height: 1.333; - } - &:-ms-input-placeholder { - line-height: 1.333; - } - .eq-ie8 & { - padding-top: 8px; - } -} - -.formFieldset() { - border: 0; - margin: 30px 10px 30px 30px; - padding: 0; - letter-spacing: -0.31em; - word-spacing: -0.43em; - > * { - letter-spacing: normal; - word-spacing: normal; - } - > .legend { - float: left; - font: @baseFontWeight @legendFontSize/1.2 @baseFont; - margin: -30px 30px 50px -30px; - width: 100%; - & + br { - display: block; - .clearfix(); - } - } -} - -.formField() { - .box-sizing(); - margin: 0 0 20px; - > .label { - display: block; - padding-bottom: 5px; - } - .nested .field { - margin: 5px 0; - } - &.choice { - > .control { - width: auto; - } - > .label { - display: inline; - } - > input { - vertical-align: top; - margin-top: 2px; - margin-right: 5px; - } - } - &.required > .label > span:first-child:after { - content: '*'; - color: @requiredField; - } - .addon { - display: table; - padding: 0; - width: 100%; - textarea, - select, - input { - box-shadow: none; - display: table-cell; - margin: 0; - width: 100%; - } - .addbefore, - .addafter { - height: 0; - white-space: nowrap; - display: inline-block; - display: table-cell; - vertical-align: middle; - width: 1px; - .inputText(); - } - } - .note { - font-size: @baseFontSizeMiddle; - margin-top: 3px; - padding-left: 15px; - &:before { - border-bottom: 5px solid @baseColor; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - content: ''; - display: inline-block; - font-size: 0; - line-height: 0; - margin: 4px 0 0 -14px; - position: absolute; - vertical-align: top; - width: 0; - } - } -} - -.formCols(@fieldWidth : 50%) { - > .field { - display: inline-block; - padding-right: 20px; - vertical-align: top; - width: @fieldWidth; - } - .nested .field { - width: 100%; - } - .actions { - margin-right: 30px; - } -} - .hasRequired { &:after { content: attr(data-hasrequired); @@ -677,19 +530,19 @@ textarea { } // #Datepicker custom styles -@datepickerArrows : @secondary1; -@datepickerArrowsHover : darken(@datepickerArrows, 10%); -@datepickerTextColor : #000; -@datepickerBg : #efefef; -@datepickerBorder : #fff; -@datepickerShadow : rgba(0, 0, 0, 0.35); -@datepickerCalendarBg : #fff; -@datepickerCalendarBorder : #cfcfcf; -@datepickerCalendarHover : #f9eae7; -@datepickerCalendarToday : #f3d7d2; -@datepickerCalendarActive : lighten(@secondary1, 20%); -@datepickerDisabledBg : #f9f9f9; -@datepickerDisable : #959595; +@datepickerArrows: @secondary1; +@datepickerArrowsHover: darken(@datepickerArrows, 10%); +@datepickerTextColor: #000; +@datepickerBg: #efefef; +@datepickerBorder: #fff; +@datepickerShadow: rgba(0, 0, 0, 0.35); +@datepickerCalendarBg: #fff; +@datepickerCalendarBorder: #cfcfcf; +@datepickerCalendarHover: #f9eae7; +@datepickerCalendarToday: #f3d7d2; +@datepickerCalendarActive: lighten(@secondary1, 20%); +@datepickerDisabledBg: #f9f9f9; +@datepickerDisable: #959595; .ui-datepicker { background: @datepickerBg; diff --git a/app/design/frontend/magento_plushe/less/lib/icons.less b/app/design/frontend/magento_plushe/less/lib/icons.less index 219892c575ee78e27f564394df9ab6f18bb4d64e..8b73c25c940dfab9285a2ca6bb351bf1c295a344 100644 --- a/app/design/frontend/magento_plushe/less/lib/icons.less +++ b/app/design/frontend/magento_plushe/less/lib/icons.less @@ -23,81 +23,6 @@ // * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) // */ -// # Icons -// ``` -// <span class="icon example" data-icon="">@icon-pencil</span> -// <span class="icon example" data-icon="">@icon-menu</span> -// <span class="icon example" data-icon="">@icon-location</span> -// <span class="icon example" data-icon="">@icon-info</span> -// <span class="icon example" data-icon="">@icon-flag</span> -// <span class="icon example" data-icon="">@icon-expand</span> -// <span class="icon example" data-icon="">@icon-exclamation</span> -// <span class="icon example" data-icon="">@icon-dropdown</span> -// <span class="icon example" data-icon="">@icon-collapse</span> -// <span class="icon example" data-icon="">@icon-close-thick</span> -// <span class="icon example" data-icon="">@icon-checkmark</span> -// <span class="icon example" data-icon="">@icon-cart</span> -// <span class="icon example" data-icon="">@icon-arrow-up-thin</span> -// <span class="icon example" data-icon="">@icon-arrow-right-thin</span> -// <span class="icon example" data-icon="">@icon-arrow-left-thin</span> -// <span class="icon example" data-icon="">@icon-arrow-down-thin</span> -// <span class="icon example" data-icon="">@icon-arrow-up-thick</span> -// <span class="icon example" data-icon="">@icon-arrow-right-thick</span> -// <span class="icon example" data-icon="">@icon-arrow-left-thick</span> -// <span class="icon example" data-icon="">@icon-arrow-down-thick</span> -// <span class="icon example" data-icon="">@icon-wishlist</span> -// <span class="icon example" data-icon="">@icon-comment</span> -// <span class="icon example" data-icon="">@icon-comment-reflected</span> -// <span class="icon example" data-icon="">@icon-list</span> -// <span class="icon example" data-icon="">@icon-grid</span> -// <span class="icon example" data-icon="">@icon-close-thin</span> -// <span class="icon example" data-icon="">@icon-trash</span> -// <span class="icon example" data-icon="">@icon-envelope</span> -// <span class="icon example" data-icon="">@icon-magnifying-glass</span> -// <span class="icon example" data-icon="">@icon-arrow-right-filled</span> -// <span class="icon example" data-icon="">@icon-arrow-bottom-filled</span> -// <span class="icon example" data-icon="">@icon-arrow-left-filled</span> -// <span class="icon example" data-icon="">@icon-arrow-up-filled</span> -// <span class="icon example" data-icon="">@icon-star</span> -// <span class="icon example" data-icon="">@icon-calendar</span> -// ``` - -@icon-pencil: "\e006"; -@icon-menu: "\e007"; -@icon-location: "\e008"; -@icon-info: "\e00a"; -@icon-flag: "\e00c"; -@icon-expand: "\e00d"; -@icon-exclamation: "\e00e"; -@icon-dropdown: "\e010"; -@icon-collapse: "\e011"; -@icon-close-thick: "\e012"; -@icon-checkmark: "\e013"; -@icon-cart: "\e014"; -@icon-arrow-up-thin: "\e015"; -@icon-arrow-right-thin: "\e016"; -@icon-arrow-left-thin: "\e017"; -@icon-arrow-down-thin: "\e018"; -@icon-arrow-up-thick: "\e019"; -@icon-arrow-right-thick: "\e01a"; -@icon-arrow-left-thick: "\e01b"; -@icon-arrow-down-thick: "\e01c"; -@icon-wishlist: "\e01d"; -@icon-comment: "\e01e"; -@icon-comment-reflected: "\e01f"; -@icon-list: "\e002"; -@icon-grid: "\e003"; -@icon-close-thin: "\e004"; -@icon-trash: "\e000"; -@icon-envelope: "\e001"; -@icon-magnifying-glass: "\e005"; -@icon-arrow-right-filled: "\e02b"; -@icon-arrow-bottom-filled: "\e02c"; -@icon-arrow-left-filled: "\e02a"; -@icon-arrow-up-filled: "\e029"; -@icon-star: "\e009"; -@icon-calendar: "\e00b"; - .example.icon { display: inline-block; margin: 0 0 16px; @@ -146,78 +71,3 @@ .iconAfter(@icon-cart, 16px, 10px,"icons"); .iconHideText(16px); } - -//#Using mixin: -.iconBefore(@content: '', @size: 16px, @margin: 0 , @font: 'icons') { - &:before { - font-family: "@{font}"; - font-size: @size; - line-height: @size; - height: @size; - margin: @margin; - overflow: hidden; - content: @content; - font-style: normal; - speak: none; - font-weight: normal; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - text-align: center; - } -} - -.iconAfter(@content: '', @size: 16px, @margin: 0 , @font: 'icons') { - &:after { - font-family: "@{font}"; - font-size: @size; - line-height: @size; - height: @size; - margin: @margin; - overflow: hidden; - content: @content; - font-style: normal; - speak: none; - font-weight: normal; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - text-align: center; - } -} - -.iconHideText(@limitWidth: 16px) { - width: @limitWidth; - display: block; - line-height: 0; - white-space: nowrap; - vertical-align: middle; - text-align: center; - text-indent: -999em; - &:active { - outline: 0; - } - &:after { - text-indent: 0; - display: block; - margin: 0; - } -} - -.iconShowText() { - text-indent: 0; - line-height:inherit; - height:inherit; -} - -.iconRemove(@position: 'after') when (@position = 'after') { - &:after { - display: none; - } -} - -.iconRemove(@position: 'after') when (@position = 'before') { - &:before { - display: none; - } -} diff --git a/app/design/frontend/magento_plushe/less/lib/snippets.less b/app/design/frontend/magento_plushe/less/lib/snippets.less index 8ae1b6703f3d143f85f446d38d30f436ff9325fa..adbb1bdfc4199b3fdbb55e5dffe12809df91e2ff 100644 --- a/app/design/frontend/magento_plushe/less/lib/snippets.less +++ b/app/design/frontend/magento_plushe/less/lib/snippets.less @@ -104,7 +104,7 @@ .field { margin: 5px 0; } - padding: 0 0 0; + padding: 0; } } @@ -144,3 +144,409 @@ .visuallyHidden { .visually-hidden() } + + +// #Forms mixins +// +// Mixins for all form elements + +.controlStyling() { + .box-sizing(); + background: @fieldBg; + border: 1px solid @primary3; + border-radius: 3px; + font: @baseFontWeight @baseFontSize @baseFont; + // Prevent background color leak outs + background-clip: padding-box; + outline: none; + &:focus { + border-color: @primary4; + } + .control & { + width: 100%; + } + &:disabled { + opacity: 0.5; + } +} + +.inputText() { + .controlStyling(); + height: 32px; + line-height: 1; + padding: 0 10px; + &::-webkit-input-placeholder { + line-height: 1.333; + } + &:-ms-input-placeholder { + line-height: 1.333; + } + .eq-ie8 & { + padding-top: 8px; + } +} + +// * +// Forms +// -------------------------------------- */ +.formFieldset() { + border: 0; + margin: 30px 10px 30px 30px; + padding: 0; + letter-spacing: -0.31em; + word-spacing: -0.43em; + > * { + letter-spacing: normal; + word-spacing: normal; + } + > .legend { + float: left; + font: @baseFontWeight @legendFontSize/1.2 @baseFont; + margin: -30px 30px 50px -30px; + width: 100%; + & + br { + display: block; + .clearfix(); + } + } +} + +.formField() { + .box-sizing(); + margin: 0 0 20px; + > .label { + display: block; + padding-bottom: 5px; + } + .nested .field { + margin: 5px 0; + } + &.choice { + > .control { + width: auto; + } + > .label { + display: inline; + } + > input { + vertical-align: top; + margin-top: 2px; + margin-right: 5px; + } + } + &.required > .label > span:first-child:after { + content: '*'; + color: @requiredField; + } + .addon { + display: table; + padding: 0; + width: 100%; + textarea, + select, + input { + box-shadow: none; + display: table-cell; + margin: 0; + width: 100%; + } + .addbefore, + .addafter { + height: 0; + white-space: nowrap; + display: inline-block; + display: table-cell; + vertical-align: middle; + width: 1px; + .inputText(); + } + } + .note { + font-size: @baseFontSizeMiddle; + margin-top: 3px; + padding-left: 15px; + &:before { + border-bottom: 5px solid @baseColor; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + content: ''; + display: inline-block; + font-size: 0; + line-height: 0; + margin: 4px 0 0 -14px; + position: absolute; + vertical-align: top; + width: 0; + } + } +} + +.formCols(@fieldWidth : 50%) { + > .field { + display: inline-block; + padding-right: 20px; + vertical-align: top; + width: @fieldWidth; + } + .nested .field { + width: 100%; + } + .actions { + margin-right: 30px; + } +} + +.formCommon() { + .fieldset { + .box-sizing(); + .formCols(); + .formFieldset(); + width: 690px; + background: @primary1; + padding: 30px 10px 30px 30px; + border: 0; + margin: 0 0 40px; + position: relative; + z-index: 1; + .legend { + float: left; + line-height: 1.2; + font-size: 20px; + font-weight: @baseFontWeight; + padding-bottom: 20px; + width: 100%; + padding: 0 40px 20px 0; + background: #fff; + margin: -30px -10px 30px -30px; + & + br { + display: block; + clear: both; + } + } + > .field { + .formField(); + .fieldStyle(); + > .label { + display: block; + padding: 0 0 5px; + } + margin-bottom: 20px; + } + > .field.note, + .field.street, + .field.choice.newsletter { + width: 100%; + } + .field.fullname { + width: 100%; + .fields.group-5 .field { + width: 20%; + } + } + .field.dob { + .fields.group .field { + .box-sizing(); + width: 33%; + position: relative; + z-index: 1; + .label { + position: absolute; + top: 10px; + font-size: @baseFontSizeMiddle; + line-height: 16px; + } + .control { + margin-left: 27px; + } + &:last-child { + padding-right: 0; + width: 34%; + } + } + } + } + .action.save, + .action.submit, + .action.add { + &:extend(.primary.action all); + } + .actions { + .clearfix(); + .primary { + float: right; + } + .secondary { + float: left; + } + width: 690px; + } + .fieldset.create.account { + &:after { + content: attr(data-hasrequired); + display: block; + position: absolute; + top: 100%; + left: 0; + padding: 10px 0 0; + letter-spacing: normal; + word-spacing: normal; + color: @secondary1; + } + } +} + +// * +// Icons +// -------------------------------------- */ + +.iconBefore(@content: '', @size: 16px, @margin: 0, @font: 'icons') { + &:before { + font-family: "@{font}"; + font-size: @size; + line-height: @size; + height: @size; + margin: @margin; + overflow: hidden; + content: @content; + font-style: normal; + speak: none; + font-weight: normal; + -webkit-font-smoothing: antialiased; + display: inline-block; + vertical-align: middle; + text-align: center; + } +} + +.iconAfter(@content: '', @size: 16px, @margin: 0, @font: 'icons') { + &:after { + font-family: "@{font}"; + font-size: @size; + line-height: @size; + height: @size; + margin: @margin; + overflow: hidden; + content: @content; + font-style: normal; + speak: none; + font-weight: normal; + -webkit-font-smoothing: antialiased; + display: inline-block; + vertical-align: middle; + text-align: center; + } +} + +.iconHideText(@limitWidth: 16px) { + width: @limitWidth; + display: block; + line-height: 0; + white-space: nowrap; + vertical-align: middle; + text-align: center; + text-indent: -999em; + &:active { + outline: 0; + } + &:after { + text-indent: 0; + display: block; + margin: 0; + } +} + +.iconShowText() { + text-indent: 0; + line-height:inherit; + height:inherit; +} + +.iconRemove(@position: 'after') when (@position = 'after') { + &:after { + display: none; + } +} + +.iconRemove(@position: 'after') when (@position = 'before') { + &:before { + display: none; + } +} + +/* + Responsive +-------------------------------------- */ + +.mobileAction { + .box-sizing(); + display: block; + margin: 0 auto 15px; + padding: 10px; + width: 100%; + max-width: 100%; + line-height: 1; + float: none; + text-align: center; + text-decoration: none; + text-transform: uppercase; + border: none; + span { + font-size: 18px; + } +} + +.mobilePrimaryAction { + .mobileAction(); + background-color: @primaryActionBg; + color: @primaryActionColor; +} + +.mobileSecondaryAction { + .mobileAction(); + background-color: @secondaryActionBg; + color: @secondaryActionColor; +} + +.formResponsive() { + .fieldset { + width: 100%; + padding: 20px; + margin: 0 -20px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + .legend { + margin: 0; + padding: 0 0 10px 0; + background: transparent; + } + > .field { + width: 100%; + display: block; + padding-right: 0; + } + } + .action.save, + .action.submit, + .action.add { + .mobilePrimaryAction(); + } + .actions { + width: 100%; + margin-top: 15px; + .primary { + float: none; + } + .secondary { + margin: 15px 0 0; + float: none; + text-align: center; + } + } + .fieldset.create.account { + &:after { + content: attr(data-hasrequired); + position: relative; + } + } +} \ No newline at end of file diff --git a/app/design/frontend/magento_plushe/less/responsive/responsive.less b/app/design/frontend/magento_plushe/less/responsive/responsive.less index c2b590e20c148daf864fa17fb9c4163d7b950e6d..2728ac92fd41d5718d8e81ea4d8e18ab3d8eb8ed 100644 --- a/app/design/frontend/magento_plushe/less/responsive/responsive.less +++ b/app/design/frontend/magento_plushe/less/responsive/responsive.less @@ -22,40 +22,6 @@ // * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) // */ -@breakPoint1: 640px; -@icon-expand-mobile: "+"; -@icon-collapse-mobile: "–"; - -.mobileAction { - .box-sizing(); - display: block; - margin: 0 auto 15px; - padding: 10px; - width: 100%; - max-width: 100%; - line-height: 1; - float: none; - text-align: center; - text-decoration: none; - text-transform: uppercase; - border: none; - span { - font-size: 18px; - } -} - -.mobilePrimaryAction { - .mobileAction(); - background-color: @primaryActionBg; - color: @primaryActionColor; -} - -.mobileSecondaryAction { - .mobileAction(); - background-color: @secondaryActionBg; - color: @secondaryActionColor; -} - ///* Smartphones (portrait and landscape) ----------- */ //@media only screen //and (min-device-width : 320px) @@ -1144,12 +1110,12 @@ and (max-width : @breakPoint1) { } // Load indicator - .load.indicator { -/* left: 0; - position: absolute; - top: 10px; - width: 100%;*/ - } +// .load.indicator { +///* left: 0; +// position: absolute; +// top: 10px; +// width: 100%;*/ +// } } // Your Checkout Progress block @@ -1268,10 +1234,9 @@ and (max-width : @breakPoint1) { } } -/* -Magento_Checkout -Multishipping --------------------------------------- */ + /* + Magento_Checkout - Multishipping + -------------------------------------- */ .multicheckout { &.progress { @@ -1438,7 +1403,9 @@ Multishipping } } - /* Registration */ + /* + Forms + -------------------------------------- */ .form.send.friend, .form.address.edit, .form.edit.account, @@ -1451,47 +1418,7 @@ Multishipping .form.password.reset, .form.add.tag, .form.paypal.review { - .fieldset { - width: 100%; - padding: 20px; - margin: 0 -20px; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - .legend { - margin: 0; - padding: 0 0 10px 0; - background: transparent; - } - > .field { - width: 100%; - display: block; - padding-right: 0; - } - } - .action.save, - .action.submit, - .action.add { - .mobilePrimaryAction(); - } - .actions { - width: 100%; - margin-top: 15px; - .primary { - float: none; - } - .secondary { - margin: 15px 0 0; - float: none; - text-align: center; - } - } - .fieldset.create.account { - &:after { - content: attr(data-hasrequired); - position: relative; - } - } + .formResponsive(); } .form.search.advanced, @@ -1537,9 +1464,7 @@ Multishipping } /* - * Mage_Customer - * - * Account + Mage_Customer - Account ----------------------------------------------------------------------------- */ .col2-left-layout.account { .column.main { @@ -1696,7 +1621,9 @@ Multishipping } } - /* Address book */ + /* + Address book + -------------------------------------- */ .block.addresses:not(.dashboard) { margin-bottom: 20px; @@ -1731,7 +1658,7 @@ Multishipping } /* - My Account -> Billing agreements + My Account -> Billing agreements -------------------------------------- */ .billing.agreements { .form.new.agreement { @@ -1746,7 +1673,7 @@ Multishipping /* - My Account -> Wishlist + My Account -> Wishlist -------------------------------------- */ .account { .form.wishlist.items { @@ -1763,10 +1690,8 @@ Multishipping } /* - * My Account -> My orders - * - ----------------------------------------------------------------------------- */ - + My Account -> My orders + ----------------------------------------------------------------------------- */ .order.details { .order.toolbar { @@ -2444,11 +2369,10 @@ Multishipping /* Magento_Catalog Compare --------------------------------------- */ + -------------------------------------- */ .catalog-product-compare-index { .action.print { margin: -20px 0 20px; } } - -} \ No newline at end of file +} diff --git a/app/design/frontend/magento_plushe/less/styles.less b/app/design/frontend/magento_plushe/less/styles.less index ce54fa847d4053d718b55d66a2d76a4f116152dc..29da0e624922eff5be81110407b020bb3c74b37a 100644 --- a/app/design/frontend/magento_plushe/less/styles.less +++ b/app/design/frontend/magento_plushe/less/styles.less @@ -1256,6 +1256,26 @@ body { font-size: 24px; color: @secondary1; } + tr.tax.totals.details { + display: none; + &.shown { + display: table-row; + } + } + tr.tax.totals.summary { + .detailed { + cursor: pointer; + .iconBefore(@content: @icon-expand, @size: 18px, @font: "icons"); + &:before { + vertical-align: top; + font-size: 12px; + margin-right: 5px; + } + } + &.expanded .detailed:before { + content: @icon-collapse; + } + } tfoot { .amount { text-align: right; @@ -4531,7 +4551,8 @@ img[align="right"] { } } -.customer.welcome + li { +.customer.welcome + li, +.customer.welcome + .greet.welcome + li { display: none !important; } @@ -4651,102 +4672,7 @@ img[align="right"] { .form.password.reset, .form.paypal.review, .form.send.confirmation { - .fieldset { - .box-sizing(); - .formCols(); - .formFieldset(); - width: 690px; - background: @primary1; - padding: 30px 10px 30px 30px; - border: 0; - margin: 0 0 40px; - position: relative; - z-index: 1; - .legend { - float: left; - line-height: 1.2; - font-size: 20px; - font-weight: @baseFontWeight; - padding-bottom: 20px; - width: 100%; - padding: 0 40px 20px 0; - background: #fff; - margin: -30px -10px 30px -30px; - & + br { - display: block; - clear: both; - } - } - > .field { - .formField(); - .fieldStyle(); - > .label { - display: block; - padding: 0 0 5px; - } - margin-bottom: 20px; - } - > .field.note, - .field.street, - .field.choice.newsletter { - width: 100%; - } - .field.fullname { - width: 100%; - .fields.group-5 .field { - width: 20%; - } - } - .field.dob { - .fields.group .field { - .box-sizing(); - width: 33%; - position: relative; - z-index: 1; - .label { - position: absolute; - top: 10px; - font-size: @baseFontSizeMiddle; - line-height: 16px; - } - .control { - margin-left: 27px; - } - &:last-child { - padding-right: 0; - width: 34%; - } - } - } - } - .action.save, - .action.submit, - .action.add { - &:extend(.primary.action all); - } - .actions { - .clearfix(); - .primary { - float: right; - } - .secondary { - float: left; - } - width: 690px; - } - .fieldset.create.account { - &:after { - content: attr(data-hasrequired); - display: block; - position: absolute; - top: 100%; - left: 0; - padding: 10px 0 0; - letter-spacing: normal; - word-spacing: normal; - color: @secondary1; - } - } + .formCommon(); } .form.send.friend { diff --git a/app/design/frontend/magento_plushe/less/styles/base.less b/app/design/frontend/magento_plushe/less/styles/base.less index e3c351b381c922f08fda2419e12f5ec46b9dc42f..2652ea51403270c434f1f8a3d501d5a80b8b0ab8 100644 --- a/app/design/frontend/magento_plushe/less/styles/base.less +++ b/app/design/frontend/magento_plushe/less/styles/base.less @@ -46,8 +46,6 @@ .font-face( "icons", "@{baseDir}/fonts/icons/icons", 400, normal, true ); -@baseDir: ~".."; //default - html, body, button, input, select, textarea { font: @baseFontWeight @baseFontSize/@baseLineHeight @baseFont; color: @baseColor; diff --git a/app/design/frontend/magento_plushe/less/vars.less b/app/design/frontend/magento_plushe/less/vars.less index 74684cf3e6b064ce76905ed4713c9fa33904608b..9d68619185a004b1b0406ca0b82967780f097f1a 100644 --- a/app/design/frontend/magento_plushe/less/vars.less +++ b/app/design/frontend/magento_plushe/less/vars.less @@ -134,4 +134,85 @@ @messageNoticeBg: #ffedb8; @messageNoticeIconBg: #ffc000; +@baseDir: ~".."; //default @paypalRetinaButton: url("@{baseDir}/images/express-checkout-retina.png"); + +// # Icons +// ``` +// <span class="icon example" data-icon="">@icon-pencil</span> +// <span class="icon example" data-icon="">@icon-menu</span> +// <span class="icon example" data-icon="">@icon-location</span> +// <span class="icon example" data-icon="">@icon-info</span> +// <span class="icon example" data-icon="">@icon-flag</span> +// <span class="icon example" data-icon="">@icon-expand</span> +// <span class="icon example" data-icon="">@icon-exclamation</span> +// <span class="icon example" data-icon="">@icon-dropdown</span> +// <span class="icon example" data-icon="">@icon-collapse</span> +// <span class="icon example" data-icon="">@icon-close-thick</span> +// <span class="icon example" data-icon="">@icon-checkmark</span> +// <span class="icon example" data-icon="">@icon-cart</span> +// <span class="icon example" data-icon="">@icon-arrow-up-thin</span> +// <span class="icon example" data-icon="">@icon-arrow-right-thin</span> +// <span class="icon example" data-icon="">@icon-arrow-left-thin</span> +// <span class="icon example" data-icon="">@icon-arrow-down-thin</span> +// <span class="icon example" data-icon="">@icon-arrow-up-thick</span> +// <span class="icon example" data-icon="">@icon-arrow-right-thick</span> +// <span class="icon example" data-icon="">@icon-arrow-left-thick</span> +// <span class="icon example" data-icon="">@icon-arrow-down-thick</span> +// <span class="icon example" data-icon="">@icon-wishlist</span> +// <span class="icon example" data-icon="">@icon-comment</span> +// <span class="icon example" data-icon="">@icon-comment-reflected</span> +// <span class="icon example" data-icon="">@icon-list</span> +// <span class="icon example" data-icon="">@icon-grid</span> +// <span class="icon example" data-icon="">@icon-close-thin</span> +// <span class="icon example" data-icon="">@icon-trash</span> +// <span class="icon example" data-icon="">@icon-envelope</span> +// <span class="icon example" data-icon="">@icon-magnifying-glass</span> +// <span class="icon example" data-icon="">@icon-arrow-right-filled</span> +// <span class="icon example" data-icon="">@icon-arrow-bottom-filled</span> +// <span class="icon example" data-icon="">@icon-arrow-left-filled</span> +// <span class="icon example" data-icon="">@icon-arrow-up-filled</span> +// <span class="icon example" data-icon="">@icon-star</span> +// <span class="icon example" data-icon="">@icon-calendar</span> +// ``` + +@icon-pencil: "\e006"; +@icon-menu: "\e007"; +@icon-location: "\e008"; +@icon-info: "\e00a"; +@icon-flag: "\e00c"; +@icon-expand: "\e00d"; +@icon-exclamation: "\e00e"; +@icon-dropdown: "\e010"; +@icon-collapse: "\e011"; +@icon-close-thick: "\e012"; +@icon-checkmark: "\e013"; +@icon-cart: "\e014"; +@icon-arrow-up-thin: "\e015"; +@icon-arrow-right-thin: "\e016"; +@icon-arrow-left-thin: "\e017"; +@icon-arrow-down-thin: "\e018"; +@icon-arrow-up-thick: "\e019"; +@icon-arrow-right-thick: "\e01a"; +@icon-arrow-left-thick: "\e01b"; +@icon-arrow-down-thick: "\e01c"; +@icon-wishlist: "\e01d"; +@icon-comment: "\e01e"; +@icon-comment-reflected: "\e01f"; +@icon-list: "\e002"; +@icon-grid: "\e003"; +@icon-close-thin: "\e004"; +@icon-trash: "\e000"; +@icon-envelope: "\e001"; +@icon-magnifying-glass: "\e005"; +@icon-arrow-right-filled: "\e02b"; +@icon-arrow-bottom-filled: "\e02c"; +@icon-arrow-left-filled: "\e02a"; +@icon-arrow-up-filled: "\e029"; +@icon-star: "\e009"; +@icon-calendar: "\e00b"; + +// Responsive +@breakPoint1: 640px; +@icon-expand-mobile: "+"; +@icon-collapse-mobile: "–"; diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php index 6f08269d86a77d6f3da777aa93881616f4cab002..72458399b2bb608cb79fe0ee6c5b8d4a0f246faf 100644 --- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php +++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php @@ -500,4 +500,20 @@ class LayoutTest extends \PHPUnit_Framework_TestCase $result = $this->_layout->renderElement('container2', false); $this->assertEquals('<div id="container2-2" class="class22">Test21Test22</div>', $result); } + + public function testIsCacheable() + { + $this->_layout->setXml(simplexml_load_file(__DIR__ . '/_files/layout/cacheable.xml', + 'Magento\View\Layout\Element')); + $this->_layout->generateElements(); + $this->assertTrue($this->_layout->isCacheable()); + } + + public function testIsNonCacheable() + { + $this->_layout->setXml(simplexml_load_file(__DIR__ . '/_files/layout/non_cacheable.xml', + 'Magento\View\Layout\Element')); + $this->_layout->generateElements(); + $this->assertFalse($this->_layout->isCacheable()); + } } diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/cacheable.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/cacheable.xml new file mode 100644 index 0000000000000000000000000000000000000000..0680fc8f3dcafa57f433a279444fe146c18b82ad --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/cacheable.xml @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <container name="cachable_container1-1" label="test1" htmlTag="div" htmlId="cachable_container11" htmlClass="class11"> + <block class="Magento\View\Element\Text" name="block-1-in-cacheable-container1"> + <action method="setText"> + <argument name="text" xsi:type="string">Test11</argument> + </action> + </block> + </container> +</layout> diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/non_cacheable.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/non_cacheable.xml new file mode 100644 index 0000000000000000000000000000000000000000..0bac7ca5161d6a353abc7945d28ab87b87c4c202 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/non_cacheable.xml @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <container name="non_cachable_container1-1" label="test1" htmlTag="div" htmlId="non_cachable_container11" htmlClass="class11"> + <block class="Magento\View\Element\Text" name="block-1-in-non-cacheable-container1" cacheable="false"> + <action method="setText"> + <argument name="text" xsi:type="string">Test11</argument> + </action> + </block> + </container> +</layout> diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/code/Magento/Test/etc/widget.xml b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/code/Magento/Test/etc/widget.xml index d512be2215a2ed223d25b354b929dae6dbc7e51b..f4cfd8ca238d76fafa277c85fe19c95f2fc438de 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/code/Magento/Test/etc/widget.xml +++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/code/Magento/Test/etc/widget.xml @@ -25,7 +25,7 @@ --> <widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../../../../../app/code/Magento/Widget/etc/widget.xsd"> - <widget id="sales_widget_guestform" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true"> + <widget id="sales_widget_guestform" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true" > <label translate="true">Orders and Returns</label> <description translate="true">Orders and Returns Search Form</description> <parameters> diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/design/frontend/Test/etc/widget.xml b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/design/frontend/Test/etc/widget.xml index 809c1fd2d230858616c8a7f2409546f65dbdaa20..c31eba925a8b578981be45b285491a4bfa00b806 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/design/frontend/Test/etc/widget.xml +++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/design/frontend/Test/etc/widget.xml @@ -25,7 +25,7 @@ --> <widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../../../../../app/code/Magento/Widget/etc/widget.xsd"> - <widget id="new_products" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true"> + <widget id="new_products" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true" > <label translate="true">Orders and Returns</label> <description translate="true">Orders and Returns Search Form</description> <parameters> diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/widgetSecond.xml b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/widgetSecond.xml index d51aa4719e500d27e289ac22f728e747f0569c6a..8699f99bdd115b8f4631bd1c8784e2d3b2a397ca 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/widgetSecond.xml +++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/_files/widgetSecond.xml @@ -25,7 +25,7 @@ --> <widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../app/code/Magento/Widget/etc/widget.xsd"> - <widget id="new_products" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true"> + <widget id="new_products" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true" > <label translate="true">Orders and Returns</label> <description translate="true">Orders and Returns Search Form</description> <parameters> diff --git a/dev/tests/js/testsuite/mage/validation/validate-test.js b/dev/tests/js/testsuite/mage/validation/validate-test.js index 6d77a377431a8c0c785efec20bcdcc3a4491a43a..a3255988afe96f064741cc34ecf43906927195b7 100644 --- a/dev/tests/js/testsuite/mage/validation/validate-test.js +++ b/dev/tests/js/testsuite/mage/validation/validate-test.js @@ -320,7 +320,7 @@ MageValidationTest.prototype.testValidateOneRequiredByName = function () { }; MageValidationTest.prototype.testLessThanEqualsTo = function () { - /*:DOC += <input type="text" value=6 id="element1" />*/ + /*:DOC += <input type="text" value=6 id="element1" />*/ /*:DOC += <input type="text" value=5 id="element2" />*/ var element1 = document.getElementById('element1'); assertFalse($.validator.methods['less-than-equals-to'].call(this, element1.value, @@ -335,15 +335,21 @@ MageValidationTest.prototype.testLessThanEqualsTo = function () { assertTrue($.validator.methods['less-than-equals-to'].call(this, element3.value, element3, '#element4')); - /*:DOC += <input type="text" value=6 id="element5" />*/ + /*:DOC += <input type="text" value=6 id="element5" />*/ /*:DOC += <input type="text" id="element6" />*/ var element5 = document.getElementById('element5'); assertTrue($.validator.methods['less-than-equals-to'].call(this, element5.value, element5, '#element6')); + + /*:DOC += <input type="text" value=20 id="element7" />*/ + /*:DOC += <input type="text" value=100 id="element8" />*/ + var element7 = document.getElementById('element7'); + assertTrue($.validator.methods['less-than-equals-to'].call(this, element7.value, + element7, '#element8')); }; MageValidationTest.prototype.testGreaterThanEqualsTo = function () { - /*:DOC += <input type="text" value=6 id="element1" />*/ + /*:DOC += <input type="text" value=6 id="element1" />*/ /*:DOC += <input type="text" value=7 id="element2" />*/ var element1 = document.getElementById('element1'); assertFalse($.validator.methods['greater-than-equals-to'].call(this, element1.value, @@ -358,11 +364,17 @@ MageValidationTest.prototype.testGreaterThanEqualsTo = function () { assertTrue($.validator.methods['greater-than-equals-to'].call(this, element3.value, element3, '#element4')); - /*:DOC += <input type="text" value=6 id="element5" />*/ + /*:DOC += <input type="text" value=6 id="element5" />*/ /*:DOC += <input type="text" id="element6" />*/ var element5 = document.getElementById('element5'); assertTrue($.validator.methods['greater-than-equals-to'].call(this, element5.value, element5, '#element6')); + + /*:DOC += <input type="text" value=100 id="element7" />*/ + /*:DOC += <input type="text" value=20 id="element8" />*/ + var element7 = document.getElementById('element7'); + assertTrue($.validator.methods['greater-than-equals-to'].call(this, element7.value, + element7, '#element8')); }; MageValidationTest.prototype.testValidateGroupedQty = function () { diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php index c8a8edb1eb24c495c8311f2037221c6eac736ef4..3438fbe93c13c24fe9b4ebfc7f8d3e4b1ff932b5 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php @@ -117,9 +117,10 @@ class CompilerTest extends \PHPUnit_Framework_TestCase if (\Magento\TestFramework\Utility\Classes::isVirtual($instanceName)) { $instanceName = \Magento\TestFramework\Utility\Classes::resolveVirtualType($instanceName); } - $parameters = $parameters['parameters']; - if (!class_exists($instanceName)) { - $this->fail('Detected configuration of non existed class: ' . $instanceName); + + + if (!$this->_classExistsAsReal($instanceName)) { + continue; } $reflectionClass = new \ReflectionClass($instanceName); @@ -129,6 +130,7 @@ class CompilerTest extends \PHPUnit_Framework_TestCase $this->fail('Class ' . $instanceName . ' does not have __constructor'); } + $parameters = $parameters['parameters']; $classParameters = $constructor->getParameters(); foreach ($classParameters as $classParameter) { $parameterName = $classParameter->getName(); @@ -142,6 +144,24 @@ class CompilerTest extends \PHPUnit_Framework_TestCase } } + /** + * Checks if class is a real one or generated Factory + * @param $instanceName class name + * @throws \PHPUnit_Framework_AssertionFailedError + * @return bool + */ + protected function _classExistsAsReal($instanceName) + { + if (class_exists($instanceName)) { + return true; + } + // check for generated factory + if (substr($instanceName, -7) == 'Factory' && class_exists(substr($instanceName, 0, -7))) { + return false; + } + $this->fail('Detected configuration of non existed class: ' . $instanceName); + } + /** * Get php classes list * diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/widget.xml b/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/widget.xml index 312d137d1e861fe041a73d201398c0e9a61a5420..1be258a24ae7615c1b9949b1ce9acf1ed62830e8 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/widget.xml +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/widget.xml @@ -25,7 +25,7 @@ --> <widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../../app/code/Magento/Widget/etc/widget.xsd"> - <widget id="sales_widget_guestform" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true"> + <widget id="sales_widget_guestform" class="Magento\Sales\Block\Widget\Guest\Form" is_email_compatible="true" > <label translate="true">Orders and Returns</label> <description translate="true">Orders and Returns Search Form</description> <parameters> diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php index 5f7f8681a3308369c741e329dcd0ecedc52f1cb2..0fce58d9963ecdbfd4cc8eefde048b29ae1b6105 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php @@ -1777,4 +1777,5 @@ return array( array('Magento\Catalog\Model\Resource\Convert'), array('Magento\Reminder\Model\Resource\HelperFactory'), array('Magento\Reminder\Model\Resource\Helper'), + array('Magento\CatalogRule\Block\Adminhtml\Promo\Widget\Chooser'), ); diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php index 1c4c9f8255a667275e931bde880e1c53d28ccc4e..783a3677b3bb50311ad87af0f2a5e8710287f544 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php @@ -471,6 +471,26 @@ return array( 'Magento\View\Asset\MinifyService', 'Magento\Core\Model\Asset\Config::XML_PATH_MINIFICATION_ADAPTER' ), + array( + 'USE_PARENT_IMAGE', + 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable', + 'Magento\Catalog\Model\Config\Source\Product\Thumbnail::OPTION_USE_PARENT_IMAGE' + ), + array( + 'USE_PARENT_IMAGE', + 'Magento\Checkout\Block\Cart\Item\Renderer\Grouped', + 'Magento\Catalog\Model\Config\Source\Product\Thumbnail::OPTION_USE_PARENT_IMAGE' + ), + array( + 'CONFIGURABLE_PRODUCT_IMAGE', + 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable', + 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable::CONFIG_THUMBNAIL_SOURCE' + ), + array( + 'GROUPED_PRODUCT_IMAGE', + 'Magento\Checkout\Block\Cart\Item\Renderer\Grouped', + 'Magento\Checkout\Block\Cart\Item\Renderer\Grouped::CONFIG_THUMBNAIL_SOURCE' + ), array('TYPE_BLOCK', '\Magento\Core\Model\Layout', '\Magento\View\Layout\Element'), array('TYPE_CONTAINER', '\Magento\Core\Model\Layout', '\Magento\View\Layout\Element'), array('TYPE_ACTION', '\Magento\Core\Model\Layout', '\Magento\View\Layout\Element'), diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php index 4600f8dbdbf45f6a9bd63dff3c115ae1fed1c5f5..c1f0cb868f47c0a2602129f24cd3e8e1614127b4 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php @@ -725,6 +725,10 @@ return array( array('shouldCustomerHaveOneBalance'), array('shouldShowOneBalance'), array('sortChildren'), + array('overrideProductThumbnail', 'Magento\Checkout\Block\Cart\Item\Renderer'), + array('_getThumbnail', 'Magento\Checkout\Block\Cart\Item\Renderer'), + array('getConfigurableProduct', 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable'), + array('getProductAttributes', 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable'), array('substDistroServerVars', 'Magento\Core\Model\Config'), array('superGroupGridOnlyAction', 'Magento\Catalog\Controller\Adminhtml\Product'), array('toOptionArray', 'Magento\Cms\Model\Resource\Page\Collection'), diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php index 20868762bb8540218b92b7a287fc05c2a245b9e1..037f90f4ad2f78a854f556443b61a9bda39d692c 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php @@ -254,6 +254,7 @@ return array( array('_appState', 'Magento\View\Asset\MinifyService', 'appState'), array('_properties', 'Magento\View\Asset\PropertyGroup', 'properties'), array('_viewUrl', 'Magento\View\Asset\PublicFile', 'viewUrl'), + array('_productThumbnail', 'Magento\Checkout\Block\Cart\Item\Renderer'), array('_file', 'Magento\View\Asset\PublicFile', 'file'), array('_contentType', 'Magento\View\Asset\PublicFile', 'contentType'), array('_url', 'Magento\View\Asset\Remote', 'url'), diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/System/Config/Source/InputtypeTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/System/Config/Source/InputtypeTest.php new file mode 100644 index 0000000000000000000000000000000000000000..62afa965bbb2c9cdf2de34c5ebc4d8549ea7894d --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/System/Config/Source/InputtypeTest.php @@ -0,0 +1,58 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +namespace Magento\Catalog\Model\System\Config\Source; + +class InputtypeTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\TestFramework\Helper\ObjectManager + */ + protected $_helper; + + /** + * @var \Magento\Catalog\Model\System\Config\Source\Inputtype + */ + protected $_model; + + protected function setUp() + { + $this->_helper = new \Magento\TestFramework\Helper\ObjectManager($this); + $this->_model = $this->_helper->getObject('\Magento\Catalog\Model\System\Config\Source\Inputtype'); + } + + public function testToOptionArrayIsArray() + { + $this->assertInternalType('array', $this->_model->toOptionArray()); + } + + public function testToOptionArrayValid() + { + $expects = array( + array('value' => 'multiselect', 'label' => 'Multiple Select'), + array('value' => 'select', 'label' => 'Dropdown') + + ); + $this->assertEquals($expects, $this->_model->toOptionArray()); + } +} diff --git a/dev/tests/unit/testsuite/Magento/Centinel/Model/ServiceTest.php b/dev/tests/unit/testsuite/Magento/Centinel/Model/ServiceTest.php index 23cb9dc0fbd10bf4bc3b41362dcee3af4a8bc168..3ba23c5ffadedb72c3a8addf8c2a2670f069a571 100644 --- a/dev/tests/unit/testsuite/Magento/Centinel/Model/ServiceTest.php +++ b/dev/tests/unit/testsuite/Magento/Centinel/Model/ServiceTest.php @@ -38,7 +38,10 @@ class ServiceTest extends \PHPUnit_Framework_TestCase $url = $this->getMock('Magento\Core\Model\Url', ['getUrl'], [], '', false); $url->expects($this->once()) ->method('getUrl') - ->with($this->equalTo('url_prefix/authenticationstart')) + ->with( + $this->equalTo('url_prefix/authenticationstart'), + $this->equalTo(array('_secure' => true, '_current' => false, 'isIframe' => true)) + ) ->will($this->returnValue('some value')); $helper = new \Magento\TestFramework\Helper\ObjectManager($this); diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/ConfigurableTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/ConfigurableTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f4240a8d72707ffd347f1941c94d592abd29820d --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/ConfigurableTest.php @@ -0,0 +1,225 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Checkout + * @subpackage unit_tests + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +namespace Magento\Checkout\Block\Cart\Item\Renderer; + +use Magento\Checkout\Block\Cart\Item\Renderer\Configurable as Renderer; +use \Magento\Catalog\Model\Config\Source\Product\Thumbnail as ThumbnailSource; + +class ConfigurableTest extends \PHPUnit_Framework_TestCase +{ + /** @var \Magento\View\ConfigInterface|\PHPUnit_Framework_MockObject_MockObject */ + protected $_configManager; + + /** @var \Magento\Catalog\Helper\Image|\PHPUnit_Framework_MockObject_MockObject */ + protected $_imageHelper; + + /** @var \Magento\Core\Model\Store\Config|\PHPUnit_Framework_MockObject_MockObject */ + protected $_storeConfig; + + /** @var Renderer */ + protected $_renderer; + + protected function setUp() + { + parent::setUp(); + $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this); + $this->_configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false); + $this->_imageHelper = $this->getMock( + 'Magento\Catalog\Helper\Image', + array('init', 'resize', '__toString'), + array(), + '', + false + ); + $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false, false); + $this->_renderer = $objectManagerHelper->getObject( + 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable', + array( + 'viewConfig' => $this->_configManager, + 'imageHelper' => $this->_imageHelper, + 'storeConfig' => $this->_storeConfig, + ) + ); + } + + public function testGetProductThumbnailUrl() + { + $url = 'pub/media/catalog/product/cache/1/thumbnail/75x/9df78eab33525d08d6e5fb8d27136e95/_/_/__green.gif'; + $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this); + + $configView = $this->getMock('Magento\Config\View', array('getVarValue'), array(), '', false); + $configView->expects($this->any())->method('getVarValue')->will($this->returnValue(75)); + + $this->_configManager->expects($this->any())->method('getViewConfig')->will($this->returnValue($configView)); + + $product = $this->getMock( + 'Magento\Catalog\Model\Product', + array('isConfigurable', '__wakeup'), + array(), + '', + false + ); + $product->expects($this->any())->method('isConfigurable')->will($this->returnValue(true)); + + $childProduct = $this->getMock( + 'Magento\Catalog\Model\Product', + array('getThumbnail', 'getDataByKey', '__wakeup'), + array(), + '', + false + ); + $childProduct->expects($this->any())->method('getThumbnail')->will($this->returnValue('/_/_/__green.gif')); + + $this->_imageHelper->expects($this->any())->method('init')->will($this->returnValue($this->_imageHelper)); + $this->_imageHelper->expects($this->any())->method('resize')->will($this->returnValue($this->_imageHelper)); + $this->_imageHelper->expects($this->any())->method('__toString')->will($this->returnValue($url)); + + $arguments = array( + 'statusListFactory' => $this->getMock( + 'Magento\Sales\Model\Status\ListFactory', array(), array(), '', false + ), + 'productFactory' => $this->getMock('Magento\Catalog\Model\ProductFactory', array(), array(), '', false), + 'itemOptionFactory' => $this->getMock( + 'Magento\Sales\Model\Quote\Item\OptionFactory', array(), array(), '', false + ), + ); + $childItem = $objectManagerHelper->getObject('Magento\Sales\Model\Quote\Item', $arguments); + $childItem->setData('product', $childProduct); + + $item = $objectManagerHelper->getObject('Magento\Sales\Model\Quote\Item', $arguments); + $item->setData('product', $product); + $item->addChild($childItem); + + $this->_renderer->setItem($item); + + $configurableUrl = $this->_renderer->getProductThumbnailUrl(); + $this->assertNotNull($configurableUrl); + } + + /** + * Child thumbnail is available and config option is not set to use parent thumbnail. + */ + public function testGetProductForThumbnail() + { + $childHasThumbnail = true; + $useParentThumbnail = false; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['childProduct'], + $productForThumbnail, + 'Child product was expected to be returned.' + ); + } + + /** + * Child thumbnail is not available and config option is not set to use parent thumbnail. + */ + public function testGetProductForThumbnailChildThumbnailNotAvailable() + { + $childHasThumbnail = false; + $useParentThumbnail = false; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['parentProduct'], + $productForThumbnail, + 'Parent product was expected to be returned.' + ); + } + + /** + * Child thumbnail is available and config option is set to use parent thumbnail. + */ + public function testGetProductForThumbnailConfigUseParent() + { + $childHasThumbnail = true; + $useParentThumbnail = true; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['parentProduct'], + $productForThumbnail, + 'Parent product was expected to be returned ' + . 'if "checkout/cart/configurable_product_image option" is set to "parent" in system config.' + ); + } + + /** + * Initialize parent configurable product and child product. + * + * @param bool $childHasThumbnail + * @param bool $useParentThumbnail + * @return \Magento\Catalog\Model\Product[]|\PHPUnit_Framework_MockObject_MockObject[] + */ + protected function _initProducts($childHasThumbnail = true, $useParentThumbnail = false) + { + /** Set option which can force usage of parent product thumbnail when configurable product is displayed */ + $thumbnailToBeUsed = $useParentThumbnail + ? ThumbnailSource::OPTION_USE_PARENT_IMAGE + : ThumbnailSource::OPTION_USE_OWN_IMAGE; + $this->_storeConfig->expects($this->any()) + ->method('getConfig') + ->with(Renderer::CONFIG_THUMBNAIL_SOURCE) + ->will($this->returnValue($thumbnailToBeUsed)); + + /** Initialized parent product */ + /** @var \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject $parentProduct */ + $parentProduct = $this->getMock('Magento\Catalog\Model\Product', array(), array(), '', false); + + /** Initialize child product */ + /** @var \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject $childProduct */ + $childProduct = $this->getMock( + 'Magento\Catalog\Model\Product', + array('getThumbnail', '__wakeup'), + array(), + '', + false + ); + $childThumbnail = $childHasThumbnail ? 'thumbnail.jpg' : 'no_selection'; + $childProduct->expects($this->any())->method('getThumbnail')->will($this->returnValue($childThumbnail)); + + /** Mock methods which return parent and child products */ + /** @var \Magento\Sales\Model\Quote\Item\Option|\PHPUnit_Framework_MockObject_MockObject $itemOption */ + $itemOption = $this->getMock('Magento\Sales\Model\Quote\Item\Option', array(), array(), '', false); + $itemOption->expects($this->any())->method('getProduct')->will($this->returnValue($childProduct)); + /** @var \Magento\Sales\Model\Quote\Item|\PHPUnit_Framework_MockObject_MockObject $item */ + $item = $this->getMock('Magento\Sales\Model\Quote\Item', array(), array(), '', false); + $item->expects($this->any())->method('getProduct')->will($this->returnValue($parentProduct)); + $item->expects($this->any()) + ->method('getOptionByCode') + ->with('simple_product') + ->will($this->returnValue($itemOption)); + $this->_renderer->setItem($item); + + return ['parentProduct' => $parentProduct, 'childProduct' => $childProduct]; + } +} diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/GroupedTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/GroupedTest.php new file mode 100644 index 0000000000000000000000000000000000000000..201361a81ed843b0ef34783120875a0348135f35 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/Renderer/GroupedTest.php @@ -0,0 +1,155 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Checkout + * @subpackage unit_tests + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +namespace Magento\Checkout\Block\Cart\Item\Renderer; + +use Magento\Checkout\Block\Cart\Item\Renderer\Grouped as Renderer; +use \Magento\Catalog\Model\Config\Source\Product\Thumbnail as ThumbnailSource; + +class GroupedTest extends \PHPUnit_Framework_TestCase +{ + /** @var \Magento\Core\Model\Store\Config|\PHPUnit_Framework_MockObject_MockObject */ + protected $_storeConfig; + + /** @var Renderer */ + protected $_renderer; + + protected function setUp() + { + parent::setUp(); + $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this); + $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false, false); + $this->_renderer = $objectManagerHelper->getObject( + 'Magento\Checkout\Block\Cart\Item\Renderer\Grouped', + array( + 'storeConfig' => $this->_storeConfig, + ) + ); + } + + /** + * Child thumbnail is available and config option is not set to use parent thumbnail. + */ + public function testGetProductForThumbnail() + { + $childHasThumbnail = true; + $useParentThumbnail = false; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['childProduct'], + $productForThumbnail, + 'Child product was expected to be returned.' + ); + } + + /** + * Child thumbnail is not available and config option is not set to use parent thumbnail. + */ + public function testGetProductForThumbnailChildThumbnailNotAvailable() + { + $childHasThumbnail = false; + $useParentThumbnail = false; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['parentProduct'], + $productForThumbnail, + 'Parent product was expected to be returned.' + ); + } + + /** + * Child thumbnail is available and config option is set to use parent thumbnail. + */ + public function testGetProductForThumbnailConfigUseParent() + { + $childHasThumbnail = true; + $useParentThumbnail = true; + $products = $this->_initProducts($childHasThumbnail, $useParentThumbnail); + + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertSame( + $products['parentProduct'], + $productForThumbnail, + 'Parent product was expected to be returned ' + . 'if "checkout/cart/grouped_product_image" is set to "parent" in system config.' + ); + } + + /** + * Initialize parent grouped product and child product. + * + * @param bool $childHasThumbnail + * @param bool $useParentThumbnail + * @return \Magento\Catalog\Model\Product[]|\PHPUnit_Framework_MockObject_MockObject[] + */ + protected function _initProducts($childHasThumbnail = true, $useParentThumbnail = false) + { + /** Set option which can force usage of parent product thumbnail when grouped product is displayed */ + $thumbnailToBeUsed = $useParentThumbnail + ? ThumbnailSource::OPTION_USE_PARENT_IMAGE + : ThumbnailSource::OPTION_USE_OWN_IMAGE; + $this->_storeConfig->expects($this->any()) + ->method('getConfig') + ->with(Renderer::CONFIG_THUMBNAIL_SOURCE) + ->will($this->returnValue($thumbnailToBeUsed)); + + /** Initialized parent product */ + /** @var \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject $parentProduct */ + $parentProduct = $this->getMock('Magento\Catalog\Model\Product', array(), array(), '', false); + + /** Initialize child product */ + /** @var \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject $childProduct */ + $childProduct = $this->getMock( + 'Magento\Catalog\Model\Product', + array('getThumbnail', '__wakeup'), + array(), + '', + false + ); + $childThumbnail = $childHasThumbnail ? 'thumbnail.jpg' : 'no_selection'; + $childProduct->expects($this->any())->method('getThumbnail')->will($this->returnValue($childThumbnail)); + + /** Mock methods which return parent and child products */ + /** @var \Magento\Sales\Model\Quote\Item\Option|\PHPUnit_Framework_MockObject_MockObject $itemOption */ + $itemOption = $this->getMock('Magento\Sales\Model\Quote\Item\Option', array(), array(), '', false); + $itemOption->expects($this->any())->method('getProduct')->will($this->returnValue($parentProduct)); + /** @var \Magento\Sales\Model\Quote\Item|\PHPUnit_Framework_MockObject_MockObject $item */ + $item = $this->getMock('Magento\Sales\Model\Quote\Item', array(), array(), '', false); + $item->expects($this->any())->method('getProduct')->will($this->returnValue($childProduct)); + $item->expects($this->any()) + ->method('getOptionByCode') + ->with('product_type') + ->will($this->returnValue($itemOption)); + $this->_renderer->setItem($item); + + return ['parentProduct' => $parentProduct, 'childProduct' => $childProduct]; + } +} diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php index 540cf6fc5384670d659118570eb7b669e74294a9..1439db0d80e09f20a6b3e4b340533b7911cee35f 100644 --- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php +++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php @@ -24,76 +24,65 @@ * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ + namespace Magento\Checkout\Block\Cart\Item; +use Magento\Checkout\Block\Cart\Item\Renderer as Renderer; + class RendererTest extends \PHPUnit_Framework_TestCase { - public function testGetProductThumbnailUrlForConfigurable() - { - $url = 'pub/media/catalog/product/cache/1/thumbnail/75x/9df78eab33525d08d6e5fb8d27136e95/_/_/__green.gif'; - $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this); - - $configView = $this->getMock('Magento\Config\View', array('getVarValue'), array(), '', false); - $configView->expects($this->any())->method('getVarValue')->will($this->returnValue(75)); - - $configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false); - $configManager->expects($this->any())->method('getViewConfig')->will($this->returnValue($configView)); - - $product = $this->getMock( - 'Magento\Catalog\Model\Product', - array('isConfigurable', '__wakeup'), - array(), - '', - false - ); - $product->expects($this->any())->method('isConfigurable')->will($this->returnValue(true)); - - $childProduct = $this->getMock( - 'Magento\Catalog\Model\Product', - array('getThumbnail', 'getDataByKey', '__wakeup'), - array(), - '', - false - ); - $childProduct->expects($this->any())->method('getThumbnail')->will($this->returnValue('/_/_/__green.gif')); - - $helperImage = $this->getMock('Magento\Catalog\Helper\Image', - array('init', 'resize', '__toString'), array(), '', false - ); - $helperImage->expects($this->any())->method('init')->will($this->returnValue($helperImage)); - $helperImage->expects($this->any())->method('resize')->will($this->returnValue($helperImage)); - $helperImage->expects($this->any())->method('__toString')->will($this->returnValue($url)); + /** @var \Magento\Catalog\Helper\Image|\PHPUnit_Framework_MockObject_MockObject */ + protected $_imageHelper; + /** @var Renderer */ + protected $_renderer; - $arguments = array( - 'statusListFactory' => $this->getMock( - 'Magento\Sales\Model\Status\ListFactory', array(), array(), '', false - ), - 'productFactory' => $this->getMock('Magento\Catalog\Model\ProductFactory', array(), array(), '', false), - 'itemOptionFactory' => $this->getMock( - 'Magento\Sales\Model\Quote\Item\OptionFactory', array(), array(), '', false - ), + protected function setUp() + { + parent::setUp(); + $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this); + $this->_imageHelper = $this->getMock('Magento\Catalog\Helper\Image', array(), array(), '', false); + $this->_renderer = $objectManagerHelper->getObject( + 'Magento\Checkout\Block\Cart\Item\Renderer', + ['imageHelper' => $this->_imageHelper] ); - $childItem = $objectManagerHelper->getObject('Magento\Sales\Model\Quote\Item', $arguments); - $childItem->setData('product', $childProduct); + } - $item = $objectManagerHelper->getObject('Magento\Sales\Model\Quote\Item', $arguments); - $item->setData('product', $product); - $item->addChild($childItem); + public function testGetProductForThumbnail() + { + $product = $this->_initProduct(); + $productForThumbnail = $this->_renderer->getProductForThumbnail(); + $this->assertEquals($product->getName(), $productForThumbnail->getName(), 'Invalid product was returned.'); + } - $configurable = $objectManagerHelper->getObject( - 'Magento\Checkout\Block\Cart\Item\Renderer\Configurable', - array( - 'viewConfig' => $configManager, - 'imageHelper' => $helperImage, - )); + public function testGetProductThumbnail() + { + $productForThumbnail = $this->_initProduct(); + /** Ensure that image helper was initialized with correct arguments */ + $this->_imageHelper->expects($this->once()) + ->method('init') + ->with($productForThumbnail, 'thumbnail') + ->will($this->returnSelf()); + $productThumbnail = $this->_renderer->getProductThumbnail(); + $this->assertSame($this->_imageHelper, $productThumbnail, 'Invalid product thumbnail is returned.'); + } - $layout = $configurable->getLayout(); - $layout->expects($this->any())->method('helper')->will($this->returnValue($helperImage)); + /** + * Initialize product. + * + * @return \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject + */ + protected function _initProduct() + { + /** @var \Magento\Catalog\Model\Product|\PHPUnit_Framework_MockObject_MockObject $product */ + $product = $this->getMock('Magento\Catalog\Model\Product', array(), array(), '', false); + $product->expects($this->any())->method('getName')->will($this->returnValue('Parent Product')); - $configurable->setItem($item); + /** @var \Magento\Sales\Model\Quote\Item|\PHPUnit_Framework_MockObject_MockObject $item */ + $item = $this->getMock('Magento\Sales\Model\Quote\Item', array(), array(), '', false); + $item->expects($this->any())->method('getProduct')->will($this->returnValue($product)); - $configurableUrl = $configurable->getProductThumbnailUrl(); - $this->assertNotNull($configurableUrl); + $this->_renderer->setItem($item); + return $product; } } diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Config/_files/sales_invalid_scope.xml b/dev/tests/unit/testsuite/Magento/Sales/Model/Config/_files/sales_invalid_scope.xml new file mode 100644 index 0000000000000000000000000000000000000000..f7571e652492cdd00419176ad8523f6ec5f10304 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Config/_files/sales_invalid_scope.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<config> + <section name="section1"> + <group name="group1"> + <item name="item1" instance="instance1" sort_order="1"> + <renderer name="renderer1" instance="instance1"/> + </item> + </group> + <group name="group2"> + <item name="item1" instance="instance1" sort_order="1"/> + </group> + </section> + <section name="section2"> + <group name="group1"> + <item name="item1" instance="instance1" sort_order="1"/> + </group> + </section> + <order> + <available_product_type name="type1"/> + <available_product_type name="type2"/> + </order> +</config> diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/InternationalTest.php b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/InternationalTest.php index fe0a902c2e3addc6a858c8ad508181b9c0afdd44..52b2a07f69bb9eca6a3011a707b00a6f048d399e 100644 --- a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/InternationalTest.php +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/InternationalTest.php @@ -34,9 +34,128 @@ class InternationalTest extends \PHPUnit_Framework_TestCase */ protected $_helper; + /** + * @var \PHPUnit_Framework_MockObject_MockObject + */ + protected $_httpResponse; + + /** + * @var \Magento\Usa\Model\Shipping\Carrier\Dhl + */ + protected $_model; + public function setUp() { $this->_helper = new \Magento\TestFramework\Helper\ObjectManager($this); + $coreStoreConfig = $this->getMockBuilder('\Magento\Core\Model\Store\Config') + ->setMethods(array('getConfigFlag', 'getConfig')) + ->disableOriginalConstructor() + ->getMock(); + $coreStoreConfig->expects($this->any())->method('getConfigFlag')->will($this->returnValue(true)); + $coreStoreConfig->expects($this->any())->method('getConfig') + ->will($this->returnCallback(array($this, 'coreStoreConfigGetConfig'))); + + // xml element factory + $xmlElFactory = $this->getMockBuilder('\Magento\Usa\Model\Simplexml\ElementFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $xmlElFactory->expects($this->any()) + ->method('create') + ->will( + $this->returnCallback( + function ($data) { + $oM = new \Magento\TestFramework\Helper\ObjectManager($this); + return $oM->getObject('\Magento\Usa\Model\Simplexml\Element', array('data' => $data['data'])); + } + ) + ); + + // rate factory + $rateFactory = $this->getMockBuilder('\Magento\Shipping\Model\Rate\ResultFactory')->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $rateResult = $this->getMockBuilder('\Magento\Shipping\Model\Rate\Result')->disableOriginalConstructor() + ->setMethods(null) + ->getMock(); + $rateFactory->expects($this->any())->method('create')->will($this->returnValue($rateResult)); + + // rate method factory + $rateMethodFactory = $this->getMockBuilder('\Magento\Shipping\Model\Rate\Result\MethodFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $rateMethod = $this->getMockBuilder('Magento\Shipping\Model\Rate\Result\Method')->disableOriginalConstructor() + ->setMethods(array('setPrice')) + ->getMock(); + $rateMethod->expects($this->any())->method('setPrice')->will($this->returnSelf()); + + $rateMethodFactory->expects($this->any())->method('create')->will($this->returnValue($rateMethod)); + + // http client + $this->_httpResponse = $this->getMockBuilder('\Zend_Http_Response')->disableOriginalConstructor() + ->setMethods(array('getBody')) + ->getMock(); + + $httpClient = $this->getMockBuilder('\Zend_Http_Client')->disableOriginalConstructor() + ->setMethods(array('request')) + ->getMock(); + $httpClient->expects($this->any())->method('request')->will($this->returnValue($this->_httpResponse)); + + $httpClientFactory = $this->getMockBuilder('\Zend_Http_ClientFactory')->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $httpClientFactory->expects($this->any())->method('create')->will($this->returnValue($httpClient)); + $modulesDirectory = $this->getMockBuilder('\Magento\Filesystem\Directory\Read')->disableOriginalConstructor() + ->setMethods(array('getRelativePath', 'readFile')) + ->getMock(); + $modulesDirectory->expects($this->any())->method('readFile') + ->will($this->returnValue(file_get_contents(__DIR__ . '/_files/countries.xml'))); + $filesystem = $this->getMockBuilder('\Magento\Filesystem')->disableOriginalConstructor() + ->setMethods(array('getDirectoryRead')) + ->getMock(); + $filesystem->expects($this->any())->method('getDirectoryRead')->will($this->returnValue($modulesDirectory)); + $storeManager = $this->getMockBuilder('\Magento\Core\Model\StoreManager')->disableOriginalConstructor() + ->setMethods(array('getWebsite')) + ->getMock(); + $website = $this->getMockBuilder('\Magento\Core\Model\Website')->disableOriginalConstructor() + ->setMethods(array('getBaseCurrencyCode', '__wakeup')) + ->getMock(); + $website->expects($this->any())->method('getBaseCurrencyCode')->will($this->returnValue('USD')); + $storeManager->expects($this->any())->method('getWebsite')->will($this->returnValue($website)); + + $arguments = array( + 'coreStoreConfig' => $coreStoreConfig, + 'xmlElFactory' => $xmlElFactory, + 'rateFactory' => $rateFactory, + 'rateMethodFactory' => $rateMethodFactory, + 'httpClientFactory' => $httpClientFactory, + 'filesystem' => $filesystem, + 'storeManager' => $storeManager, + 'data' => array('id' => 'dhlint', 'store' => '1') + ); + $this->_model = $this->_helper->getObject('Magento\Usa\Model\Shipping\Carrier\Dhl\International', $arguments); + } + + /** + * Callback function, emulates getConfig function + * @param $path + * @return null|string + */ + public function coreStoreConfigGetConfig($path) + { + $pathMap = array( + 'carriers/dhlint/shipment_days' => 'Mon,Tue,Wed,Thu,Fri,Sat', + 'carriers/dhlint/intl_shipment_days' => 'Mon,Tue,Wed,Thu,Fri,Sat', + 'carriers/dhlint/allowed_methods' => 'IE', + 'carriers/dhlint/international_searvice' => 'IE', + 'carriers/dhlint/gateway_url' => 'https://xmlpi-ea.dhl.com/XMLShippingServlet', + 'carriers/dhlint/id' => 'some ID', + 'carriers/dhlint/password' => 'some password', + 'carriers/dhlint/content_type' => 'N', + 'carriers/dhlint/nondoc_methods' => '1,3,4,8,P,Q,E,F,H,J,M,V,Y' + ); + return (isset($pathMap[$path])) ? $pathMap[$path] : null; } public function testPrepareShippingLabelContent() @@ -92,4 +211,15 @@ class InternationalTest extends \PHPUnit_Framework_TestCase $method->setAccessible(true); return $method->invoke($model, $xml); } + + public function testCollectRates() + { + $this->_httpResponse->expects($this->any()) + ->method('getBody') + ->will($this->returnValue(file_get_contents(__DIR__ . '/_files/success_dhlintl_response_rates.xml'))); + // for setRequest + $request_params = include __DIR__ . '/_files/rates_request_data_dhlintl.php'; + $request = $this->_helper->getObject('Magento\Shipping\Model\Rate\Request', $request_params); + $this->assertNotEmpty($this->_model->collectRates($request)->getAllRates()); + } } diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/countries.xml b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/countries.xml new file mode 100644 index 0000000000000000000000000000000000000000..e61bc3236759e2e34e16308d6b685b8093d10526 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/countries.xml @@ -0,0 +1,1578 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> +<countries> + <AD> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Andorra</name> + </AD> + <AE> + <currency>AED</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>United Arab Emirates</name> + </AE> + <AF> + <currency>AFN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Afghanistan</name> + </AF> + <AG> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Antigua</name> + </AG> + <AI> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Anguilla</name> + </AI> + <AL> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Albania</name> + </AL> + <AM> + <currency>AMD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Armenia</name> + </AM> + <AN> + <currency>ANG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Netherlands Antilles</name> + </AN> + <AO> + <currency>AOA</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Angola</name> + </AO> + <AR> + <currency>ARS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Argentina</name> + </AR> + <AS> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <name>American Samoa</name> + </AS> + <AT> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Austria</name> + <domestic>1</domestic> + </AT> + <AU> + <currency>AUD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Australia</name> + </AU> + <AW> + <currency>AWG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Aruba</name> + </AW> + <AZ> + <currency>AZM</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Azerbaijan</name> + </AZ> + <BA> + <currency>BAM</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Bosnia and Herzegovina</name> + </BA> + <BB> + <currency>BBD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Barbados</name> + </BB> + <BD> + <currency>BDT</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Bangladesh</name> + </BD> + <BE> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Belgium</name> + <domestic>1</domestic> + </BE> + <BF> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Burkina Faso</name> + </BF> + <BG> + <currency>BGN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Bulgaria</name> + <domestic>1</domestic> + </BG> + <BH> + <currency>BHD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Bahrain</name> + </BH> + <BI> + <currency>BIF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Burundi</name> + </BI> + <BJ> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Benin</name> + </BJ> + <BM> + <currency>BMD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Bermuda</name> + </BM> + <BN> + <currency>BND</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Brunei</name> + </BN> + <BO> + <currency>BOB</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Bolivia</name> + </BO> + <BR> + <currency>BRL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Brazil</name> + </BR> + <BS> + <currency>BSD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Bahamas</name> + </BS> + <BT> + <currency>BTN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Bhutan</name> + </BT> + <BW> + <currency>BWP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Botswana</name> + </BW> + <BY> + <currency>BYR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Belarus</name> + </BY> + <BZ> + <currency>BZD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Belize</name> + </BZ> + <CA> + <currency>CAD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Canada</name> + </CA> + <CD> + <currency>CDF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Congo, The Democratic Republic of</name> + </CD> + <CF> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Central African Republic</name> + </CF> + <CG> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Congo</name> + </CG> + <CH> + <currency>CHF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Switzerland</name> + </CH> + <CI> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Cote d'Ivoire</name> + </CI> + <CK> + <currency>NZD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Cook Islands</name> + </CK> + <CL> + <currency>CLP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Chile</name> + </CL> + <CM> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Cameroon</name> + </CM> + <CN> + <currency>CNY</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>China, People's Republic</name> + </CN> + <CO> + <currency>COP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Colombia</name> + </CO> + <CR> + <currency>CRC</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Costa Rica</name> + </CR> + <CU> + <currency>CUP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Cuba</name> + </CU> + <CV> + <currency>CVE</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Cape Verde</name> + </CV> + <CY> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Cyprus</name> + <domestic>1</domestic> + </CY> + <CZ> + <currency>CZK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Czech Republic, The</name> + <domestic>1</domestic> + </CZ> + <DE> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Germany</name> + <domestic>1</domestic> + </DE> + <DJ> + <currency>DJF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Djibouti</name> + </DJ> + <DK> + <currency>DKK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Denmark</name> + <domestic>1</domestic> + </DK> + <DM> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Dominica</name> + </DM> + <DO> + <currency>DOP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Dominican Rep.</name> + </DO> + <DZ> + <currency>DZD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Algeria</name> + </DZ> + <EC> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Ecuador</name> + </EC> + <EE> + <currency>EEK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Estonia</name> + <domestic>1</domestic> + </EE> + <EG> + <currency>EGP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Egypt</name> + </EG> + <ER> + <currency>ERN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Eritrea</name> + </ER> + <ES> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Spain</name> + <domestic>1</domestic> + </ES> + <ET> + <currency>ETB</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Ethiopia</name> + </ET> + <FI> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Finland</name> + <domestic>1</domestic> + </FI> + <FJ> + <currency>FJD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Fiji</name> + </FJ> + <FK> + <currency>FKP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Falkland Islands</name> + </FK> + <FM> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <name>MICRONESIA, FEDERATED STATES OF</name> + </FM> + <FO> + <currency>DKK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Faroe Islands</name> + </FO> + <FR> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>France</name> + <domestic>1</domestic> + </FR> + <GA> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Gabon</name> + </GA> + <GB> + <currency>GBP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>United Kingdom</name> + <domestic>1</domestic> + </GB> + <GD> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Grenada</name> + </GD> + <GE> + <currency>GEL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Georgia</name> + </GE> + <GF> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>French Guyana</name> + </GF> + <GG> + <currency>GBP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Guernsey</name> + </GG> + <GH> + <currency>GHS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Ghana</name> + </GH> + <GI> + <currency>GIP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Gibraltar</name> + </GI> + <GL> + <currency>DKK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Greenland</name> + </GL> + <GM> + <currency>GMD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Gambia</name> + </GM> + <GN> + <currency>GNF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Guinea Republic</name> + </GN> + <GP> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Guadeloupe</name> + </GP> + <GQ> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Guinea-Equatorial</name> + </GQ> + <GR> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Greece</name> + <domestic>1</domestic> + </GR> + <GT> + <currency>GTQ</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Guatemala</name> + </GT> + <GU> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <region>AM</region> + <name>Guam</name> + </GU> + <GW> + <currency>GWP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Guinea-Bissau</name> + </GW> + <GY> + <currency>GYD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Guyana (British)</name> + </GY> + <HK> + <currency>HKD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Hong Kong</name> + </HK> + <HN> + <currency>HNL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Honduras</name> + </HN> + <HR> + <currency>HRK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Croatia</name> + </HR> + <HT> + <currency>HTG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Haiti</name> + </HT> + <HU> + <currency>HUF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Hungary</name> + <domestic>1</domestic> + </HU> + <IC> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Canary Islands, The</name> + </IC> + <ID> + <currency>IDR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Indonesia</name> + </ID> + <IE> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Ireland, Republic Of</name> + <domestic>1</domestic> + </IE> + <IL> + <currency>ILS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Israel</name> + </IL> + <IN> + <currency>INR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>India</name> + </IN> + <IQ> + <currency>IQD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Iraq</name> + </IQ> + <IR> + <currency>IRR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Iran (Islamic Republic of)</name> + </IR> + <IS> + <currency>ISK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Iceland</name> + </IS> + <IT> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Italy</name> + <domestic>1</domestic> + </IT> + <JE> + <currency>GBP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Jersey</name> + </JE> + <JM> + <currency>JMD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Jamaica</name> + </JM> + <JO> + <currency>JOD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Jordan</name> + </JO> + <JP> + <currency>JPY</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Japan</name> + </JP> + <KE> + <currency>KES</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Kenya</name> + </KE> + <KG> + <currency>KGS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Kyrgyzstan</name> + </KG> + <KH> + <currency>KHR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Cambodia</name> + </KH> + <KI> + <currency>AUD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Kiribati</name> + </KI> + <KM> + <currency>KMF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Comoros</name> + </KM> + <KN> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>St. Kitts</name> + </KN> + <KP> + <currency>KPW</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Korea, The D.P.R of</name> + </KP> + <KR> + <currency>KRW</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Korea, Republic Of</name> + </KR> + <KV> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Kosovo</name> + </KV> + <KW> + <currency>KWD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Kuwait</name> + </KW> + <KY> + <currency>KYD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Cayman Islands</name> + </KY> + <KZ> + <currency>KZT</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Kazakhstan</name> + </KZ> + <LA> + <currency>LAK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Lao People's Democratic Republic</name> + </LA> + <LB> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Lebanon</name> + </LB> + <LC> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>St. Lucia</name> + </LC> + <LI> + <currency>CHF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Liechtenstein</name> + </LI> + <LK> + <currency>LKR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Sri Lanka</name> + </LK> + <LR> + <currency>LRD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Liberia</name> + </LR> + <LS> + <currency>LSL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Lesotho</name> + </LS> + <LT> + <currency>LTL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Lithuania</name> + <domestic>1</domestic> + </LT> + <LU> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Luxembourg</name> + <domestic>1</domestic> + </LU> + <LV> + <currency>LVL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Latvia</name> + <domestic>1</domestic> + </LV> + <LY> + <currency>LYD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Libya</name> + </LY> + <MA> + <currency>MAD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Morocco</name> + </MA> + <MC> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Monaco</name> + </MC> + <MD> + <currency>MDL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Moldova, Republic Of</name> + </MD> + <ME> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Montenegro, Republic of</name> + </ME> + <MG> + <currency>MGA</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Madagascar</name> + </MG> + <MH> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <name>Marshall Islands</name> + </MH> + <MK> + <currency>MKD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Macedonia, Rep. of (FYROM)</name> + </MK> + <ML> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Mali</name> + </ML> + <MM> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Myanmar</name> + </MM> + <MN> + <currency>MNT</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Mongolia</name> + </MN> + <MO> + <currency>MOP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Macau</name> + </MO> + <MP> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <name>Saipan</name> + </MP> + <MQ> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Martinique</name> + </MQ> + <MR> + <currency>MRO</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Mauritania</name> + </MR> + <MS> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Montserrat</name> + </MS> + <MT> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Malta</name> + <domestic>1</domestic> + </MT> + <MU> + <currency>MUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Mauritius</name> + </MU> + <MV> + <currency>MVR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Maldives</name> + </MV> + <MW> + <currency>MWK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Malawi</name> + </MW> + <MX> + <currency>MXN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Mexico</name> + </MX> + <MY> + <currency>MYR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Malaysia</name> + </MY> + <MZ> + <currency>MZN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Mozambique</name> + </MZ> + <NA> + <currency>ZAR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Namibia</name> + </NA> + <NC> + <currency>XPF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>New Caledonia</name> + </NC> + <NE> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Niger</name> + </NE> + <NG> + <currency>NGN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Nigeria</name> + </NG> + <NI> + <currency>NIO</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Nicaragua</name> + </NI> + <NL> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Netherlands, The</name> + <domestic>1</domestic> + </NL> + <NO> + <currency>NOK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Norway</name> + </NO> + <NP> + <currency>NPR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Nepal</name> + </NP> + <NR> + <currency>AUD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Nauru, Republic Of</name> + </NR> + <NU> + <currency>NZD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Niue</name> + </NU> + <NZ> + <currency>NZD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>New Zealand</name> + </NZ> + <OM> + <currency>OMR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Oman</name> + </OM> + <PA> + <currency>PAB</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Panama</name> + </PA> + <PE> + <currency>PEN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Peru</name> + </PE> + <PF> + <currency>XPF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Tahiti</name> + </PF> + <PG> + <currency>PGK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Papua New Guinea</name> + </PG> + <PH> + <currency>PHP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Philippines, The</name> + </PH> + <PK> + <currency>PKR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Pakistan</name> + </PK> + <PL> + <currency>PLN</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Poland</name> + <domestic>1</domestic> + </PL> + <PR> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <region>AM</region> + <name>Puerto Rico</name> + </PR> + <PT> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Portugal</name> + <domestic>1</domestic> + </PT> + <PW> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Palau</name> + </PW> + <PY> + <currency>PYG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Paraguay</name> + </PY> + <QA> + <currency>QAR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Qatar</name> + </QA> + <RE> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Reunion, Island Of</name> + </RE> + <RO> + <currency>RON</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Romania</name> + <domestic>1</domestic> + </RO> + <RS> + <currency>RSD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Serbia, Republic of</name> + </RS> + <RU> + <currency>RUB</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Russian Federation, The</name> + </RU> + <RW> + <currency>RWF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Rwanda</name> + </RW> + <SA> + <currency>SAR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Saudi Arabia</name> + </SA> + <SB> + <currency>SBD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Solomon Islands</name> + </SB> + <SC> + <currency>SCR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Seychelles</name> + </SC> + <SD> + <currency>SDG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Sudan</name> + </SD> + <SE> + <currency>SEK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Sweden</name> + <domestic>1</domestic> + </SE> + <SG> + <currency>SGD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Singapore</name> + </SG> + <SI> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Slovenia</name> + <domestic>1</domestic> + </SI> + <SK> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>EA</region> + <name>Slovakia</name> + <domestic>1</domestic> + </SK> + <SL> + <currency>SLL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Sierra Leone</name> + </SL> + <SM> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>San Marino</name> + </SM> + <SN> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Senegal</name> + </SN> + <SO> + <currency>SOS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Somalia</name> + </SO> + <SR> + <currency>SRD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Suriname</name> + </SR> + <ST> + <currency>STD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Sao Tome and Principe</name> + </ST> + <SV> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>El Salvador</name> + </SV> + <SY> + <currency>SYP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Syria</name> + </SY> + <SZ> + <currency>SZL</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Swaziland</name> + </SZ> + <TC> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Turks and Caicos Islands</name> + </TC> + <TD> + <currency>XAF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Chad</name> + </TD> + <TG> + <currency>XOF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Togo</name> + </TG> + <TH> + <currency>THB</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Thailand</name> + </TH> + <TJ> + <currency>TJS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Tajikistan</name> + </TJ> + <TL> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>East Timor</name> + </TL> + <TN> + <currency>TND</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Tunisia</name> + </TN> + <TO> + <currency>TOP</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Tonga</name> + </TO> + <TR> + <currency>TRY</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Turkey</name> + </TR> + <TT> + <currency>TTD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Trinidad and Tobago</name> + </TT> + <TV> + <currency>AUD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Tuvalu</name> + </TV> + <TW> + <currency>TWD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Taiwan</name> + </TW> + <TZ> + <currency>TZS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Tanzania</name> + </TZ> + <UA> + <currency>UAH</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Ukraine</name> + </UA> + <UG> + <currency>UGX</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Uganda</name> + </UG> + <US> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <region>AM</region> + <name>United States Of America</name> + </US> + <UY> + <currency>UYU</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Uruguay</name> + </UY> + <UZ> + <currency>UZS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Uzbekistan</name> + </UZ> + <VC> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>St. Vincent</name> + </VC> + <VE> + <currency>VEF</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Venezuela</name> + </VE> + <VG> + <currency>USD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Virgin Islands (British)</name> + </VG> + <VI> + <currency>USD</currency> + <weight_unit>LB</weight_unit> + <measure_unit>IN</measure_unit> + <name>Virgin Islands (US)</name> + </VI> + <VN> + <currency>VND</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Vietnam</name> + </VN> + <VU> + <currency>VUV</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Vanuatu</name> + </VU> + <WS> + <currency>WST</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Samoa</name> + </WS> + <XB> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Bonaire</name> + </XB> + <XC> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Curacao</name> + </XC> + <XE> + <currency>ANG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>St. Eustatius</name> + </XE> + <XM> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>St. Maarten</name> + </XM> + <XN> + <currency>XCD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>Nevis</name> + </XN> + <XS> + <currency>SIS</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Somaliland, Rep of (North Somalia)</name> + </XS> + <XY> + <currency>ANG</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AM</region> + <name>St. Barthelemy</name> + </XY> + <YE> + <currency>YER</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>Yemen, Republic of</name> + </YE> + <YT> + <currency>EUR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Mayotte</name> + </YT> + <ZA> + <currency>ZAR</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <region>AP</region> + <name>South Africa</name> + </ZA> + <ZM> + <currency>ZMK</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Zambia</name> + </ZM> + <ZW> + <currency>ZWD</currency> + <weight_unit>KG</weight_unit> + <measure_unit>CM</measure_unit> + <name>Zimbabwe</name> + </ZW> +</countries> \ No newline at end of file diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/rates_request_data_dhlintl.php b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/rates_request_data_dhlintl.php new file mode 100644 index 0000000000000000000000000000000000000000..2c1c4ffb32d15c3e22e0d126b875544db28e3305 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/rates_request_data_dhlintl.php @@ -0,0 +1,67 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +return array( + 'data' => array( + 'dest_country_id' => 'DE', + 'dest_region_id' => '82', + 'dest_region_code' => 'BER', + 'dest_street' => 'Turmstraße 17', + 'dest_city' => 'Berlin', + 'dest_postcode' => '10559', + 'dest_postal' => '10559', + 'package_value' => '5', + 'package_value_with_discount' => '5', + 'package_weight' => '5', + 'package_qty' => '1', + 'package_physical_value' => '5', + 'free_method_weight' => '5', + 'store_id' => '1', + 'website_id' => '1', + 'free_shipping' => '0', + 'limit_carrier' => null, + 'base_subtotal_incl_tax' => '5', + 'orig_country_id' => 'US', + 'country_id' => 'US', + 'region_id' => '12', + 'city'=> 'Fremont', + 'postcode' => '94538', + 'dhl_id' => 'MAGEN_8501', + 'dhl_password' => 'QR2GO1U74X', + 'dhl_account' => '799909537', + 'dhl_shipping_intl_key' => '54233F2B2C4E5C4B4C5E5A59565530554B405641475D5659', + 'girth' => null, + 'height' => null, + 'length' => null, + 'width' => null, + 'weight' => 1, + 'dhl_shipment_type' => 'P', + 'dhl_duitable' => 0, + 'dhl_duty_payment_type' => 'R', + 'dhl_content_desc' => 'Big Box', + 'limit_method' => 'IE', + 'ship_date' => '2014-01-09', + 'action' => 'RateEstimate', + 'all_items' => array() + ) +); \ No newline at end of file diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/success_dhlintl_response_rates.xml b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/success_dhlintl_response_rates.xml new file mode 100644 index 0000000000000000000000000000000000000000..67923cf583e1cad292bf9a99fe922b6bd2ca299c --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/Dhl/_files/success_dhlintl_response_rates.xml @@ -0,0 +1,496 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> + +<res:DCTResponse xmlns:res="http://www.dhl.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.dhl.com DCT-Response.xsd"> + <GetQuoteResponse> + <Response> + <ServiceHeader> + <MessageTime>2014-01-09T12:13:29.498+00:00</MessageTime> + <SiteID>EvgeniyUSA</SiteID> + </ServiceHeader> + </Response> + <BkgDetails> + <OriginServiceArea> + <FacilityCode>NUQ</FacilityCode> + <ServiceAreaCode>NUQ</ServiceAreaCode> + </OriginServiceArea> + <DestinationServiceArea> + <FacilityCode>BER</FacilityCode> + <ServiceAreaCode>BER</ServiceAreaCode> + </DestinationServiceArea> + <QtdShp> + <GlobalProductCode>E</GlobalProductCode> + <LocalProductCode>E</LocalProductCode> + <ProductShortName>EXPRESS 9:00</ProductShortName> + <LocalProductName>EXPRESS 9:00 NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + <PickupDate>2014-01-09</PickupDate> + <PickupCutoffTime>PT16H15M</PickupCutoffTime> + <BookingTime>PT15H15M</BookingTime> + <CurrencyCode>USD</CurrencyCode> + <ExchangeRate>1.000000</ExchangeRate> + <WeightCharge>42.060</WeightCharge> + <WeightChargeTax>0.000</WeightChargeTax> + <TotalTransitDays>2</TotalTransitDays> + <PickupPostalLocAddDays>0</PickupPostalLocAddDays> + <DeliveryPostalLocAddDays>0</DeliveryPostalLocAddDays> + <PickupNonDHLCourierCode /> + <DeliveryNonDHLCourierCode /> + <DeliveryDate>2014-01-13</DeliveryDate> + <DeliveryTime>PT9H</DeliveryTime> + <DimensionalWeight>2.205</DimensionalWeight> + <WeightUnit>LB</WeightUnit> + <PickupDayOfWeekNum>4</PickupDayOfWeekNum> + <DestinationDayOfWeekNum>1</DestinationDayOfWeekNum> + <QtdShpExChrg> + <SpecialServiceType>FF</SpecialServiceType> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <CurrencyCode>USD</CurrencyCode> + <ChargeValue>3.790</ChargeValue> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.790</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.790</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.790</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + </QtdShpExChrg> + <PricingDate>2014-01-09</PricingDate> + <ShippingCharge>45.850</ShippingCharge> + <TotalTaxAmount>0.000</TotalTaxAmount> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + <WeightCharge>42.060</WeightCharge> + <TotalAmount>45.850</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + <WeightCharge>42.060</WeightCharge> + <TotalAmount>45.850</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + <WeightCharge>42.060</WeightCharge> + <TotalAmount>45.850</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + </QtdShp> + <QtdShp> + <GlobalProductCode>Q</GlobalProductCode> + <LocalProductCode>Q</LocalProductCode> + <ProductShortName>MEDICAL EXPRESS</ProductShortName> + <LocalProductName>MEDICAL EXPRESS</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>Y</POfferedCustAgreement> + <TransInd>N</TransInd> + <PickupDate>2014-01-09</PickupDate> + <PickupCutoffTime>PT16H15M</PickupCutoffTime> + <BookingTime>PT15H15M</BookingTime> + <CurrencyCode>USD</CurrencyCode> + <ExchangeRate>1.000000</ExchangeRate> + <WeightCharge>32.350</WeightCharge> + <WeightChargeTax>0.000</WeightChargeTax> + <TotalTransitDays>2</TotalTransitDays> + <PickupPostalLocAddDays>0</PickupPostalLocAddDays> + <DeliveryPostalLocAddDays>0</DeliveryPostalLocAddDays> + <PickupNonDHLCourierCode /> + <DeliveryNonDHLCourierCode /> + <DeliveryDate>2014-01-13</DeliveryDate> + <DeliveryTime>PT9H</DeliveryTime> + <DimensionalWeight>2.205</DimensionalWeight> + <WeightUnit>LB</WeightUnit> + <PickupDayOfWeekNum>4</PickupDayOfWeekNum> + <DestinationDayOfWeekNum>1</DestinationDayOfWeekNum> + <QtdShpExChrg> + <SpecialServiceType>FF</SpecialServiceType> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <CurrencyCode>USD</CurrencyCode> + <ChargeValue>2.910</ChargeValue> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + </QtdShpExChrg> + <PricingDate>2014-01-09</PricingDate> + <ShippingCharge>35.260</ShippingCharge> + <TotalTaxAmount>0.000</TotalTaxAmount> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + </QtdShp> + <QtdShp> + <GlobalProductCode>Y</GlobalProductCode> + <LocalProductCode>Y</LocalProductCode> + <ProductShortName>EXPRESS 12:00</ProductShortName> + <LocalProductName>EXPRESS 12:00 NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + <PickupDate>2014-01-09</PickupDate> + <PickupCutoffTime>PT16H15M</PickupCutoffTime> + <BookingTime>PT15H15M</BookingTime> + <CurrencyCode>USD</CurrencyCode> + <ExchangeRate>1.000000</ExchangeRate> + <WeightCharge>34.290</WeightCharge> + <WeightChargeTax>0.000</WeightChargeTax> + <TotalTransitDays>2</TotalTransitDays> + <PickupPostalLocAddDays>0</PickupPostalLocAddDays> + <DeliveryPostalLocAddDays>0</DeliveryPostalLocAddDays> + <PickupNonDHLCourierCode /> + <DeliveryNonDHLCourierCode /> + <DeliveryDate>2014-01-13</DeliveryDate> + <DeliveryTime>PT12H</DeliveryTime> + <DimensionalWeight>2.205</DimensionalWeight> + <WeightUnit>LB</WeightUnit> + <PickupDayOfWeekNum>4</PickupDayOfWeekNum> + <DestinationDayOfWeekNum>1</DestinationDayOfWeekNum> + <QtdShpExChrg> + <SpecialServiceType>FF</SpecialServiceType> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <CurrencyCode>USD</CurrencyCode> + <ChargeValue>3.090</ChargeValue> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.090</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.090</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>3.090</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + </QtdShpExChrg> + <PricingDate>2014-01-09</PricingDate> + <ShippingCharge>37.380</ShippingCharge> + <TotalTaxAmount>0.000</TotalTaxAmount> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + <WeightCharge>34.290</WeightCharge> + <TotalAmount>37.380</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + <WeightCharge>34.290</WeightCharge> + <TotalAmount>37.380</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + <WeightCharge>34.290</WeightCharge> + <TotalAmount>37.380</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + </QtdShp> + <QtdShp> + <GlobalProductCode>3</GlobalProductCode> + <LocalProductCode>3</LocalProductCode> + <ProductShortName>B2C</ProductShortName> + <LocalProductName>EXPRESS WORLDWIDE (B2C)</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>Y</POfferedCustAgreement> + <TransInd>N</TransInd> + <PickupDate>2014-01-09</PickupDate> + <PickupCutoffTime>PT16H15M</PickupCutoffTime> + <BookingTime>PT15H15M</BookingTime> + <ExchangeRate>1.000000</ExchangeRate> + <WeightCharge>0</WeightCharge> + <WeightChargeTax>0.000</WeightChargeTax> + <TotalTransitDays>2</TotalTransitDays> + <PickupPostalLocAddDays>0</PickupPostalLocAddDays> + <DeliveryPostalLocAddDays>0</DeliveryPostalLocAddDays> + <PickupNonDHLCourierCode /> + <DeliveryNonDHLCourierCode /> + <DeliveryDate>2014-01-13</DeliveryDate> + <DeliveryTime>PT23H59M</DeliveryTime> + <DimensionalWeight>2.205</DimensionalWeight> + <WeightUnit>LB</WeightUnit> + <PickupDayOfWeekNum>4</PickupDayOfWeekNum> + <DestinationDayOfWeekNum>1</DestinationDayOfWeekNum> + <PricingDate>2014-01-09</PricingDate> + <ShippingCharge>0.000</ShippingCharge> + <TotalTaxAmount>0.000</TotalTaxAmount> + <QtdSInAdCur> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + <WeightCharge>0</WeightCharge> + <TotalAmount>0.000</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + <WeightCharge>0</WeightCharge> + <TotalAmount>0.000</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + <WeightCharge>0</WeightCharge> + <TotalAmount>0.000</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + </QtdShp> + <QtdShp> + <GlobalProductCode>P</GlobalProductCode> + <LocalProductCode>P</LocalProductCode> + <ProductShortName>EXPRESS WORLDWIDE</ProductShortName> + <LocalProductName>EXPRESS WORLDWIDE NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + <PickupDate>2014-01-09</PickupDate> + <PickupCutoffTime>PT16H15M</PickupCutoffTime> + <BookingTime>PT15H15M</BookingTime> + <CurrencyCode>USD</CurrencyCode> + <ExchangeRate>1.000000</ExchangeRate> + <WeightCharge>32.350</WeightCharge> + <WeightChargeTax>0.000</WeightChargeTax> + <TotalTransitDays>2</TotalTransitDays> + <PickupPostalLocAddDays>0</PickupPostalLocAddDays> + <DeliveryPostalLocAddDays>0</DeliveryPostalLocAddDays> + <PickupNonDHLCourierCode /> + <DeliveryNonDHLCourierCode /> + <DeliveryDate>2014-01-13</DeliveryDate> + <DeliveryTime>PT23H59M</DeliveryTime> + <DimensionalWeight>2.205</DimensionalWeight> + <WeightUnit>LB</WeightUnit> + <PickupDayOfWeekNum>4</PickupDayOfWeekNum> + <DestinationDayOfWeekNum>1</DestinationDayOfWeekNum> + <QtdShpExChrg> + <SpecialServiceType>FF</SpecialServiceType> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <CurrencyCode>USD</CurrencyCode> + <ChargeValue>2.910</ChargeValue> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + <QtdSExtrChrgInAdCur> + <ChargeValue>2.910</ChargeValue> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + </QtdSExtrChrgInAdCur> + </QtdShpExChrg> + <PricingDate>2014-01-09</PricingDate> + <ShippingCharge>35.260</ShippingCharge> + <TotalTaxAmount>0.000</TotalTaxAmount> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BILLC</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>PULCL</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + <QtdSInAdCur> + <CurrencyCode>USD</CurrencyCode> + <CurrencyRoleTypeCode>BASEC</CurrencyRoleTypeCode> + <WeightCharge>32.350</WeightCharge> + <TotalAmount>35.260</TotalAmount> + <TotalTaxAmount>0.000</TotalTaxAmount> + <WeightChargeTax>0.000</WeightChargeTax> + </QtdSInAdCur> + </QtdShp> + </BkgDetails> + <Srvs> + <Srv> + <GlobalProductCode>E</GlobalProductCode> + <MrkSrv> + <LocalProductCode>E</LocalProductCode> + <ProductShortName>EXPRESS 9:00</ProductShortName> + <LocalProductName>EXPRESS 9:00 NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + </MrkSrv> + <MrkSrv> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <MrkSrvInd>N</MrkSrvInd> + </MrkSrv> + </Srv> + <Srv> + <GlobalProductCode>Q</GlobalProductCode> + <MrkSrv> + <LocalProductCode>Q</LocalProductCode> + <ProductShortName>MEDICAL EXPRESS</ProductShortName> + <LocalProductName>MEDICAL EXPRESS</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>Y</POfferedCustAgreement> + <TransInd>N</TransInd> + </MrkSrv> + <MrkSrv> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <MrkSrvInd>N</MrkSrvInd> + </MrkSrv> + </Srv> + <Srv> + <GlobalProductCode>Y</GlobalProductCode> + <MrkSrv> + <LocalProductCode>Y</LocalProductCode> + <ProductShortName>EXPRESS 12:00</ProductShortName> + <LocalProductName>EXPRESS 12:00 NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + </MrkSrv> + <MrkSrv> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <MrkSrvInd>N</MrkSrvInd> + </MrkSrv> + </Srv> + <Srv> + <GlobalProductCode>3</GlobalProductCode> + <MrkSrv> + <LocalProductCode>3</LocalProductCode> + <ProductShortName>B2C</ProductShortName> + <LocalProductName>EXPRESS WORLDWIDE (B2C)</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>Y</POfferedCustAgreement> + <TransInd>N</TransInd> + </MrkSrv> + </Srv> + <Srv> + <GlobalProductCode>P</GlobalProductCode> + <MrkSrv> + <LocalProductCode>P</LocalProductCode> + <ProductShortName>EXPRESS WORLDWIDE</ProductShortName> + <LocalProductName>EXPRESS WORLDWIDE NONDOC</LocalProductName> + <NetworkTypeCode>TD</NetworkTypeCode> + <POfferedCustAgreement>N</POfferedCustAgreement> + <TransInd>Y</TransInd> + </MrkSrv> + <MrkSrv> + <LocalServiceType>FF</LocalServiceType> + <GlobalServiceName>FUEL SURCHARGE</GlobalServiceName> + <LocalServiceTypeName>FUEL SURCHARGE</LocalServiceTypeName> + <ChargeCodeType>SCH</ChargeCodeType> + <MrkSrvInd>N</MrkSrvInd> + </MrkSrv> + </Srv> + </Srvs> + </GetQuoteResponse> +</res:DCTResponse> \ No newline at end of file diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/DhlTest.php b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/DhlTest.php new file mode 100644 index 0000000000000000000000000000000000000000..e2dd6bd9ee94137924fe296c15cb0878cd0aea50 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/DhlTest.php @@ -0,0 +1,179 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @category Magento + * @package Magento_Usa + * @subpackage unit_tests + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +namespace Magento\Usa\Model\Shipping\Carrier; + + +class DhlTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\TestFramework\Helper\ObjectManager + */ + protected $_helper; + + /** + * @var \PHPUnit_Framework_MockObject_MockObject + */ + protected $_httpResponse; + + /** + * @var \Magento\Usa\Model\Shipping\Carrier\Dhl + */ + protected $_model; + + public function setUp() + { + $this->_helper = new \Magento\TestFramework\Helper\ObjectManager($this); + + $coreStoreConfig = $this->getMockBuilder('\Magento\Core\Model\Store\Config') + ->setMethods(array('getConfigFlag', 'getConfig')) + ->disableOriginalConstructor() + ->getMock(); + $coreStoreConfig->expects($this->any()) + ->method('getConfigFlag') + ->will($this->returnValue(true)); + $coreStoreConfig->expects($this->any()) + ->method('getConfig') + ->will($this->returnCallback(array($this, 'coreStoreConfigGetConfig'))); + + // xml element factory + $xmlElFactory = $this->getMockBuilder('\Magento\Usa\Model\Simplexml\ElementFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $xmlElFactory->expects($this->any()) + ->method('create') + ->will( + $this->returnCallback( + function ($data) { + $oM = new \Magento\TestFramework\Helper\ObjectManager($this); + return $oM->getObject('\Magento\Usa\Model\Simplexml\Element', array('data' => $data['data'])); + } + ) + ); + + // rate factory + $rateFactory = $this->getMockBuilder('\Magento\Shipping\Model\Rate\ResultFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $rateResult = $this->getMockBuilder('\Magento\Shipping\Model\Rate\Result') + ->disableOriginalConstructor() + ->setMethods(null) + ->getMock(); + $rateFactory->expects($this->any()) + ->method('create') + ->will($this->returnValue($rateResult)); + + // rate method factory + $rateMethodFactory = $this->getMockBuilder('\Magento\Shipping\Model\Rate\Result\MethodFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $rateMethod = $this->getMockBuilder('Magento\Shipping\Model\Rate\Result\Method') + ->disableOriginalConstructor() + ->setMethods(array('setPrice')) + ->getMock(); + $rateMethod->expects($this->any()) + ->method('setPrice') + ->will($this->returnSelf()); + + $rateMethodFactory->expects($this->any()) + ->method('create') + ->will($this->returnValue($rateMethod)); + + // http client + $this->_httpResponse = $this->getMockBuilder('\Zend_Http_Response') + ->disableOriginalConstructor() + ->setMethods(array('getBody')) + ->getMock(); + + $httpClient = $this->getMockBuilder('\Zend_Http_Client') + ->disableOriginalConstructor() + ->setMethods(array('request')) + ->getMock(); + $httpClient->expects($this->any()) + ->method('request') + ->will($this->returnValue($this->_httpResponse)); + + $httpClientFactory = $this->getMockBuilder('\Zend_Http_ClientFactory') + ->disableOriginalConstructor() + ->setMethods(array('create')) + ->getMock(); + $httpClientFactory->expects($this->any()) + ->method('create') + ->will($this->returnValue($httpClient)); + + $data = array( + 'id' => 'dhl', + 'store' => '1' + ); + + $arguments = array( + 'coreStoreConfig' => $coreStoreConfig, + 'xmlElFactory' => $xmlElFactory, + 'rateFactory' => $rateFactory, + 'rateMethodFactory' => $rateMethodFactory, + 'httpClientFactory' => $httpClientFactory, + 'data' => $data + ); + + $this->_model = $this->_helper->getObject('Magento\Usa\Model\Shipping\Carrier\Dhl', $arguments); + } + + /** + * Callback function, emulates getConfig function + * @param $path + * @return null|string + */ + public function coreStoreConfigGetConfig($path) + { + switch ($path) { + case 'carriers/dhl/shipment_days': + case 'carriers/dhl/intl_shipment_days': + return 'Mon,Tue,Wed,Thu,Fri,Sat'; + case 'carriers/dhl/allowed_methods': + return 'IE'; + case 'carriers/dhl/international_searvice': + return 'IE'; + default: + return null; + } + } + + public function testCollectRates() + { + $this->_httpResponse->expects($this->any()) + ->method('getBody') + ->will($this->returnValue(file_get_contents(__DIR__ . '/_files/success_dhl_response_rates.xml'))); + // for setRequest + $request_params = include __DIR__ . '/_files/rates_request_data_dhl.php'; + $request = $this->_helper->getObject('Magento\Shipping\Model\Rate\Request', $request_params); + + $this->assertNotEmpty($this->_model->collectRates($request)->getAllRates()); + } +} diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/rates_request_data_dhl.php b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/rates_request_data_dhl.php new file mode 100644 index 0000000000000000000000000000000000000000..2c1c4ffb32d15c3e22e0d126b875544db28e3305 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/rates_request_data_dhl.php @@ -0,0 +1,67 @@ +<?php +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +return array( + 'data' => array( + 'dest_country_id' => 'DE', + 'dest_region_id' => '82', + 'dest_region_code' => 'BER', + 'dest_street' => 'Turmstraße 17', + 'dest_city' => 'Berlin', + 'dest_postcode' => '10559', + 'dest_postal' => '10559', + 'package_value' => '5', + 'package_value_with_discount' => '5', + 'package_weight' => '5', + 'package_qty' => '1', + 'package_physical_value' => '5', + 'free_method_weight' => '5', + 'store_id' => '1', + 'website_id' => '1', + 'free_shipping' => '0', + 'limit_carrier' => null, + 'base_subtotal_incl_tax' => '5', + 'orig_country_id' => 'US', + 'country_id' => 'US', + 'region_id' => '12', + 'city'=> 'Fremont', + 'postcode' => '94538', + 'dhl_id' => 'MAGEN_8501', + 'dhl_password' => 'QR2GO1U74X', + 'dhl_account' => '799909537', + 'dhl_shipping_intl_key' => '54233F2B2C4E5C4B4C5E5A59565530554B405641475D5659', + 'girth' => null, + 'height' => null, + 'length' => null, + 'width' => null, + 'weight' => 1, + 'dhl_shipment_type' => 'P', + 'dhl_duitable' => 0, + 'dhl_duty_payment_type' => 'R', + 'dhl_content_desc' => 'Big Box', + 'limit_method' => 'IE', + 'ship_date' => '2014-01-09', + 'action' => 'RateEstimate', + 'all_items' => array() + ) +); \ No newline at end of file diff --git a/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/success_dhl_response_rates.xml b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/success_dhl_response_rates.xml new file mode 100644 index 0000000000000000000000000000000000000000..4cdd62bcfe156b8470bfa037f8cc404b1b571069 --- /dev/null +++ b/dev/tests/unit/testsuite/Magento/Usa/Model/Shipping/Carrier/_files/success_dhl_response_rates.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Magento + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE_AFL.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@magentocommerce.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade Magento to newer + * versions in the future. If you wish to customize Magento for your + * needs please refer to http://www.magentocommerce.com for more information. + * + * @copyright Copyright (c) 2014 X.commerce, Inc. (http://www.magentocommerce.com) + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + */ +--> + +<eCommerce action="Response" version="1.1" timestamp="2014/01/06T06:39:49" transmission_reference="A357C91E"> + <Requestor> + <ID>MAGEN_8501</ID> + <Password><![CDATA[********]]></Password> + </Requestor> + <IntlShipment action="RateEstimate" version="1.0" test="True"> + <Result> + <Code>203</Code> + <Desc>Shipment estimate successful.</Desc> + </Result> + <ShippingCredentials> + <ShippingKey>54233F2B2C4E5C4B4C5E5A59565530554B405641475D5659</ShippingKey> + <AccountNbr>799909537</AccountNbr> + </ShippingCredentials> + <EstimateDetail> + <DateGenerated>2014-01-06</DateGenerated> + <ShipDate>2014-01-06</ShipDate> + <Service> + <Code>IE</Code> + </Service> + <ServiceLevelCommitment> + <Desc>Estimated Delivery By January 8, 2014 by End of Day</Desc> + </ServiceLevelCommitment> + <RateEstimate> + <TotalChargeEstimate>22.02</TotalChargeEstimate> + <Charges> + <Charge> + <Type> + <Code>F</Code> + <Desc>Freight Charges</Desc> + </Type> + <Value>20.20</Value> + </Charge> + <Charge> + <Type> + <Code>O</Code> + <Desc>Other Charges</Desc> + </Type> + <Value>1.82</Value> + </Charge> + </Charges> + </RateEstimate> + </EstimateDetail> + </IntlShipment> +</eCommerce> \ No newline at end of file diff --git a/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php index 120d895ac0016e3a8b7a735cb8cc0ceded36703e..f3a046fefbd3a0f334f5f76decb79eda165db648 100644 --- a/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php +++ b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php @@ -51,4 +51,28 @@ class ElementTest extends \PHPUnit_Framework_TestCase array('<block />', ''), ); } + + public function cacheableDataProvider() + { + return array( + array('<containter name="name" />', true), + array('<block name="name" cacheable="false" />', false), + array('<block name ="bl1"><block name="bl2" /></block>', true), + array('<block name ="bl1"><block name="bl2" cacheable="false"/></block>', false), + array('<block name="name" />', true), + array('<renderer cacheable="false" />', true), + array('<renderer name="name" />', true), + array('<widget cacheable="false" />', true), + array('<widget name="name" />', true) + ); + } + + /** + * @dataProvider cacheableDataProvider + */ + public function testIsCacheable($xml, $expected) + { + $model = new \Magento\View\Layout\Element($xml); + $this->assertEquals($expected, $model->isCacheable()); + } } diff --git a/lib/Magento/View/Layout/Element.php b/lib/Magento/View/Layout/Element.php index 8342afe7dadba088b21d4ebadaea1a27b8d5f9c4..5b703bb22d3b81085ae69f911a87cd44df19f895 100644 --- a/lib/Magento/View/Layout/Element.php +++ b/lib/Magento/View/Layout/Element.php @@ -190,4 +190,14 @@ class Element extends \Magento\Simplexml\Element { return $this; } + + /** + * Returns information is this element allows caching + * + * @return bool + */ + public function isCacheable() + { + return !(boolean)count($this->xpath('//' . self::TYPE_BLOCK . '[@cacheable="false"]')); + } } diff --git a/pub/lib/mage/validation.js b/pub/lib/mage/validation.js index 52cf200d77e75735aa8616dbfe6acb4589ca590f..a1981b83d0c0f1b4736e63529f1410cf6f838dc4 100644 --- a/pub/lib/mage/validation.js +++ b/pub/lib/mage/validation.js @@ -890,7 +890,7 @@ function(value, element, params) { if ($.isNumeric($(params).val()) && $.isNumeric(value)) { this.lteToVal = $(params).val(); - return value <= $(params).val(); + return parseFloat(value) <= parseFloat($(params).val()); } return true; }, @@ -902,7 +902,7 @@ function(value, element, params) { if ($.isNumeric($(params).val()) && $.isNumeric(value)) { this.gteToVal = $(params).val(); - return value >= $(params).val(); + return parseFloat(value) >= parseFloat($(params).val()); } return true; },