diff --git a/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Captcha/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Captcha/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Checkout/Block/Cart.php b/app/code/Magento/Checkout/Block/Cart.php index f2a8c2fda5df15e3099520ef593bdea6a4a1c5ee..4a788f5725a1a7516f662d351674d943dae4f20f 100644 --- a/app/code/Magento/Checkout/Block/Cart.php +++ b/app/code/Magento/Checkout/Block/Cart.php @@ -144,7 +144,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart */ public function getCheckoutUrl() { - return $this->getUrl('checkout/onepage', ['_secure' => true]); + return $this->getUrl('checkout', ['_secure' => true]); } /** diff --git a/app/code/Magento/Checkout/Block/Cart/Sidebar.php b/app/code/Magento/Checkout/Block/Cart/Sidebar.php index a754a3c6582c58f3a1dcd4ec8f90f234a2ffaeff..73446f90f7b0152fe43c0313f90a26bbcc465ec6 100644 --- a/app/code/Magento/Checkout/Block/Cart/Sidebar.php +++ b/app/code/Magento/Checkout/Block/Cart/Sidebar.php @@ -88,7 +88,7 @@ class Sidebar extends AbstractCart */ public function getCheckoutUrl() { - return $this->getUrl('checkout/onepage'); + return $this->getUrl('checkout'); } /** diff --git a/app/code/Magento/Checkout/Block/Checkout/LayoutProcessor.php b/app/code/Magento/Checkout/Block/Checkout/LayoutProcessor.php index 20332513a009f078db5fc7cd3468894ccaaac593..688fd6e2ef48f99374570f391979522fc69d97dd 100644 --- a/app/code/Magento/Checkout/Block/Checkout/LayoutProcessor.php +++ b/app/code/Magento/Checkout/Block/Checkout/LayoutProcessor.php @@ -48,7 +48,7 @@ class LayoutProcessor implements \Magento\Checkout\Block\Checkout\LayoutProcesso /** @var \Magento\Eav\Api\Data\AttributeInterface[] $attributes */ $attributes = $this->attributeMetadataDataProvider->loadAttributesCollection( 'customer_address', - 'customer_register_address' + 'customer_address_edit' ); $elements = []; @@ -63,6 +63,12 @@ class LayoutProcessor implements \Magento\Checkout\Block\Checkout\LayoutProcesso if (isset($jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children'] ['payment']['children'] )) { + if (!isset($jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children'] + ['payment']['children']['payments-list']['children'])) { + $jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children'] + ['payment']['children']['payments-list']['children'] = []; + } + $jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children'] ['payment']['children']['payments-list']['children'] = array_merge_recursive( @@ -111,6 +117,7 @@ class LayoutProcessor implements \Magento\Checkout\Block\Checkout\LayoutProcesso 'component' => 'Magento_Checkout/js/view/billing-address', 'displayArea' => 'billing-address-form-' . $paymentCode, 'provider' => 'checkoutProvider', + 'deps' => 'checkoutProvider', 'dataScopePrefix' => 'billingAddress' . $paymentCode, 'sortOrder' => 1, 'children' => [ diff --git a/app/code/Magento/Checkout/Block/Onepage/Link.php b/app/code/Magento/Checkout/Block/Onepage/Link.php index b6b6c0f841e7efd10f9396e936af8416957b5f98..6274b03cd942a684aff9439989d198b2fd2b4d05 100644 --- a/app/code/Magento/Checkout/Block/Onepage/Link.php +++ b/app/code/Magento/Checkout/Block/Onepage/Link.php @@ -45,7 +45,7 @@ class Link extends \Magento\Framework\View\Element\Template */ public function getCheckoutUrl() { - return $this->getUrl('checkout/onepage'); + return $this->getUrl('checkout'); } /** diff --git a/app/code/Magento/Checkout/Controller/Onepage/Index.php b/app/code/Magento/Checkout/Controller/Index/Index.php similarity index 97% rename from app/code/Magento/Checkout/Controller/Onepage/Index.php rename to app/code/Magento/Checkout/Controller/Index/Index.php index 7fa9fa794c5fb5ab4441324cc716e26bec15c987..518ae5e30eba92474f64ef5c3561dbd43b375a98 100644 --- a/app/code/Magento/Checkout/Controller/Onepage/Index.php +++ b/app/code/Magento/Checkout/Controller/Index/Index.php @@ -4,7 +4,7 @@ * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ -namespace Magento\Checkout\Controller\Onepage; +namespace Magento\Checkout\Controller\Index; class Index extends \Magento\Checkout\Controller\Onepage { diff --git a/app/code/Magento/Checkout/Controller/Onepage.php b/app/code/Magento/Checkout/Controller/Onepage.php index 2257347e9150ba0993f4b04e12a59019744152c1..0830d37486b33d6e0173d44b35a2700329718b19 100644 --- a/app/code/Magento/Checkout/Controller/Onepage.php +++ b/app/code/Magento/Checkout/Controller/Onepage.php @@ -180,14 +180,14 @@ class Onepage extends Action { $quote = $this->getOnepage()->getQuote(); if (!$quote->hasItems() || $quote->getHasError() || !$quote->validateMinimumAmount()) { - return false; + return true; } $action = $this->getRequest()->getActionName(); if ($this->_objectManager->get('Magento\Checkout\Model\Session')->getCartWasUpdated(true) && !in_array($action, ['index', 'progress']) ) { - return false; + return true; } return false; diff --git a/app/code/Magento/Checkout/Test/Unit/Controller/Onepage/IndexTest.php b/app/code/Magento/Checkout/Test/Unit/Controller/Index/IndexTest.php similarity index 97% rename from app/code/Magento/Checkout/Test/Unit/Controller/Onepage/IndexTest.php rename to app/code/Magento/Checkout/Test/Unit/Controller/Index/IndexTest.php index 5159d70026cbc5c902e6adc3c3b80d21e22ea64e..c0f13dc40942fb901ec9722a0d1da841398463f4 100644 --- a/app/code/Magento/Checkout/Test/Unit/Controller/Onepage/IndexTest.php +++ b/app/code/Magento/Checkout/Test/Unit/Controller/Index/IndexTest.php @@ -1,12 +1,12 @@ <?php /** - * Test for \Magento\Checkout\Controller\Onepage\Index + * Test for \Magento\Checkout\Controller\Index\Index * * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ -namespace Magento\Checkout\Test\Unit\Controller\Onepage; +namespace Magento\Checkout\Test\Unit\Controller\Index; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManager; @@ -71,7 +71,7 @@ class IndexTest extends \PHPUnit_Framework_TestCase private $redirectMock; /** - * @var \Magento\Checkout\Controller\Onepage\Index + * @var \Magento\Checkout\Controller\Index\Index */ private $model; @@ -171,7 +171,7 @@ class IndexTest extends \PHPUnit_Framework_TestCase // SUT $this->model = $this->objectManager->getObject( - 'Magento\Checkout\Controller\Onepage\Index', + 'Magento\Checkout\Controller\Index\Index', [ 'context' => $this->contextMock, 'customerSession' => $this->sessionMock, diff --git a/app/code/Magento/Checkout/etc/frontend/di.xml b/app/code/Magento/Checkout/etc/frontend/di.xml index 20f146cc353ce63add45e00f3fc083c28cdb2768..7afa91b1a8bbdebc03e2000313237bdbea622b34 100644 --- a/app/code/Magento/Checkout/etc/frontend/di.xml +++ b/app/code/Magento/Checkout/etc/frontend/di.xml @@ -10,7 +10,7 @@ <type name="Magento\Framework\Url\SecurityInfo"> <arguments> <argument name="secureUrlList" xsi:type="array"> - <item name="checkout_onepage" xsi:type="string">/checkout/onepage</item> + <item name="checkout_index" xsi:type="string">/checkout</item> </argument> </arguments> </type> diff --git a/app/code/Magento/Checkout/etc/frontend/page_types.xml b/app/code/Magento/Checkout/etc/frontend/page_types.xml index dc770ab1d1bb794e1de7d404ce9ea6a132badb4f..88d2dc95d584c0b24057cb04835c42bb980e5055 100644 --- a/app/code/Magento/Checkout/etc/frontend/page_types.xml +++ b/app/code/Magento/Checkout/etc/frontend/page_types.xml @@ -9,7 +9,7 @@ <type id="checkout_cart_configure" label="Configure Cart Item (Any)"/> <type id="checkout_cart_index" label="Shopping Cart"/> <type id="checkout_onepage_failure" label="One Page Checkout Failure"/> - <type id="checkout_onepage_index" label="One Page Checkout"/> + <type id="checkout_index_index" label="One Page Checkout"/> <type id="checkout_onepage_paymentmethod" label="One Page Checkout Choose Payment Method"/> <type id="checkout_onepage_review" label="One Page Checkout Overview"/> <type id="checkout_onepage_shippingmethod" label="One Page Checkout Choose Shipping Method"/> diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_index_index.xml similarity index 94% rename from app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Checkout/view/frontend/layout/checkout_index_index.xml index a40e65477410eef2cfebf8e9c39203ed88070605..53e7f188ab0f6ddcd0a5f8b56aa960b3db8f489b 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_index_index.xml @@ -16,6 +16,9 @@ <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item> <item name="config" xsi:type="array"> <item name="provider" xsi:type="string">checkoutProvider</item> + <item name="deps" xsi:type="array"> + <item name="0" xsi:type="string">checkoutProvider</item> + </item> <item name="template" xsi:type="string">ui/form/field</item> <item name="elementTmpl" xsi:type="string">ui/form/element/input</item> </item> @@ -46,6 +49,14 @@ <item name="component" xsi:type="string">Magento_Checkout/js/view/progress-bar</item> <item name="displayArea" xsi:type="string">progressBar</item> </item> + <item name="estimation" xsi:type="array"> + <item name="sortOrder" xsi:type="string">10</item> + <item name="component" xsi:type="string">Magento_Checkout/js/view/estimation</item> + <item name="displayArea" xsi:type="string">estimation</item> + <item name="config" xsi:type="array"> + <item name="template" xsi:type="string">Magento_Checkout/estimation</item> + </item> + </item> <item name="steps" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> <item name="displayArea" xsi:type="string">steps</item> @@ -66,7 +77,10 @@ </item> <item name="shippingAddress" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="deps" xsi:type="string">checkout.steps.shipping-step.step-config</item> + <item name="deps" xsi:type="array"> + <item name="0" xsi:type="string">checkout.steps.shipping-step.step-config</item> + <item name="1" xsi:type="string">checkoutProvider</item> + </item> <item name="popUpForm" xsi:type="array"> <item name="element" xsi:type="string">#opc-new-shipping-address</item> <item name="options" xsi:type="array"> @@ -149,6 +163,11 @@ </item> <item name="shipping-address-fieldset" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> + <item name="config" xsi:type="array"> + <item name="deps" xsi:type="array"> + <item name="0" xsi:type="string">checkoutProvider</item> + </item> + </item> <item name="displayArea" xsi:type="string">additional-fieldsets</item> <item name="children" xsi:type="array"> <!-- The following items override configuration of corresponding address attributes --> @@ -353,6 +372,9 @@ </item> <item name="shipping-information" xsi:type="array"> <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-information</item> + <item name="config" xsi:type="array"> + <item name="deps" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item> + </item> <item name="displayArea" xsi:type="string">shipping-information</item> <item name="children" xsi:type="array"> <item name="ship-to" xsi:type="array"> diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/select-shipping-address.js b/app/code/Magento/Checkout/view/frontend/web/js/action/select-shipping-address.js index 5247cef00fb03ac61bf36e29f7e6655fee7605cd..a8d1e6d38be27d054ca80636f988009ff66e87fb 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/select-shipping-address.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/select-shipping-address.js @@ -14,6 +14,10 @@ define( }); return function(shippingAddress) { quote.shippingAddress(shippingAddress); + //set billing address same as shipping by default if it is not empty + if (shippingAddress.countryId != undefined && shippingAddress.canUseForBilling()) { + quote.billingAddress(shippingAddress); + } }; } ); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/billing-address.js b/app/code/Magento/Checkout/view/frontend/web/js/view/billing-address.js index 2ca86001d726002b81df9f2c6adc83bac7443080..5f6dbfed0b8daf38953cd4d3b389fbe5668de728 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/billing-address.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/billing-address.js @@ -18,7 +18,8 @@ define( function (ko, Component, customer, addressList, quote, createBillingAddress, selectBillingAddress, $t) { "use strict"; - var newAddressOption = { + var lastSelectedBillingAddress = null, + newAddressOption = { getAddressInline: function() { return $t('New Address'); }, @@ -71,6 +72,8 @@ define( selectBillingAddress(quote.shippingAddress()); this.isAddressDetailsVisible(true); } else { + lastSelectedBillingAddress = quote.billingAddress(); + quote.billingAddress(null); this.isAddressDetailsVisible(false); } return true; @@ -97,10 +100,13 @@ define( }, editAddress: function () { + lastSelectedBillingAddress = quote.billingAddress(); + quote.billingAddress(null); this.isAddressDetailsVisible(false); }, cancelAddressEdit: function () { + this.restoreBillingAddress(); if (quote.billingAddress()) { // restore 'Same As Shipping' checkbox state this.isAddressSameAsShipping( @@ -110,6 +116,12 @@ define( } }, + restoreBillingAddress: function() { + if (lastSelectedBillingAddress != null) { + selectBillingAddress(lastSelectedBillingAddress); + } + }, + onAddressChange: function (address) { this.isAddressFormVisible(address == newAddressOption); } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/cart/authentication.js b/app/code/Magento/Checkout/view/frontend/web/js/view/cart/authentication.js index 0985d990a697bde35a780beb7d318895548e9103..5120078c77dedaf030e49eabe90b24f1333ab504 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/cart/authentication.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/cart/authentication.js @@ -63,7 +63,7 @@ define( && $(loginForm).validation('isValid') ) { this.isLoading(true); - loginAction(loginData); + loginAction(loginData, null, false); } } }); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/estimation.js b/app/code/Magento/Checkout/view/frontend/web/js/view/estimation.js new file mode 100644 index 0000000000000000000000000000000000000000..23babcd44d8f9f1f7d870db9683ea771b6ab477d --- /dev/null +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/estimation.js @@ -0,0 +1,32 @@ +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +define( + [ + 'Magento_Checkout/js/view/summary/abstract-total', + 'Magento_Checkout/js/model/totals' + ], + function (Component, totals) { + 'use strict'; + return Component.extend({ + getQuantity: function() { + if (totals.totals()) { + return parseFloat(totals.totals().items_qty); + } + return 0; + }, + getPureValue: function() { + if (totals.totals()) { + return parseFloat(totals.getSegment('grand_total').value); + } + return 0; + }, + getValue: function () { + return this.getFormattedPrice(this.getPureValue()); + } + + }); + } +); + diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js index 7fa9e10b69a781d1f9afc86bc79ae7cc39c388d7..1734a79d09f5490d746e13a4d60eb524ba60f664 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js @@ -17,6 +17,7 @@ define( 'use strict'; return Component.extend({ redirectAfterPlaceOrder: true, + isPlaceOrderActionAllowed: ko.observable(true), /** * Initialize view. * @@ -24,6 +25,11 @@ define( */ initialize: function () { this._super().initChildren(); + + quote.billingAddress.subscribe(function(address) { + this.isPlaceOrderActionAllowed((address !== null)); + }, this); + return this; }, diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/cart-items.js b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/cart-items.js index 0a41d2b46f2bfe4ec67d75d470b261e7fe7f3626..27c2030062bd11d4c81ce4cfc46a07de1930957e 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/cart-items.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/cart-items.js @@ -21,7 +21,7 @@ define( totals: totals.totals(), getItems: totals.getItems(), getItemsQty: function() { - return parseInt(this.totals.items_qty) || 0; + return parseFloat(this.totals.items_qty); }, isItemsBlockExpanded: function () { return quote.isVirtual() || stepNavigator.isProcessed('shipping'); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/item/details.js b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/item/details.js index 1c965b0d5701be6269b412b9e825d1499531acca..a28a6bb32d4b119a410d9898b09597eebba25e9d 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/item/details.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/item/details.js @@ -6,11 +6,9 @@ /*global alert*/ define( [ - 'uiComponent', - '../../../model/quote', - 'Magento_Catalog/js/price-utils' + 'uiComponent' ], - function (Component, quote, priceUtils) { + function (Component) { "use strict"; return Component.extend({ defaults: { diff --git a/app/code/Magento/Checkout/view/frontend/web/template/estimation.html b/app/code/Magento/Checkout/view/frontend/web/template/estimation.html new file mode 100644 index 0000000000000000000000000000000000000000..cf7da50e0af9248969c207b40e64788af554f8cd --- /dev/null +++ b/app/code/Magento/Checkout/view/frontend/web/template/estimation.html @@ -0,0 +1,19 @@ +<!-- +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<div class="opc-estimated-wrapper"> + <div class="estimated-block"> + <span class="estimated-label" data-bind="text: $t('Estimated Total')"></span> + <span class="estimated-price" data-bind="text: getValue()">$120.00</span> + </div> + <div class="minicart-wrapper"> + <button type="button" class="action showcart" data-toggle="opc-summary"> + <span class="counter qty"> + <span class="counter-number" data-bind="text: getQuantity()"></span> + </span> + </button> + </div> +</div> diff --git a/app/code/Magento/Checkout/view/frontend/web/template/onepage.html b/app/code/Magento/Checkout/view/frontend/web/template/onepage.html index 51b80426e5dd4a8fc930916241602f4d28da9681..13e7c4933c0def245a4a8047455518df29fdbbc1 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/onepage.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/onepage.html @@ -12,29 +12,9 @@ <!-- ko template: getTemplate() --><!-- /ko --> <!--/ko--> -<!-- Temp MAGETWO-36025 markup --> -<div class="opc-estimated-wrapper"> -<!-- Markup for MAGETWO-38644 --> - <div class="estimated-block"> - <span class="estimated-label" data-bind="text: $t('Estimated Total')"></span> - <span class="estimated-price">$100.00</span> - </div> - <div class="minicart-wrapper"> - <button type="button" class="action showcart" data-toggle="opc-summary"> - <span class="counter qty"> - <span class="counter-number">6</span> - </span> - </button> - </div> - <!-- Temp MAGETWO-36025 markup - <button - type="button" - class="action showcart" - data-toggle="opc-summary"> - <span data-bind="text: $t('View order summary')"></span> - </button>--> -</div> -<!-- /Temp MAGETWO-36025 markup --> +<!-- ko foreach: getRegion('estimation') --> + <!-- ko template: getTemplate() --><!-- /ko --> +<!--/ko--> <!-- ko foreach: getRegion('messages') --> <!-- ko template: getTemplate() --><!-- /ko --> diff --git a/app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_onepage_original.xml b/app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_onepage_original.xml deleted file mode 100644 index 89eb6278a7646836ff461eb6955899faae9b5fb9..0000000000000000000000000000000000000000 --- a/app/code/Magento/CheckoutAgreements/view/frontend/layout/checkout_onepage_original.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<!-- TODO remove this file as soon as enhanced checkout is implemented --> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> - <body> - <referenceBlock name="checkout.root"> - <arguments> - <argument name="jsLayout" xsi:type="array"> - <item name="components" xsi:type="array"> - <item name="checkout" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="steps" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="review" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="beforePlaceOrder" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="checkoutAgreements" xsi:type="array"> - <item name="component" xsi:type="string">Magento_CheckoutAgreements/js/view/checkoutAgreements</item> - <item name="dataScope" xsi:type="string">checkoutAgreements</item> - <item name="displayArea" xsi:type="string">checkoutAgreements</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="children" xsi:type="array"> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </argument> - </arguments> - </referenceBlock> - </body> -</page> diff --git a/app/code/Magento/Customer/view/frontend/web/js/action/login.js b/app/code/Magento/Customer/view/frontend/web/js/action/login.js index 31d928825415b94304ca8b6f57fb912f6760a8cd..b4edd94739491b9b09e6216147cd7751ae90b76d 100644 --- a/app/code/Magento/Customer/view/frontend/web/js/action/login.js +++ b/app/code/Magento/Customer/view/frontend/web/js/action/login.js @@ -13,10 +13,11 @@ define( function($, storage, messageList, customerData) { 'use strict'; var callbacks = [], - action = function(loginData, redirectUrl) { + action = function(loginData, redirectUrl, isGlobal) { return storage.post( 'customer/ajax/login', - JSON.stringify(loginData) + JSON.stringify(loginData), + isGlobal ).done(function (response) { if (response.errors) { messageList.addErrorMessage(response); diff --git a/app/code/Magento/Dhl/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Dhl/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Dhl/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Dhl/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Fedex/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Fedex/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Fedex/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Fedex/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Multishipping/Test/Unit/Controller/Checkout/PluginTest.php b/app/code/Magento/Multishipping/Test/Unit/Controller/Checkout/PluginTest.php index ac15a45ececeab8a6caa7d464e633ed7d41414c8..9cfb6a0c75f553e05f6710099bed558608eb02d3 100644 --- a/app/code/Magento/Multishipping/Test/Unit/Controller/Checkout/PluginTest.php +++ b/app/code/Magento/Multishipping/Test/Unit/Controller/Checkout/PluginTest.php @@ -41,7 +41,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase public function testExecuteTurnsOffMultishippingModeOnQuote() { - $subject = $this->getMock('Magento\Checkout\Controller\Onepage\Index', [], [], '', false); + $subject = $this->getMock('Magento\Checkout\Controller\Index\Index', [], [], '', false); $this->quoteMock->expects($this->once())->method('setIsMultiShipping')->with(0); $this->object->beforeExecute($subject); } diff --git a/app/code/Magento/Multishipping/etc/frontend/di.xml b/app/code/Magento/Multishipping/etc/frontend/di.xml index 0320b5cc341c4b6bd030ae4afffdb2248c00cb1e..61d72838f9ee3b28d606a80928262098d4c351b7 100644 --- a/app/code/Magento/Multishipping/etc/frontend/di.xml +++ b/app/code/Magento/Multishipping/etc/frontend/di.xml @@ -36,7 +36,7 @@ <type name="Magento\Checkout\Controller\Cart\UpdatePost"> <plugin name="multishipping_disabler" type="Magento\Multishipping\Controller\Checkout\Plugin" sortOrder="50" /> </type> - <type name="Magento\Checkout\Controller\Onepage\Index"> + <type name="Magento\Checkout\Controller\Index\Index"> <plugin name="multishipping_disabler" type="Magento\Multishipping\Controller\Checkout\Plugin" sortOrder="50" /> </type> <type name="Magento\Checkout\Model\Cart"> diff --git a/app/code/Magento/OfflinePayments/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/OfflinePayments/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/OfflinePayments/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/OfflinePayments/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/banktransfer.html b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/banktransfer.html index dfcbf3131970749bfec9ab0537c3ef12f689fae7..66cf873c311eb639b8ce0bfba6e43228c5cb915e 100644 --- a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/banktransfer.html +++ b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/banktransfer.html @@ -29,7 +29,12 @@ <div class="primary"> <button class="action primary checkout" type="submit" - data-bind="click: placeOrder, attr: {'title': $t('Place Order')}, enable: (getCode() == isChecked())" + data-bind=" + click: placeOrder, + attr: {'title': $t('Place Order')}, + enable: (getCode() == isChecked()), + css: {disabled: !isPlaceOrderActionAllowed()} + " disabled> <span data-bind="text: $t('Place Order')"></span> </button> diff --git a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/cashondelivery.html b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/cashondelivery.html index 569d5b0a48eb368622fee51306a8d9c30b075cf7..10287d8090d4129e8ddc02880e42c704354478d3 100644 --- a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/cashondelivery.html +++ b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/cashondelivery.html @@ -29,7 +29,12 @@ <div class="primary"> <button class="action primary checkout" type="submit" - data-bind="click: placeOrder, attr: {title: $t('Place Order')}, enable: (getCode() == isChecked())" + data-bind=" + click: placeOrder, + attr: {title: $t('Place Order')}, + enable: (getCode() == isChecked()), + css: {disabled: !isPlaceOrderActionAllowed()} + " disabled> <span data-bind="text: $t('Place Order')"></span> </button> diff --git a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/checkmo.html b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/checkmo.html index 58f85845434792ab778b177461ac493a743d649d..ba6c374417b49b5477cf92a5c040e5c2ac732767 100644 --- a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/checkmo.html +++ b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/checkmo.html @@ -41,7 +41,12 @@ <div class="primary"> <button class="action primary checkout" type="submit" - data-bind="click: placeOrder, attr: {title: $t('Place Order')}, enable: (getCode() == isChecked())" + data-bind=" + click: placeOrder, + attr: {title: $t('Place Order')}, + css: {disabled: !isPlaceOrderActionAllowed()}, + enable: (getCode() == isChecked()) + " disabled> <span data-bind="text: $t('Place Order')"></span> </button> diff --git a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/purchaseorder-form.html b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/purchaseorder-form.html index 585d61feae7d7c7423285c3db12f5351adc2d385..ab531080cdfde2b2bc9173afc8e0e257033fce52 100644 --- a/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/purchaseorder-form.html +++ b/app/code/Magento/OfflinePayments/view/frontend/web/template/payment/purchaseorder-form.html @@ -49,7 +49,12 @@ <div class="primary"> <button class="action primary checkout" type="submit" - data-bind="click: placeOrder, attr: {title: $t('Place Order')}, enable: (getCode() == isChecked())" + data-bind=" + click: placeOrder, + attr: {title: $t('Place Order')}, + enable: (getCode() == isChecked()), + css: {disabled: !isPlaceOrderActionAllowed()} + " data-role="review-save"> <span data-bind="text: $t('Place Order')"></span> </button> diff --git a/app/code/Magento/OfflineShipping/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/OfflineShipping/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/OfflineShipping/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/OfflineShipping/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Payment/Model/CcConfig.php b/app/code/Magento/Payment/Model/CcConfig.php index 59928e91953bb7889cb8a1b05fc2516af5aa84da..97921c769ea94ea813f1dd0b1b5f8fa62bdfe01e 100644 --- a/app/code/Magento/Payment/Model/CcConfig.php +++ b/app/code/Magento/Payment/Model/CcConfig.php @@ -152,4 +152,18 @@ class CcConfig return $this->urlBuilder->getUrl('', ['_direct' => 'core/index/notFound']); } } + + /** + * Create a file asset that's subject of fallback system + * + * @param string $fileId + * @param array $params + * @return \Magento\Framework\View\Asset\File + */ + public function createAsset($fileId, array $params = []) + { + $params = array_merge(['_secure' => $this->request->isSecure()], $params); + return $this->assetRepo->createAsset($fileId, $params); + + } } diff --git a/app/code/Magento/Payment/Model/CcConfigProvider.php b/app/code/Magento/Payment/Model/CcConfigProvider.php new file mode 100644 index 0000000000000000000000000000000000000000..7792a2c29a046e785576c507e226177dd7ee918c --- /dev/null +++ b/app/code/Magento/Payment/Model/CcConfigProvider.php @@ -0,0 +1,74 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Payment\Model; + +use Magento\Checkout\Model\ConfigProviderInterface; +use Magento\Framework\View\Asset\Source; + +class CcConfigProvider implements ConfigProviderInterface +{ + /** + * @var CcConfig + */ + protected $ccConfig; + + /** + * @var \Magento\Framework\View\Asset\Source + */ + protected $assetSource; + + /** + * @param CcConfig $ccConfig + * @param Source $assetSource + */ + public function __construct( + CcConfig $ccConfig, + Source $assetSource + ) { + $this->ccConfig = $ccConfig; + $this->assetSource = $assetSource; + } + + /** + * {@inheritdoc} + */ + public function getConfig() + { + return [ + 'payment' => [ + 'ccform' => [ + 'icons' => $this->getIcons() + ] + ] + ]; + } + + /** + * Get icons for available payment methods + * + * @return array + */ + protected function getIcons() + { + $icons = []; + $types = $this->ccConfig->getCcAvailableTypes(); + foreach (array_keys($types) as $code) { + if (!array_key_exists($code, $icons)) { + $asset = $this->ccConfig->createAsset('Magento_Payment::images/cc/' . strtolower($code) . '.png'); + $placeholder = $this->assetSource->findRelativeSourceFilePath($asset); + if ($placeholder) { + list($width, $height) = getimagesize($asset->getSourceFile()); + $icons[$code] = [ + 'url' => $asset->getUrl(), + 'width' => $width, + 'height' => $height + ]; + } + } + } + return $icons; + } +} diff --git a/app/code/Magento/Payment/etc/frontend/di.xml b/app/code/Magento/Payment/etc/frontend/di.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdfda8b2027921ab7c665bd94c27b802ec288d99 --- /dev/null +++ b/app/code/Magento/Payment/etc/frontend/di.xml @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<!-- +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd"> + <type name="Magento\Checkout\Model\CompositeConfigProvider"> + <arguments> + <argument name="configProviders" xsi:type="array"> + <item name="cc_card_config_provider" xsi:type="object">Magento\Payment\Model\CcConfigProvider</item> + </argument> + </arguments> + </type> +</config> diff --git a/app/code/Magento/Payment/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Payment/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Payment/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Payment/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/credit-card-number-validator/credit-card-type.js b/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/credit-card-number-validator/credit-card-type.js index 71e0e57c5c16e71a394d1fa948f35ed807c75495..bd7d0772c0222af0de3a7903a7b1445402c55d40 100644 --- a/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/credit-card-number-validator/credit-card-type.js +++ b/app/code/Magento/Payment/view/frontend/web/js/model/credit-card-validation/credit-card-number-validator/credit-card-type.js @@ -70,7 +70,7 @@ define( }, { title: 'JCB', - type: 'JC', + type: 'JCB', pattern: '^((2|21|213|2131\\d*)|(1|18|180|1800\\d*)|(3|35\\d*))$', gaps: [4, 8, 12], lengths: [16], @@ -92,23 +92,8 @@ define( }, { title: 'Maestro', - type: 'SM', - pattern: '(^(5[0678])[0-9]{11,18}$)' + - '|(^(6[^05])[0-9]{11,18}$)' + - '|(^(601)[^1][0-9]{9,16}$)' + - '|(^(6011)[0-9]{9,11}$)' + - '|(^(6011)[0-9]{13,16}$)' + - '|(^(65)[0-9]{11,13}$)' + - '|(^(65)[0-9]{15,18}$)' + - '|(^(49030)[2-9]([0-9]{10}$' + - '|[0-9]{12,13}$))' + - '|(^(49033)[5-9]([0-9]{10}$' + - '|[0-9]{12,13}$))' + - '|(^(49110)[1-2]([0-9]{10}$' + - '|[0-9]{12,13}$))' + - '|(^(49117)[4-9]([0-9]{10}$|[0-9]{12,13}$))' + - '|(^(49118)[0-2]([0-9]{10}$|[0-9]{12,13}$))' + - '|(^(4936)([0-9]{12}$|[0-9]{14,15}$))', + type: 'MI', + pattern: '^((5((0|[6-9])\\d*)?)|(6|6[37]\\d*))$', gaps: [4, 8, 12], lengths: [12, 13, 14, 15, 16, 17, 18, 19], code: { diff --git a/app/code/Magento/Payment/view/frontend/web/js/view/payment/cc-form.js b/app/code/Magento/Payment/view/frontend/web/js/view/payment/cc-form.js index 5c1abc1e3c75b1721a889badee6e364009bd448f..e957c254fb3719ca2e30319a01221fff7b27e227 100644 --- a/app/code/Magento/Payment/view/frontend/web/js/view/payment/cc-form.js +++ b/app/code/Magento/Payment/view/frontend/web/js/view/payment/cc-form.js @@ -104,6 +104,11 @@ define( getCcAvailableTypes: function() { return window.checkoutConfig.payment.ccform.availableTypes[this.getCode()]; }, + getIcons: function (type) { + return window.checkoutConfig.payment.ccform.icons.hasOwnProperty(type) + ? window.checkoutConfig.payment.ccform.icons[type] + : false + }, getCcMonths: function() { return window.checkoutConfig.payment.ccform.months[this.getCode()]; }, diff --git a/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html b/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html index 49d1d57f958bdd938284aaeaf11abf1ca926fb3d..eb7865ddf83c8151653159b59d8c3c725a4d65b8 100644 --- a/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html +++ b/app/code/Magento/Payment/view/frontend/web/template/payment/cc-form.html @@ -19,13 +19,14 @@ <ul class="credit-card-types"> <!-- ko foreach: {data: getCcAvailableTypesValues(), as: 'item'} --> <li class="item" data-bind="css: {_active: $parent.selectedCardType() == item.value} "> - <!-- if picture --> + <!--ko if: $parent.getIcons(item.value) --> <img data-bind="attr: { - 'src': 'Magento_Payment::images/cc/'+ item.value + '.png', - 'alt': item.type + 'src': $parent.getIcons(item.value).url, + 'alt': item.type, + 'width': $parent.getIcons(item.value).width, + 'height': $parent.getIcons(item.value).height }"> - <!-- if NOpicture --> - <span><!-- ko text: item.type --><!-- /ko --></span> + <!--/ko--> </li> <!--/ko--> </ul> diff --git a/app/code/Magento/Payment/view/frontend/web/template/payment/free.html b/app/code/Magento/Payment/view/frontend/web/template/payment/free.html index fb33eafd3cfbb59e8fffe9983692fe3d2fad1050..483920bbe980eb903a4fadaba0dca5695f3d8189 100644 --- a/app/code/Magento/Payment/view/frontend/web/template/payment/free.html +++ b/app/code/Magento/Payment/view/frontend/web/template/payment/free.html @@ -27,7 +27,11 @@ <div class="primary"> <button class="action primary checkout" type="submit" - data-bind="click: placeOrder, attr: {title: $t('Place Order')}"> + data-bind=" + click: placeOrder, + attr: {title: $t('Place Order')}, + css: {disabled: !isPlaceOrderActionAllowed()} + "> <span data-bind="text: $t('Place Order')"></span> </button> </div> diff --git a/app/code/Magento/Payment/view/frontend/web/template/payment/iframe.html b/app/code/Magento/Payment/view/frontend/web/template/payment/iframe.html index 2fec488a491cb1787d622de53a3c4764c404c4c4..9e4d53bda7384775fecdc37eeecb63ba90664972 100644 --- a/app/code/Magento/Payment/view/frontend/web/template/payment/iframe.html +++ b/app/code/Magento/Payment/view/frontend/web/template/payment/iframe.html @@ -30,7 +30,9 @@ <div class="primary"> <button data-role="review-save" type="submit" data-bind="attr: {title: $t('Place order')}" - class="button action primary checkout"><span data-bind="text: $t('Place order')"></span></button> + class="button action primary checkout"> + <span data-bind="text: $t('Place order')"></span> + </button> <button type="submit" id="originalPlaceOrder" class="hidden" data-bind="click: originalPlaceOrder($parents[1])"></button> </div> diff --git a/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_original.xml b/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_original.xml deleted file mode 100644 index 6d8cd9506b3907770cbb9e49e44996503a4337bd..0000000000000000000000000000000000000000 --- a/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_original.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<!-- TODO remove this file as soon as enhanced checkout is implemented --> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> - <body> - <referenceBlock name="checkout.root"> - <arguments> - <argument name="jsLayout" xsi:type="array"> - <item name="components" xsi:type="array"> - <item name="checkout" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="steps" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="authentication" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="remember-me" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Persistent/js/view/remember-me</item> - <item name="displayArea" xsi:type="string">additional-login-form-fields</item> - </item> - </item> - </item> - <item name="billingAddress" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="remember-me" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Persistent/js/view/remember-me</item> - <item name="dataScope" xsi:type="string">additionalAddressData</item> - <item name="displayArea" xsi:type="string">additional-fieldsets</item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </argument> - </arguments> - </referenceBlock> - </body> -</page> diff --git a/app/code/Magento/Sales/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Sales/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Sales/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Sales/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/SalesRule/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/SalesRule/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/SalesRule/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/SalesRule/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Shipping/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Shipping/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Shipping/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Shipping/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Tax/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Tax/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Tax/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Tax/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Tax/view/frontend/layout/checkout_onepage_original.xml b/app/code/Magento/Tax/view/frontend/layout/checkout_onepage_original.xml deleted file mode 100644 index 012d3de66d1ddaf42f7320f1cb3c064b9f2c4486..0000000000000000000000000000000000000000 --- a/app/code/Magento/Tax/view/frontend/layout/checkout_onepage_original.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<!-- TODO remove this file as soon as enhanced checkout is implemented --> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> - <body> - <referenceBlock name="checkout.root"> - <arguments> - <argument name="jsLayout" xsi:type="array"> - <item name="components" xsi:type="array"> - <item name="checkout" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="steps" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="shipping" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="price" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/shipping_method/price</item> - <item name="displayArea" xsi:type="string">price</item> - </item> - </item> - </item> - <item name="review" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="columns" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/columns</item> - <item name="children" xsi:type="array"> - <item name="price" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/item/columns/price</item> - </item> - <item name="subtotal" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/item/columns/subtotal</item> - </item> - </item> - </item> - <item name="totals" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="subtotal" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/subtotal</item> - <item name="sortOrder" xsi:type="string">10</item> - </item> - <item name="shipping" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/shipping</item> - <item name="sortOrder" xsi:type="string">20</item> - </item> - <item name="before_grandtotal" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/before_grandtotal</item> - <item name="sortOrder" xsi:type="string">30</item> - <item name="children" xsi:type="array"> - <!-- merge your components here --> - </item> - </item> - <item name="grandtotal" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/grandtotal</item> - <item name="sortOrder" xsi:type="string">40</item> - <item name="children" xsi:type="array"> - <item name="grandtotal_tax" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/review/tax_total</item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </argument> - </arguments> - </referenceBlock> - </body> -</page> \ No newline at end of file diff --git a/app/code/Magento/Ups/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Ups/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Ups/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Ups/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Usps/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Usps/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Usps/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Usps/view/frontend/layout/checkout_index_index.xml diff --git a/app/code/Magento/Weee/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Weee/view/frontend/layout/checkout_index_index.xml similarity index 100% rename from app/code/Magento/Weee/view/frontend/layout/checkout_onepage_index.xml rename to app/code/Magento/Weee/view/frontend/layout/checkout_index_index.xml diff --git a/app/design/frontend/Magento/blank/Magento_Checkout/layout/checkout_onepage_index.xml b/app/design/frontend/Magento/blank/Magento_Checkout/layout/checkout_index_index.xml similarity index 100% rename from app/design/frontend/Magento/blank/Magento_Checkout/layout/checkout_onepage_index.xml rename to app/design/frontend/Magento/blank/Magento_Checkout/layout/checkout_index_index.xml diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml index 253de1616fe69d4483674100af98bce7b60b7dc0..5f5d95e511ddf4129135cac084abb17d546c018b 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml @@ -6,7 +6,7 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CheckoutOnepage" mca="checkout/onepage" module="Magento_Checkout"> + <page name="CheckoutOnepage" mca="checkout/index" module="Magento_Checkout"> <block name="loginBlock" class="Magento\Checkout\Test\Block\Onepage\Login" locator="#checkout-step-authentication" strategy="css selector"/> <block name="billingBlock" class="Magento\Checkout\Test\Block\Onepage\Billing" locator="#checkout-step-billing" strategy="css selector"/> <block name="shippingBlock" class="Magento\Checkout\Test\Block\Onepage\Shipping" locator="#checkout-step-shipping" strategy="css selector"/> diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml index e083ee46d7f673bea8595d09650a7081fcaa2d20..db078d6fe33320be59c41868d4036f795be70fa1 100644 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml +++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml @@ -6,7 +6,7 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CheckoutOnepage" mca="checkout/onepage" module="Magento_Checkout"> + <page name="CheckoutOnepage" mca="checkout/index" module="Magento_Checkout"> <block name="agreementReview" class="Magento\CheckoutAgreements\Test\Block\Onepage\AgreementReview" locator="#checkout-step-review" strategy="css selector"/> </page> </config> diff --git a/dev/tests/performance/benchmark.jmx b/dev/tests/performance/benchmark.jmx index 92ac0e689898c76a1dd489ec125330ad1f4d3c61..e1c9c005646cd2224210e5c0aea7312b4173f0d3 100644 --- a/dev/tests/performance/benchmark.jmx +++ b/dev/tests/performance/benchmark.jmx @@ -765,7 +765,7 @@ <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">${base_path}checkout/onepage/</stringProp> + <stringProp name="HTTPSampler.path">${base_path}checkout/index/</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -926,7 +926,7 @@ <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="Content-Type" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -992,7 +992,7 @@ <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> diff --git a/dev/tests/performance/testsuite/checkout.jmx b/dev/tests/performance/testsuite/checkout.jmx index 6306e47f71ab4d71d780ea77e958cfea918d27c8..f69598bbb50bfbc9558ddeea9f63ce5eb406cea1 100644 --- a/dev/tests/performance/testsuite/checkout.jmx +++ b/dev/tests/performance/testsuite/checkout.jmx @@ -296,7 +296,7 @@ <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">${PATH}checkout/onepage/</stringProp> + <stringProp name="HTTPSampler.path">${PATH}checkout/index/</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/MergeTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/MergeTest.php index 281bb8ac0519d7f345fbe8d264cb0834a9ca4f40..119fd12fdfc488f09e63d09098ecd16ced7d9dee 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/MergeTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/MergeTest.php @@ -191,11 +191,11 @@ class MergeTest extends \PHPUnit_Framework_TestCase $this->assertEquals(array_merge($nonPageHandles, $expectedPageHandles), $this->_model->getHandles()); /* test that new handles override the previous ones */ - $expectedPageHandles = ['default', 'checkout_onepage_index']; + $expectedPageHandles = ['default', 'checkout_index_index']; $this->_model->removeHandle('catalog_category_default'); $this->_model->removeHandle('catalog_product_view'); $this->_model->removeHandle('catalog_product_view_type_simple'); - $this->assertTrue($this->_model->addPageHandles(['default', 'checkout_onepage_index'])); + $this->assertTrue($this->_model->addPageHandles(['default', 'checkout_index_index'])); $this->assertEquals($expectedPageHandles, $this->_model->getPageHandles()); $this->assertEquals(array_merge($nonPageHandles, $expectedPageHandles), $this->_model->getHandles()); } diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/layout/checkout_onepage_index.xml b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/layout/checkout_index_index.xml similarity index 100% rename from lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/layout/checkout_onepage_index.xml rename to lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/layout/checkout_index_index.xml diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/merged.xml b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/merged.xml index 8553d5f68dbdf5a0378c67f0df53b54b865877c7..bcee531b78f53be68e80706853bd826571fe143b 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/merged.xml +++ b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/_files/merged.xml @@ -21,7 +21,7 @@ </body> </handle> <handle id="catalog_product_view_type_simple"/> - <handle id="checkout_onepage_index"/> + <handle id="checkout_index_index"/> <handle id="customer_account" label="Customer My Account (All Pages)" design_abstraction="custom"/> <handle id="default"> <body> diff --git a/setup/performance-toolkit/benchmark.jmx b/setup/performance-toolkit/benchmark.jmx index 21a247514cb106d408b9305951dff3f39742d3d0..b5c7b55cac60a29745da1ec3771e16ab23bbe2d9 100644 --- a/setup/performance-toolkit/benchmark.jmx +++ b/setup/performance-toolkit/benchmark.jmx @@ -2321,7 +2321,7 @@ vars.put("category_name", props.get("category_name"));</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">http</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">${base_path}checkout/onepage/</stringProp> + <stringProp name="HTTPSampler.path">${base_path}checkout/index/</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -2432,7 +2432,7 @@ vars.put("category_name", props.get("category_name"));</stri <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="Content-Type" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -2497,7 +2497,7 @@ vars.put("category_name", props.get("category_name"));</stri <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -2560,7 +2560,7 @@ vars.put("category_name", props.get("category_name"));</stri <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -3196,7 +3196,7 @@ if (emailsCount < 1) { <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">http</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">${base_path}checkout/onepage/</stringProp> + <stringProp name="HTTPSampler.path">${base_path}checkout/index/</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -3361,7 +3361,7 @@ if (emailsCount < 1) { <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="Content-Type" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -3426,7 +3426,7 @@ if (emailsCount < 1) { <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> @@ -3489,7 +3489,7 @@ if (emailsCount < 1) { <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Referer</stringProp> - <stringProp name="Header.value">http://mage2.com/checkout/onepage/</stringProp> + <stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp>