diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Noroute/Index.php b/app/code/Magento/Backend/Controller/Adminhtml/Noroute/Index.php index e8251b5be6030..ce59d2fd48e5a 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/Noroute/Index.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/Noroute/Index.php @@ -34,7 +34,7 @@ public function execute() { /** @var \Magento\Backend\Model\View\Result\Page $resultPage */ $resultPage = $this->resultPageFactory->create(); - $resultPage->setStatusHeader(404, '1.1', 'Forbidden'); + $resultPage->setStatusHeader(404, '1.1', 'Not Found'); $resultPage->setHeader('Status', '404 File not found'); $resultPage->addHandle('adminhtml_noroute'); return $resultPage; diff --git a/app/code/Magento/Backend/view/adminhtml/web/template/dynamic-rows/grid.html b/app/code/Magento/Backend/view/adminhtml/web/template/dynamic-rows/grid.html index 74621806fa5fb..891ad48b33eff 100644 --- a/app/code/Magento/Backend/view/adminhtml/web/template/dynamic-rows/grid.html +++ b/app/code/Magento/Backend/view/adminhtml/web/template/dynamic-rows/grid.html @@ -85,7 +85,7 @@
+ translate="'Search strings are either normal strings or regular expressions (PCRE). They are matched in the same order as entered.'">
: diff --git a/app/code/Magento/Checkout/view/frontend/web/js/region-updater.js b/app/code/Magento/Checkout/view/frontend/web/js/region-updater.js index 82033590b1135..79050ca087740 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/region-updater.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/region-updater.js @@ -206,7 +206,7 @@ define([ regionInput.removeClass('required-entry'); } - regionList.removeClass('required-entry').hide(); + regionList.removeClass('required-entry').prop('disabled', 'disabled').hide(); regionInput.show(); label.attr('for', regionInput.attr('id')); } diff --git a/app/code/Magento/GoogleOptimizer/view/adminhtml/ui_component/cms_page_form.xml b/app/code/Magento/GoogleOptimizer/view/adminhtml/ui_component/cms_page_form.xml index 735de2bd7b177..cc9249b2d3d38 100644 --- a/app/code/Magento/GoogleOptimizer/view/adminhtml/ui_component/cms_page_form.xml +++ b/app/code/Magento/GoogleOptimizer/view/adminhtml/ui_component/cms_page_form.xml @@ -13,7 +13,12 @@ - + + + Magento\GoogleOptimizer\Block\Adminhtml\Cms\Page\EntityCmsPage + cms_page_form + + diff --git a/app/code/Magento/Quote/Model/QuoteRepository.php b/app/code/Magento/Quote/Model/QuoteRepository.php index 01c21bbbe50a7..d3967794b300a 100644 --- a/app/code/Magento/Quote/Model/QuoteRepository.php +++ b/app/code/Magento/Quote/Model/QuoteRepository.php @@ -212,7 +212,7 @@ protected function loadQuote($loadMethod, $loadField, $identifier, array $shared if ($sharedStoreIds) { $quote->setSharedStoreIds($sharedStoreIds); } - $quote->setStoreId($this->storeManager->getStore()->getId())->$loadMethod($identifier); + $quote->$loadMethod($identifier)->setStoreId($this->storeManager->getStore()->getId()); if (!$quote->getId()) { throw NoSuchEntityException::singleField($loadField, $identifier); } diff --git a/app/code/Magento/Sales/Model/Order/Shipment/ItemCreation.php b/app/code/Magento/Sales/Model/Order/Shipment/ItemCreation.php index 8c018ecee544b..f600c65e05f52 100644 --- a/app/code/Magento/Sales/Model/Order/Shipment/ItemCreation.php +++ b/app/code/Magento/Sales/Model/Order/Shipment/ItemCreation.php @@ -43,6 +43,7 @@ public function getOrderItemId() public function setOrderItemId($orderItemId) { $this->orderItemId = $orderItemId; + return $this; } /** @@ -59,6 +60,7 @@ public function getQty() public function setQty($qty) { $this->qty = $qty; + return $this; } /** diff --git a/app/code/Magento/Sales/view/frontend/templates/email/items/invoice/default.phtml b/app/code/Magento/Sales/view/frontend/templates/email/items/invoice/default.phtml index 20c2c1869fedb..1fca65932b0b0 100644 --- a/app/code/Magento/Sales/view/frontend/templates/email/items/invoice/default.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/email/items/invoice/default.phtml @@ -31,6 +31,6 @@ getQty() * 1 ?> - getItemPrice($_item) ?> + getItemPrice($_item->getOrderItem()) ?> diff --git a/app/code/Magento/Search/view/frontend/web/form-mini.js b/app/code/Magento/Search/view/frontend/web/form-mini.js index 7b2c7003074cb..e8598f46eb5be 100644 --- a/app/code/Magento/Search/view/frontend/web/form-mini.js +++ b/app/code/Magento/Search/view/frontend/web/form-mini.js @@ -286,46 +286,50 @@ define([ $.getJSON(this.options.url, { q: value }, $.proxy(function (data) { - $.each(data, function (index, element) { - var html; - - element.index = index; - html = template({ - data: element + if (data.length) { + $.each(data, function (index, element) { + var html; + + element.index = index; + html = template({ + data: element + }); + dropdown.append(html); }); - dropdown.append(html); - }); - this.responseList.indexList = this.autoComplete.html(dropdown) - .css(clonePosition) - .show() - .find(this.options.responseFieldElements + ':visible'); - - this._resetResponseList(false); - this.element.removeAttr('aria-activedescendant'); - - if (this.responseList.indexList.length) { - this._updateAriaHasPopup(true); - } else { - this._updateAriaHasPopup(false); - } - this.responseList.indexList - .on('click', function (e) { - this.responseList.selected = $(e.currentTarget); - this.searchForm.trigger('submit'); - }.bind(this)) - .on('mouseenter mouseleave', function (e) { - this.responseList.indexList.removeClass(this.options.selectClass); - $(e.target).addClass(this.options.selectClass); - this.responseList.selected = $(e.target); - this.element.attr('aria-activedescendant', $(e.target).attr('id')); - }.bind(this)) - .on('mouseout', function (e) { - if (!this._getLastElement() && this._getLastElement().hasClass(this.options.selectClass)) { - $(e.target).removeClass(this.options.selectClass); - this._resetResponseList(false); - } - }.bind(this)); + this.responseList.indexList = this.autoComplete.html(dropdown) + .css(clonePosition) + .show() + .find(this.options.responseFieldElements + ':visible'); + + this._resetResponseList(false); + this.element.removeAttr('aria-activedescendant'); + + if (this.responseList.indexList.length) { + this._updateAriaHasPopup(true); + } else { + this._updateAriaHasPopup(false); + } + + this.responseList.indexList + .on('click', function (e) { + this.responseList.selected = $(e.currentTarget); + this.searchForm.trigger('submit'); + }.bind(this)) + .on('mouseenter mouseleave', function (e) { + this.responseList.indexList.removeClass(this.options.selectClass); + $(e.target).addClass(this.options.selectClass); + this.responseList.selected = $(e.target); + this.element.attr('aria-activedescendant', $(e.target).attr('id')); + }.bind(this)) + .on('mouseout', function (e) { + if (!this._getLastElement() && + this._getLastElement().hasClass(this.options.selectClass)) { + $(e.target).removeClass(this.options.selectClass); + this._resetResponseList(false); + } + }.bind(this)); + } }, this)); } else { this._resetResponseList(true); diff --git a/app/code/Magento/Store/Model/Address/Renderer.php b/app/code/Magento/Store/Model/Address/Renderer.php index 1f44b9dcec3e3..1d0fdd7284848 100644 --- a/app/code/Magento/Store/Model/Address/Renderer.php +++ b/app/code/Magento/Store/Model/Address/Renderer.php @@ -15,6 +15,12 @@ */ class Renderer { + const DEFAULT_TEMPLATE = "{{var name}}\n" . + "{{var street_line1}}\n" . + "{{depend street_line2}}{{var street_line2}}\n{{/depend}}" . + "{{depend city}}{{var city}},{{/depend}} {{var region}} {{depend postcode}}{{var postcode}},{{/depend}}\n" . + "{{var country}}"; + /** * @var EventManager */ @@ -25,18 +31,26 @@ class Renderer */ protected $filterManager; + /** + * @var string + */ + private $template; + /** * Constructor * * @param EventManager $eventManager * @param FilterManager $filterManager + * @param string $template */ public function __construct( EventManager $eventManager, - FilterManager $filterManager + FilterManager $filterManager, + $template = self::DEFAULT_TEMPLATE ) { $this->eventManager = $eventManager; $this->filterManager = $filterManager; + $this->template = $template; } /** @@ -50,9 +64,7 @@ public function format(DataObject $storeInfo, $type = 'html') { $this->eventManager->dispatch('store_address_format', ['type' => $type, 'store_info' => $storeInfo]); $address = $this->filterManager->template( - "{{var name}}\n{{var street_line1}}\n{{depend street_line2}}{{var street_line2}}\n{{/depend}}" . - "{{depend city}}{{var city}},{{/depend}} {{var region}} {{depend postcode}}{{var postcode}},{{/depend}}\n" . - "{{var country}}", + $this->template, ['variables' => $storeInfo->getData()] ); diff --git a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js index c7fb51f813ba0..76b00f56e780c 100644 --- a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js +++ b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js @@ -244,7 +244,7 @@ define([ ], 'stripped-min-length': [ function (value, param) { - return $(value).text().length >= param; + return _.isUndefined(value) || value.length === 0 || utils.stripHtml(value).length >= param; }, $.mage.__('Please enter at least {0} characters') ],