From 7c9c0cb0df85f1caffdd6bcada7aebcf1a647be7 Mon Sep 17 00:00:00 2001 From: Stanislav Idolov <sidolov@ebay.com> Date: Fri, 26 Jun 2015 18:48:13 +0300 Subject: [PATCH] MAGETWO-39197: There is no CAPTCHA on shipping step login and Sign In --- app/code/Magento/Captcha/etc/di.xml | 2 +- app/code/Magento/Captcha/etc/frontend/di.xml | 2 +- .../layout/checkout_onepage_index.xml | 23 +- .../layout/checkout_onepage_original.xml | 47 --- .../web/js/view/checkout/defaultCaptcha.js | 3 +- .../layout/checkout_onepage_original.xml | 300 ------------------ .../web/template/cart/authentication.html | 8 + 7 files changed, 33 insertions(+), 352 deletions(-) delete mode 100644 app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_original.xml delete mode 100644 app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_original.xml diff --git a/app/code/Magento/Captcha/etc/di.xml b/app/code/Magento/Captcha/etc/di.xml index e0469cd2b60..3955d289f46 100644 --- a/app/code/Magento/Captcha/etc/di.xml +++ b/app/code/Magento/Captcha/etc/di.xml @@ -23,7 +23,7 @@ <arguments> <argument name="formIds" xsi:type="array"> <item name="user_login" xsi:type="string">user_login</item> - <item name="checkout_email" xsi:type="string">checkout_email</item> + <item name="guest_checkout" xsi:type="string">guest_checkout</item> </argument> </arguments> </type> diff --git a/app/code/Magento/Captcha/etc/frontend/di.xml b/app/code/Magento/Captcha/etc/frontend/di.xml index afe71f4faca..a768ffac2f6 100644 --- a/app/code/Magento/Captcha/etc/frontend/di.xml +++ b/app/code/Magento/Captcha/etc/frontend/di.xml @@ -17,7 +17,7 @@ <arguments> <argument name="formIds" xsi:type="array"> <item name="user_login" xsi:type="string">user_login</item> - <item name="checkout_email" xsi:type="string">checkout_email</item> + <item name="guest_checkout" xsi:type="string">guest_checkout</item> </argument> </arguments> </type> diff --git a/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml index 009ab97d9dd..85765bdf58c 100644 --- a/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml +++ b/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_index.xml @@ -35,7 +35,28 @@ <item name="captcha" xsi:type="array"> <item name="component" xsi:type="string">Magento_Captcha/js/view/checkout/loginCaptcha</item> <item name="displayArea" xsi:type="string">additional-login-form-fields</item> - <item name="formId" xsi:type="string">checkout_email</item> + <item name="formId" xsi:type="string">guest_checkout</item> + </item> + </item> + </item> + </item> + </item> + </item> + </item> + </item> + </item> + <item name="billing-step" xsi:type="array"> + <item name="children" xsi:type="array"> + <item name="payment" xsi:type="array"> + <item name="children" xsi:type="array"> + <item name="customer-email" xsi:type="array"> + <item name="children" xsi:type="array"> + <item name="additional-login-form-fields" xsi:type="array"> + <item name="children" xsi:type="array"> + <item name="captcha" xsi:type="array"> + <item name="component" xsi:type="string">Magento_Captcha/js/view/checkout/loginCaptcha</item> + <item name="displayArea" xsi:type="string">additional-login-form-fields</item> + <item name="formId" xsi:type="string">guest_checkout</item> </item> </item> </item> diff --git a/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_original.xml b/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_original.xml deleted file mode 100644 index ae35ff2516c..00000000000 --- a/app/code/Magento/Captcha/view/frontend/layout/checkout_onepage_original.xml +++ /dev/null @@ -1,47 +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="captcha" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Captcha/js/view/checkout/loginCaptcha</item> - <item name="displayArea" xsi:type="string">additional-login-form-fields</item> - <item name="formId" xsi:type="string">user_login</item> - </item> - </item> - </item> - <item name="billingAddress" xsi:type="array"> - <item name="children" xsi:type="array"> - <item name="captcha_guest_checkout" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Captcha/js/view/checkout/guestCaptcha</item> - <item name="displayArea" xsi:type="string">additional-fieldsets</item> - <item name="formId" xsi:type="string">guest_checkout</item> - <item name="dataScope" xsi:type="string">additionalAddressData</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/Captcha/view/frontend/web/js/view/checkout/defaultCaptcha.js b/app/code/Magento/Captcha/view/frontend/web/js/view/checkout/defaultCaptcha.js index 5039e6a56a4..b2de3a1cd51 100644 --- a/app/code/Magento/Captcha/view/frontend/web/js/view/checkout/defaultCaptcha.js +++ b/app/code/Magento/Captcha/view/frontend/web/js/view/checkout/defaultCaptcha.js @@ -9,11 +9,10 @@ define( 'jquery', 'ko', 'uiComponent', - 'Magento_Customer/js/model/customer', 'Magento_Captcha/js/model/captcha', 'Magento_Captcha/js/model/captchaList' ], - function ($, ko, Component, customer, Captcha, captchaList) { + function ($, ko, Component, Captcha, captchaList) { "use strict"; var captchaConfig = window.checkoutConfig.captcha; return Component.extend({ diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_original.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_original.xml deleted file mode 100644 index e06bee93e19..00000000000 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_original.xml +++ /dev/null @@ -1,300 +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> - <referenceContainer name="content"> - <block class="Magento\Checkout\Block\Onepage" name="checkout.root" template="onepage.phtml" cacheable="false"> - <arguments> - <argument name="jsLayout" xsi:type="array"> - <item name="types" xsi:type="array"> - <item name="form.input" xsi:type="array"> - <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="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/input</item> - </item> - </item> - </item> - <item name="components" xsi:type="array"> - <item name="checkout" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/onepage</item> - <item name="children" xsi:type="array"> - <item name="errors" xsi:type="array"> - <item name="sortOrder" xsi:type="string">0</item> - <item name="component" xsi:type="string">Magento_Ui/js/view/errors</item> - <item name="displayArea" xsi:type="string">errors</item> - </item> - <item name="steps" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">steps</item> - <item name="children" xsi:type="array"> - <item name="authentication" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/authentication</item> - <item name="sortOrder" xsi:type="string">1</item> - <item name="children" xsi:type="array"> - <item name="before" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">before</item> - <item name="children" xsi:type="array"> - <!-- merge additional data before authentication here --> - </item> - </item> - </item> - </item> - <item name="billingAddress" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/billing-address</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="sortOrder" xsi:type="string">2</item> - <item name="children" xsi:type="array"> - <item name="billing-address-fieldset" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</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 --> - <item name="region" xsi:type="array"> - <!-- Make region attribute invisible on frontend. Corresponding input element is created by region_id field --> - <item name="visible" xsi:type="boolean">false</item> - </item> - <item name="region_id" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/region</item> - <item name="config" xsi:type="array"> - <item name="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/select</item> - <item name="customEntry" xsi:type="string">billingAddress.region</item> - </item> - <item name="validation" xsi:type="array"> - <item name="validate-select" xsi:type="string">true</item> - </item> - <!-- Value of region_id field is filtered by the value of county_id attribute --> - <item name="filterBy" xsi:type="array"> - <item name="target" xsi:type="string"><![CDATA[<%= provider %>:<%= parentScope %>.country_id]]></item> - <item name="field" xsi:type="string">country_id</item> - </item> - </item> - <item name="postcode" xsi:type="array"> - <!-- post-code field has custom UI component --> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item> - <item name="validation" xsi:type="array"> - <item name="required-entry" xsi:type="string">true</item> - </item> - </item> - <item name="company" xsi:type="array"> - <item name="validation" xsi:type="array"> - <item name="min_text_length" xsi:type="number">0</item> - </item> - </item> - <item name="fax" xsi:type="array"> - <item name="validation" xsi:type="array"> - <item name="min_text_length" xsi:type="number">0</item> - </item> - </item> - <item name="country_id" xsi:type="array"> - <item name="sortOrder" xsi:type="string">115</item> - </item> - <!-- The following items describe fields that are not directly related to address but must be shown in address form --> - <item name="email" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item> - <item name="config" xsi:type="array"> - <item name="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/email</item> - <item name="customScope" xsi:type="string">customerDetails</item> - </item> - <item name="label" xsi:type="string">Email</item> - <item name="dataScope" xsi:type="string">customerDetails.email</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="sortOrder" xsi:type="string">45</item> - <item name="validation" xsi:type="array"> - <item name="required-entry" xsi:type="boolean">true</item> - <item name="validate-email" xsi:type="boolean">true</item> - </item> - </item> - <item name="save_in_address_book" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item> - <item name="config" xsi:type="array"> - <item name="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/checkbox</item> - </item> - <item name="description" xsi:type="string">Save in address book</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="dataScope" xsi:type="string">billingAddress.save_in_address_book</item> - </item> - </item> - </item> - <item name="billing-address-choice" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">additional-field-choice</item> - <item name="children" xsi:type="array"> - <!-- this region for different choice --> - </item> - </item> - </item> - </item> - <item name="shippingAddress" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-address</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="sortOrder" xsi:type="string">3</item> - <item name="children" xsi:type="array"> - <item name="before-fields" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">before-fields</item> - <item name="children" xsi:type="array"> - <!-- before fields --> - </item> - </item> - <item name="shipping-address-fieldset" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</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 --> - <item name="region" xsi:type="array"> - <!-- Make region attribute invisible on frontend. Corresponding input element is created by region_id field --> - <item name="visible" xsi:type="boolean">false</item> - </item> - <item name="region_id" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/region</item> - <item name="config" xsi:type="array"> - <item name="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/select</item> - <item name="customEntry" xsi:type="string">shippingAddress.region</item> - </item> - <item name="validation" xsi:type="array"> - <item name="validate-select" xsi:type="string">true</item> - </item> - <!-- Value of region_id field is filtered by the value of county_id attribute --> - <item name="filterBy" xsi:type="array"> - <item name="target" xsi:type="string"><![CDATA[<%= provider %>:<%= parentScope %>.country_id]]></item> - <item name="field" xsi:type="string">country_id</item> - </item> - </item> - <item name="postcode" xsi:type="array"> - <!-- post-code field has custom UI component --> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item> - <item name="validation" xsi:type="array"> - <item name="required-entry" xsi:type="string">true</item> - </item> - </item> - <item name="company" xsi:type="array"> - <item name="validation" xsi:type="array"> - <item name="min_text_length" xsi:type="number">0</item> - </item> - </item> - <item name="fax" xsi:type="array"> - <item name="validation" xsi:type="array"> - <item name="min_text_length" xsi:type="number">0</item> - </item> - </item> - <item name="country_id" xsi:type="array"> - <item name="sortOrder" xsi:type="string">115</item> - </item> - <item name="save_in_address_book" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item> - <item name="config" xsi:type="array"> - <item name="template" xsi:type="string">ui/form/field</item> - <item name="elementTmpl" xsi:type="string">ui/form/element/checkbox</item> - </item> - <item name="description" xsi:type="string">Save in address book</item> - <item name="provider" xsi:type="string">checkoutProvider</item> - <item name="dataScope" xsi:type="string">shippingAddress.save_in_address_book</item> - </item> - </item> - </item> - </item> - </item> - <item name="payment" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/payment</item> - <item name="sortOrder" xsi:type="string">5</item> - <item name="children" xsi:type="array"> - <item name="beforeMethods" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">beforeMethods</item> - <item name="children" xsi:type="array"> - <!-- merge additional data before payment methods here --> - </item> - </item> - <!-- merge your payment methods here --> - <item name="afterMethods" xsi:type="array"> - <item name="component" xsi:type="string">uiComponent</item> - <item name="displayArea" xsi:type="string">afterMethods</item> - <item name="children" xsi:type="array"> - <!-- merge additional data after payment methods here --> - </item> - </item> - </item> - </item> - <item name="review" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/review</item> - <item name="sortOrder" xsi:type="string">6</item> - <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="name" xsi:type="array"><item name="component" xsi:type="string">Magento_Checkout/js/view/review/item/columns/name</item></item> - <item name="price" xsi:type="array"><item name="component" xsi:type="string">Magento_Checkout/js/view/review/item/columns/price</item></item> - <item name="qty" xsi:type="array"><item name="component" xsi:type="string">Magento_Checkout/js/view/review/item/columns/qty</item></item> - <item name="subtotal" xsi:type="array"><item name="component" xsi:type="string">Magento_Checkout/js/view/review/item/columns/subtotal</item></item> - </item> - </item> - <item name="itemsBefore" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/itemsBefore</item> - <item name="children" xsi:type="array"> - <!-- merge your components here --> - </item> - </item> - <item name="itemsAfter" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/itemsAfter</item> - <item name="children" xsi:type="array"> - <!-- merge your components here --> - </item> - </item> - <item name="beforePlaceOrder" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/beforePlaceOrder</item> - <item name="children" xsi:type="array"> - <!-- merge your components here --> - </item> - </item> - <item name="totals" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/totals</item> - <item name="children" xsi:type="array"> - <item name="subtotal" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/subtotal</item> - </item> - <item name="discount" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/discount</item> - </item> - </item> - </item> - <item name="actions" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/review/actions</item> - <item name="children" xsi:type="array"> - <item name="@default" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Checkout/js/view/review/actions/default</item> - <item name="config" xsi:type="array"> - <item name="isDefault" xsi:type="boolean">true</item> - </item> - </item> - <!-- merge your components here --> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - </item> - <item name="checkoutProvider" xsi:type="array"> - <item name="component" xsi:type="string">Magento_Ui/js/lib/provider</item> - </item> - </item> - </argument> - </arguments> - </block> - </referenceContainer> - </body> -</page> diff --git a/app/code/Magento/Checkout/view/frontend/web/template/cart/authentication.html b/app/code/Magento/Checkout/view/frontend/web/template/cart/authentication.html index e7a7397371e..a2d2941754f 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/cart/authentication.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/cart/authentication.html @@ -36,6 +36,9 @@ <!-- ko foreach: getRegion('messages') --> <!-- ko template: getTemplate() --><!-- /ko --> <!--/ko--> + <!-- ko foreach: getRegion('before') --> + <!-- ko template: getTemplate() --><!-- /ko --> + <!-- /ko --> <div class="block-content" aria-labelledby="block-customer-login-heading"> <form class="form form-login" method="post" @@ -62,7 +65,12 @@ data-validate="{required:true, 'validate-password':true}"> </div> </div> + <!-- ko foreach: getRegion('additional-login-form-fields') --> + <!-- ko template: getTemplate() --><!-- /ko --> + <!-- /ko --> + </div> <div class="actions-toolbar"> + <input name="context" type="hidden" value="checkout" /> <div class="primary"> <button type="submit" class="action action-login secondary" name="send" id="send2"> <span data-bind="text: $t('Sign In')"></span> -- GitLab