diff --git a/.htaccess b/.htaccess index 01f8f8dd24df5bf518774b24c9843bdd0d61d73a..9f630df0ae681e1dea7bca6587f1d2e082e7a23c 100644 --- a/.htaccess +++ b/.htaccess @@ -65,13 +65,6 @@ SecFilterScanPOST Off </IfModule> -<IfModule mod_headers.c> -############################################ -## prevent clickjacking - - Header set X-Frame-Options SAMEORIGIN -</IfModule> - <IfModule mod_deflate.c> ############################################ @@ -187,4 +180,4 @@ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags - #FileETag none \ No newline at end of file + #FileETag none diff --git a/app/code/Magento/AdminNotification/Block/Window.php b/app/code/Magento/AdminNotification/Block/Window.php index e000fd732d0b3f8398c77da2a5f7d215c2900a4e..21db82ec373699bff183c8ee444503c3667c0100 100644 --- a/app/code/Magento/AdminNotification/Block/Window.php +++ b/app/code/Magento/AdminNotification/Block/Window.php @@ -76,7 +76,7 @@ class Window extends \Magento\Backend\Block\Template if ($this->canShow()) { $this->setHeaderText($this->escapeHtml(__('Incoming Message'))); $this->setCloseText($this->escapeHtml(__('close'))); - $this->setReadDetailsText($this->escapeHtml(__('Read details'))); + $this->setReadDetailsText($this->escapeHtml(__('Read Details'))); $this->setNoticeMessageText($this->escapeHtml($this->_getLatestItem()->getTitle())); $this->setNoticeMessageUrl($this->escapeUrl($this->_getLatestItem()->getUrl())); $this->setSeverityText('critical'); diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php index d1657ae076abb419e0b4f71f8c26ba27dc6a6be8..cd88e551ffec3d58a639c3859e9e146fea984026 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php @@ -14,26 +14,6 @@ class Notification extends \Magento\Backend\App\AbstractAction */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'markAsRead': - $acl = 'Magento_AdminNotification::mark_as_read'; - break; - - case 'massMarkAsRead': - $acl = 'Magento_AdminNotification::mark_as_read'; - break; - - case 'remove': - $acl = 'Magento_AdminNotification::adminnotification_remove'; - break; - - case 'massRemove': - $acl = 'Magento_AdminNotification::adminnotification_remove'; - break; - - default: - $acl = 'Magento_AdminNotification::show_list'; - } - return $this->_authorization->isAllowed($acl); + return $this->_authorization->isAllowed('Magento_AdminNotification::show_list'); } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php index ee93d06fc8c629f9f47b6c90c9c1bfff68b9b5e8..bcf66825edf6bdc85f27680298c2129b2cb46d02 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php @@ -36,4 +36,12 @@ class MarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notific } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::mark_as_read'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php index ac414106f9f893989c4ea870e68d32c486961704..78090163aa6a2a7f1a8637026c19aa70ffdc5b5b 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php @@ -38,4 +38,12 @@ class MassMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Not } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::mark_as_read'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php index 41a27163baa5269e4accd0243fe08729b67331af..4b0068520ba3e0c4f69116dc9d04de411cc0783f 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php @@ -33,4 +33,12 @@ class MassRemove extends \Magento\AdminNotification\Controller\Adminhtml\Notific } $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*'))); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::adminnotification_remove'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php index 53fc0bee4bfb89104418f3bf5b50365072dd0d72..b4fe7e0e29596d2bd81fae0ec3430e1a3f545e77 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php @@ -35,4 +35,12 @@ class Remove extends \Magento\AdminNotification\Controller\Adminhtml\Notificatio } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::adminnotification_remove'); + } } diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php index 8bed182bb26628f5529f18366adc1c2a62003a64..46eb6b5f887a7fefd2dd08342339a8a494ee1dfe 100644 --- a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php +++ b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php @@ -120,7 +120,7 @@ class Baseurl implements \Magento\Framework\Notification\MessageInterface { return __( '{{base_url}} is not recommended to use in a production environment to declare the Base Unsecure ' - . 'URL / Base Secure URL. It is highly recommended to change this value in your Magento ' + . 'URL / Base Secure URL. We highly recommend changing this value in your Magento ' . '<a href="%1">configuration</a>.', $this->_getConfigUrl() ); diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Media/Synchronization/Error.php b/app/code/Magento/AdminNotification/Model/System/Message/Media/Synchronization/Error.php index 88e85643d784e118b0e75f28037aa0b2279c332f..e3cddcb68867557fb691ebbeba857903edfeb25a 100644 --- a/app/code/Magento/AdminNotification/Model/System/Message/Media/Synchronization/Error.php +++ b/app/code/Magento/AdminNotification/Model/System/Message/Media/Synchronization/Error.php @@ -34,8 +34,7 @@ class Error extends \Magento\AdminNotification\Model\System\Message\Media\Abstra public function getText() { return __( - 'One or more media files failed to be synchronized during the media storages synchronization process. ' - . 'Refer to the log file for details.' + 'We were unable to synchronize one or more media files. Please refer to the log file for details.' ); } } diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Security.php b/app/code/Magento/AdminNotification/Model/System/Message/Security.php index 7462ab7c8370a941aaaaf528a5b55acec2a5a50c..2070466687ee8c03b58eb0f01692599f118e2368 100644 --- a/app/code/Magento/AdminNotification/Model/System/Message/Security.php +++ b/app/code/Magento/AdminNotification/Model/System/Message/Security.php @@ -135,8 +135,8 @@ class Security implements \Magento\Framework\Notification\MessageInterface public function getText() { return __( - 'Your web server is configured incorrectly. As a result, configuration files ' - . ' with sensitive information are accessible from the outside. Please contact your hosting provider.' + 'Your web server is set up incorrectly and allows unauthorized access to sensitive files. ' + . 'Please contact your hosting provider.' ); } diff --git a/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/Media/Synchronization/ErrorTest.php b/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/Media/Synchronization/ErrorTest.php index b51613857f2299ed0d09596f0381024d84c9efb9..f8db79f83d321a19bd80d4df14c0c4ac002d35e5 100644 --- a/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/Media/Synchronization/ErrorTest.php +++ b/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/Media/Synchronization/ErrorTest.php @@ -39,7 +39,7 @@ class ErrorTest extends \PHPUnit_Framework_TestCase public function testGetText() { - $messageText = 'One or more media files failed to be synchronized'; + $messageText = 'We were unable to synchronize one or more media files.'; $this->assertContains($messageText, (string)$this->_model->getText()); } diff --git a/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/SecurityTest.php b/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/SecurityTest.php index a6de88c77b5fdcdbfc718d3e2249024629f89201..9e1937dae500e264de99f2f150fe1400094a33d9 100644 --- a/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/SecurityTest.php +++ b/app/code/Magento/AdminNotification/Test/Unit/Model/System/Message/SecurityTest.php @@ -90,7 +90,7 @@ class SecurityTest extends \PHPUnit_Framework_TestCase public function testGetText() { - $messageStart = 'Your web server is configured incorrectly.'; + $messageStart = 'Your web server is set up incorrectly'; $this->assertStringStartsWith($messageStart, (string)$this->_messageModel->getText()); } diff --git a/app/code/Magento/Authorization/Model/Acl/AclRetriever.php b/app/code/Magento/Authorization/Model/Acl/AclRetriever.php index e31de3cde7727f6a6ed98b5795098c42d64a5ed3..b9ace2435556665553c45d6cadfe8c4b8c7afc6e 100644 --- a/app/code/Magento/Authorization/Model/Acl/AclRetriever.php +++ b/app/code/Magento/Authorization/Model/Acl/AclRetriever.php @@ -76,7 +76,7 @@ class AclRetriever $role = $this->_getUserRole($userType, $userId); if (!$role) { throw new AuthorizationException( - __('The role associated with the specified user cannot be found.') + __('We can\'t find the role for the user you wanted.') ); } $allowedResources = $this->getAllowedResourcesByRole($role->getId()); @@ -85,7 +85,10 @@ class AclRetriever } catch (\Exception $e) { $this->logger->critical($e); throw new LocalizedException( - __('Error happened while getting a list of allowed resources. Check exception log for details.') + __( + 'Something went wrong while compiling a list of allowed resources. ' + . 'You can find out more in the exceptions log.' + ) ); } return $allowedResources; diff --git a/app/code/Magento/Authorization/Test/Unit/Model/Acl/AclRetrieverTest.php b/app/code/Magento/Authorization/Test/Unit/Model/Acl/AclRetrieverTest.php index a5080fd657c5781cd2371fa740679e7109a0a995..620c3bbee68bc7bc17aaec6c9b063ac8b71be520 100644 --- a/app/code/Magento/Authorization/Test/Unit/Model/Acl/AclRetrieverTest.php +++ b/app/code/Magento/Authorization/Test/Unit/Model/Acl/AclRetrieverTest.php @@ -57,7 +57,7 @@ class AclRetrieverTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\AuthorizationException - * @expectedExceptionMessage The role associated with the specified user cannot be found. + * @expectedExceptionMessage We can't find the role for the user you wanted. */ public function testGetAllowedResourcesByUserRoleNotFound() { diff --git a/app/code/Magento/Backend/Block/Cache.php b/app/code/Magento/Backend/Block/Cache.php index a3d7113177a0d73bd74cf3799ebf4d41d780936d..bbd3fc60f4e0cd9b910e4716e2eb9701ad7698ba 100644 --- a/app/code/Magento/Backend/Block/Cache.php +++ b/app/code/Magento/Backend/Block/Cache.php @@ -27,7 +27,7 @@ class Cache extends \Magento\Backend\Block\Widget\Grid\Container ] ); - $message = __('Cache storage may contain additional data. Are you sure that you want flush it?'); + $message = __('The cache storage may contain additional data. Are you sure that you want to flush it?'); $this->buttonList->add( 'flush_system', [ diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Account/Save.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Account/Save.php index 5014fd07b5319f4993da6c94bb7fc7ec8e7b3b9e..4607cd6127401989c6552d9318601d5b4a8d4089 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Account/Save.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Account/Save.php @@ -57,7 +57,7 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\Account if ($password !== '') { $user->sendPasswordResetNotificationEmail(); } - $this->messageManager->addSuccess(__('The account has been saved.')); + $this->messageManager->addSuccess(__('You saved the account.')); } catch (ValidatorException $e) { $this->messageManager->addMessages($e->getMessages()); if ($e->getMessage()) { diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Design/Delete.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Design/Delete.php index 869f8af7923470767c96804afbd59e84266ffda8..cec54abf608784ceea036b2493ecfd3904d7917e 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Design/Delete.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Design/Delete.php @@ -23,7 +23,7 @@ class Delete extends \Magento\Backend\Controller\Adminhtml\System\Design } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __("Cannot delete the design change.")); + $this->messageManager->addException($e, __("You can't delete the design change.")); } } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php index a6efb535ec2658ac32c0ef66f1a3472bcdeb322a..caeb74e7c9ec7176b04d4c40ac2c49eac4666a1e 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php @@ -113,7 +113,7 @@ class Store extends Action } catch (\Exception $e) { $this->messageManager->addException( $e, - __('We couldn\'t create a backup right now. Please try again later.') + __('We can\'t create a backup right now. Please try again later.') ); return false; } diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroup.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroup.php index 31ef91803bb1af6611af6b1724bb372445d1c003..3604948ee6bf0a021904e6a346adbb8c0b35c37e 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroup.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroup.php @@ -15,7 +15,7 @@ class DeleteGroup extends \Magento\Backend\Controller\Adminhtml\System\Store { $itemId = $this->getRequest()->getParam('item_id', null); if (!($model = $this->_objectManager->create('Magento\Store\Model\Group')->load($itemId))) { - $this->messageManager->addError(__('Unable to proceed. Please, try again.')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); /** @var \Magento\Backend\Model\View\Result\Redirect $redirectResult */ $redirectResult = $this->resultRedirectFactory->create(); return $redirectResult->setPath('adminhtml/*/'); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroupPost.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroupPost.php index 2ccdc47b5bdb862cd055755467c440ce32c0ea6f..fe67adeca9055e33ad77871332ffeea20b6f37aa 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroupPost.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteGroupPost.php @@ -21,7 +21,7 @@ class DeleteGroupPost extends \Magento\Backend\Controller\Adminhtml\System\Store $redirectResult = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); if (!($model = $this->_objectManager->create('Magento\Store\Model\Group')->load($itemId))) { - $this->messageManager->addError(__('Unable to proceed. Please, try again.')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); return $redirectResult->setPath('adminhtml/*/'); } if (!$model->isCanDelete()) { @@ -35,7 +35,7 @@ class DeleteGroupPost extends \Magento\Backend\Controller\Adminhtml\System\Store try { $model->delete(); - $this->messageManager->addSuccess(__('The store has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the store.')); return $redirectResult->setPath('adminhtml/*/'); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStore.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStore.php index 65b4ec34cccfb53bf414537223c2db1c16d88424..826f8493fa0723926b8e3a81275275ac138f6a32 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStore.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStore.php @@ -15,7 +15,7 @@ class DeleteStore extends \Magento\Backend\Controller\Adminhtml\System\Store { $itemId = $this->getRequest()->getParam('item_id', null); if (!($model = $this->_objectManager->create('Magento\Store\Model\Store')->load($itemId))) { - $this->messageManager->addError(__('Unable to proceed. Please, try again.')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); /** @var \Magento\Backend\Model\View\Result\Redirect $redirectResult */ $redirectResult = $this->resultRedirectFactory->create(); return $redirectResult->setPath('adminhtml/*/'); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStorePost.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStorePost.php index a5162314f5874c3e4c301fb76bd027aa9cac1ae1..c7764a1b20489c19f8689809ebf5808ce004986f 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStorePost.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteStorePost.php @@ -22,7 +22,7 @@ class DeleteStorePost extends \Magento\Backend\Controller\Adminhtml\System\Store /** @var \Magento\Backend\Model\View\Result\Redirect $redirectResult */ $redirectResult = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); if (!($model = $this->_objectManager->create('Magento\Store\Model\Store')->load($itemId))) { - $this->messageManager->addError(__('Unable to proceed. Please, try again')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); return $redirectResult->setPath('adminhtml/*/'); } if (!$model->isCanDelete()) { @@ -39,7 +39,7 @@ class DeleteStorePost extends \Magento\Backend\Controller\Adminhtml\System\Store $this->_eventManager->dispatch('store_delete', ['store' => $model]); - $this->messageManager->addSuccess(__('The store view has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the store view.')); return $redirectResult->setPath('adminhtml/*/'); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsite.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsite.php index 684b10c8c2365254482154daafc3cf1dedf241fb..ea67a101763020bf9ba931b68f3e14fc2446eb73 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsite.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsite.php @@ -15,7 +15,7 @@ class DeleteWebsite extends \Magento\Backend\Controller\Adminhtml\System\Store { $itemId = $this->getRequest()->getParam('item_id', null); if (!($model = $this->_objectManager->create('Magento\Store\Model\Website')->load($itemId))) { - $this->messageManager->addError(__('Unable to proceed. Please, try again.')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); /** @var \Magento\Backend\Model\View\Result\Redirect $redirectResult */ $redirectResult = $this->resultRedirectFactory->create(); return $redirectResult->setPath('adminhtml/*/'); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsitePost.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsitePost.php index ca6541bd357bf9eb5562a079e5fe32db05341570..6951bc3b3a9af1eef09520b35d79a33bc74ea719 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsitePost.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/DeleteWebsitePost.php @@ -23,7 +23,7 @@ class DeleteWebsitePost extends \Magento\Backend\Controller\Adminhtml\System\Sto $redirectResult = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); if (!$model) { - $this->messageManager->addError(__('Unable to proceed. Please, try again')); + $this->messageManager->addError(__('Something went wrong. Please try again.')); return $redirectResult->setPath('adminhtml/*/'); } if (!$model->isCanDelete()) { @@ -37,7 +37,7 @@ class DeleteWebsitePost extends \Magento\Backend\Controller\Adminhtml\System\Sto try { $model->delete(); - $this->messageManager->addSuccess(__('The website has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the website.')); return $redirectResult->setPath('adminhtml/*/'); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/EditStore.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/EditStore.php index 23a5e5c0fd95b5ed5376ca5fa20774846f5a44e7..f6521a418f4bd2559e21b0f968ac30c604997a4d 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/EditStore.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/EditStore.php @@ -31,7 +31,7 @@ class EditStore extends \Magento\Backend\Controller\Adminhtml\System\Store $model = $this->_objectManager->create('Magento\Store\Model\Website'); $title = __("Web Site"); $notExists = __("The website does not exist."); - $codeBase = __('Before modifying the website code please make sure that it is not used in index.php.'); + $codeBase = __('Before modifying the website code please make sure it is not used in index.php.'); break; case 'group': $itemId = $this->getRequest()->getParam('group_id', null); @@ -45,9 +45,7 @@ class EditStore extends \Magento\Backend\Controller\Adminhtml\System\Store $model = $this->_objectManager->create('Magento\Store\Model\Store'); $title = __("Store View"); $notExists = __("Store view doesn't exist"); - $codeBase = __( - 'Before modifying the store view code please make sure that it is not used in index.php.' - ); + $codeBase = __('Before modifying the store view code please make sure it is not used in index.php.'); break; default: break; diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/Save.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/Save.php index a1bcca38c9c39f8608b28dcf216290e3b84532e8..7f2152e1e89c81c5789c93f01886753537e9f127 100644 --- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store/Save.php +++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store/Save.php @@ -37,7 +37,7 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\Store } $websiteModel->save(); - $this->messageManager->addSuccess(__('The website has been saved.')); + $this->messageManager->addSuccess(__('You saved the website.')); break; case 'group': @@ -55,7 +55,7 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\Store $this->_eventManager->dispatch('store_group_save', ['group' => $groupModel]); - $this->messageManager->addSuccess(__('The store has been saved.')); + $this->messageManager->addSuccess(__('You saved the store.')); break; case 'store': @@ -82,7 +82,7 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\Store $this->_eventManager->dispatch($eventName, ['store' => $storeModel]); - $this->messageManager->addSuccess(__('The store view has been saved')); + $this->messageManager->addSuccess(__('You saved the store view.')); break; default: $redirectResult->setPath('adminhtml/*/'); @@ -96,7 +96,7 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\Store } catch (\Exception $e) { $this->messageManager->addException( $e, - __('An error occurred while saving. Please review the error log.') + __('Something went wrong while saving. Please review the error log.') ); $this->_getSession()->setPostData($postData); } diff --git a/app/code/Magento/Backend/Test/Unit/Controller/Adminhtml/System/Account/SaveTest.php b/app/code/Magento/Backend/Test/Unit/Controller/Adminhtml/System/Account/SaveTest.php index 97300a8bf58b3cd3b12a6abad43945beb75de53c..b63c4f1e1a5ad33a38144569dba89dcda1892fa7 100644 --- a/app/code/Magento/Backend/Test/Unit/Controller/Adminhtml/System/Account/SaveTest.php +++ b/app/code/Magento/Backend/Test/Unit/Controller/Adminhtml/System/Account/SaveTest.php @@ -136,7 +136,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase \Magento\Backend\Block\System\Account\Edit\Form::IDENTITY_VERIFICATION_PASSWORD_FIELD => 'current_password', ]; - $testedMessage = 'The account has been saved.'; + $testedMessage = 'You saved the account.'; $this->_authSessionMock->expects($this->any())->method('getUser')->will($this->returnValue($this->_userMock)); diff --git a/app/code/Magento/Backend/etc/adminhtml/di.xml b/app/code/Magento/Backend/etc/adminhtml/di.xml index 553d30e85541f36dbd0a50834d1d146d99b84d5d..cccd487a9f5662ca3ee4ec187ecb4a4942ce8f9e 100644 --- a/app/code/Magento/Backend/etc/adminhtml/di.xml +++ b/app/code/Magento/Backend/etc/adminhtml/di.xml @@ -122,4 +122,9 @@ </argument> </arguments> </type> + <type name="Magento\Framework\App\Response\XFrameOptPlugin"> + <arguments> + <argument name="xFrameOpt" xsi:type="const">Magento\Framework\App\Response\XFrameOptPlugin::BACKEND_X_FRAME_OPT</argument> + </arguments> + </type> </config> diff --git a/app/code/Magento/Backend/etc/adminhtml/system.xml b/app/code/Magento/Backend/etc/adminhtml/system.xml index 0f30c62e4a55f81b3ab802d60ec638f02b5a09a0..858101e90267aa01b8fc0f75d82447955297ef10 100644 --- a/app/code/Magento/Backend/etc/adminhtml/system.xml +++ b/app/code/Magento/Backend/etc/adminhtml/system.xml @@ -180,7 +180,7 @@ <group id="translate_inline" translate="label" type="text" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="1"> <label>Translate Inline</label> <field id="active" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1"> - <label>Enabled for Frontend</label> + <label>Enabled for Storefront</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <backend_model>Magento\Config\Model\Config\Backend\Translate</backend_model> </field> @@ -188,7 +188,7 @@ <label>Enabled for Admin</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <backend_model>Magento\Config\Model\Config\Backend\Translate</backend_model> - <comment>Translate, blocks and other output caches should be disabled for both frontend and admin inline translations.</comment> + <comment>Translate, blocks and other output caches should be disabled for both Storefront and Admin inline translations.</comment> </field> </group> <group id="js" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1"> @@ -410,7 +410,7 @@ <depends> <field id="use_custom_path">1</field> </depends> - <comment>You will have to log in after you save your custom admin path.</comment> + <comment>You will have to sign in after you save your custom admin path.</comment> </field> </group> <group id="security" translate="label" type="text" sortOrder="35" showInDefault="1" showInWebsite="0" showInStore="0"> @@ -513,10 +513,10 @@ <comment>May be empty or start with {{secure_base_url}}, or {{unsecure_base_url}} placeholder.</comment> </field> <field id="use_in_frontend" translate="label" type="select" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="1"> - <label>Use Secure URLs in Frontend</label> + <label>Use Secure URLs on Storefront</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <backend_model>Magento\Config\Model\Config\Backend\Secure</backend_model> - <comment>Enter https protocol to use Secure URLs in Frontend.</comment> + <comment>Enter https protocol to use Secure URLs on Storefront.</comment> </field> <field id="use_in_adminhtml" translate="label" type="select" sortOrder="60" showInDefault="1" showInWebsite="0" showInStore="0"> <label>Use Secure URLs in Admin</label> @@ -556,7 +556,7 @@ <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> <field id="use_frontend_sid" translate="label comment" type="select" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="0"> - <label>Use SID on Frontend</label> + <label>Use SID on Storefront</label> <comment>Allows customers to stay logged in when switching between different stores.</comment> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> diff --git a/app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml b/app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml index c9ca42066628c32e5246453f02b9a1ff57137ce6..a094fbf83e81dea3ea2b74c600c258e2bfabcab2 100644 --- a/app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml +++ b/app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml @@ -116,7 +116,7 @@ $numColumns = sizeof($block->getColumns()); <?php echo __('of %1', '<span>' . $block->getCollection()->getLastPageNumber() . '</span>') ?> </label> <?php if ($_curPage < $_lastPage): ?> - <button href="#" + <button type="button" title="<?php echo __('Next page') ?>" class="action-next" onclick="<?php echo $block->getJsObjectName() ?>.setPage('<?php echo($_curPage + 1) ?>');return false;"> diff --git a/app/code/Magento/Backend/view/adminhtml/templates/widget/tabs.phtml b/app/code/Magento/Backend/view/adminhtml/templates/widget/tabs.phtml index 2b5d4b4b35892e66d774ebee5ba58ee99f54ad30..89f5dc34a428b5a121600c4074d3e42f848a4117 100644 --- a/app/code/Magento/Backend/view/adminhtml/templates/widget/tabs.phtml +++ b/app/code/Magento/Backend/view/adminhtml/templates/widget/tabs.phtml @@ -43,7 +43,7 @@ <span class="admin__page-nav-item-message _error"> <span class="admin__page-nav-item-message-icon"></span> <span class="admin__page-nav-item-message-tooltip"> - <?php echo __('This tab contains invalid data. Please solve the problem before saving.'); ?> + <?php echo __('This tab contains invalid data. Please resolve this before saving.'); ?> </span> </span> <span class="admin__page-nav-item-message-loader"> diff --git a/app/code/Magento/Backend/view/adminhtml/templates/widget/tabshoriz.phtml b/app/code/Magento/Backend/view/adminhtml/templates/widget/tabshoriz.phtml index 1c9a6437041b4cc505d0725751bf588a3e825365..45e939d58d561869f4eb5956727553fc4bc1ace8 100644 --- a/app/code/Magento/Backend/view/adminhtml/templates/widget/tabshoriz.phtml +++ b/app/code/Magento/Backend/view/adminhtml/templates/widget/tabshoriz.phtml @@ -21,7 +21,7 @@ <a href="<?php echo $_tabHref?>" id="<?php echo $block->getTabId($_tab) ?>" title="<?php echo $block->getTabTitle($_tab) ?>" class="<?php $_tabClass ?>" data-tab-type="<?php $_tabType ?>"> <span> <span class="changed" title="<?php echo __('The information in this tab has been changed.') ?>"></span> - <span class="error" title="<?php echo __('This tab contains invalid data. Please solve the problem before saving.') ?>"></span> + <span class="error" title="<?php echo __('This tab contains invalid data. Please resolve this before saving.') ?>"></span> <span class="loader" title="<?php echo __('Loading...') ?>"></span> <?php echo $block->getTabLabel($_tab) ?> </span> diff --git a/app/code/Magento/Backup/Controller/Adminhtml/Index/Create.php b/app/code/Magento/Backup/Controller/Adminhtml/Index/Create.php index 3597571146444fc2d43d330908913623dcbb1500..abe181923cab8c0324fd809f4cafb84961c3a990 100644 --- a/app/code/Magento/Backup/Controller/Adminhtml/Index/Create.php +++ b/app/code/Magento/Backup/Controller/Adminhtml/Index/Create.php @@ -60,12 +60,12 @@ class Create extends \Magento\Backup\Controller\Adminhtml\Index __( 'You need more permissions to activate maintenance mode right now.' ) . ' ' . __( - 'To continue with the backup, you need to either deselect ' . - '"Put store on the maintenance mode" or update your permissions.' + 'To create the backup, please deselect ' + . '"Put store into maintenance mode" or update your permissions.' ) ); $backupManager->setErrorMessage( - __("Something went wrong putting your store into maintenance mode.") + __("Something went wrong while putting your store into maintenance mode.") ); return $this->getResponse()->representJson($response->toJson()); } @@ -92,7 +92,7 @@ class Create extends \Magento\Backup\Controller\Adminhtml\Index $errorMessage = __('You need more permissions to create a backup.'); } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->info($e->getMessage()); - $errorMessage = __('Something went wrong creating the backup.'); + $errorMessage = __('We can\'t create the backup right now.'); } if (!empty($errorMessage)) { diff --git a/app/code/Magento/Backup/Controller/Adminhtml/Index/MassDelete.php b/app/code/Magento/Backup/Controller/Adminhtml/Index/MassDelete.php index cfef7d14a15a18282cc5744579994e30dc7a7406..9980008a84c36cf330f134b95735a3ca088a5e92 100644 --- a/app/code/Magento/Backup/Controller/Adminhtml/Index/MassDelete.php +++ b/app/code/Magento/Backup/Controller/Adminhtml/Index/MassDelete.php @@ -26,7 +26,7 @@ class MassDelete extends \Magento\Backup\Controller\Adminhtml\Index $resultData->setDeleteResult([]); $this->_coreRegistry->register('backup_manager', $resultData); - $deleteFailMessage = __('We couldn\'t delete one or more backups.'); + $deleteFailMessage = __('We can\'t delete one or more backups.'); try { $allBackupsDeleted = true; @@ -49,7 +49,7 @@ class MassDelete extends \Magento\Backup\Controller\Adminhtml\Index $resultData->setIsSuccess(true); if ($allBackupsDeleted) { - $this->messageManager->addSuccess(__('The selected backup(s) has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the selected backup(s).')); } else { throw new \Exception($deleteFailMessage); } diff --git a/app/code/Magento/Backup/Controller/Adminhtml/Index/Rollback.php b/app/code/Magento/Backup/Controller/Adminhtml/Index/Rollback.php index d797caeebfb4d9ca9f2f93a1a1cf93d22b79798c..ccc74f6d9ef5a959a47b6da89c2afad72cfbf394 100644 --- a/app/code/Magento/Backup/Controller/Adminhtml/Index/Rollback.php +++ b/app/code/Magento/Backup/Controller/Adminhtml/Index/Rollback.php @@ -84,12 +84,12 @@ class Rollback extends \Magento\Backup\Controller\Adminhtml\Index __( 'You need more permissions to activate maintenance mode right now.' ) . ' ' . __( - 'To continue with the rollback, you need to either deselect ' . - '"Put store on the maintenance mode" or update your permissions.' + 'To complete the rollback, please deselect ' + . '"Put store into maintenance mode" or update your permissions.' ) ); $backupManager->setErrorMessage( - __('Something went wrong putting your store into maintenance mode.') + __('Something went wrong while putting your store into maintenance mode.') ); return $this->getResponse()->representJson($response->toJson()); } @@ -120,17 +120,17 @@ class Rollback extends \Magento\Backup\Controller\Adminhtml\Index $response->setRedirectUrl($this->getUrl('*')); } catch (\Magento\Framework\Backup\Exception\CantLoadSnapshot $e) { - $errorMsg = __('The backup file was not found.'); + $errorMsg = __('We can\'t find the backup file.'); } catch (\Magento\Framework\Backup\Exception\FtpConnectionFailed $e) { - $errorMsg = __('We couldn\'t connect to the FTP.'); + $errorMsg = __('We can\'t connect to the FTP right now.'); } catch (\Magento\Framework\Backup\Exception\FtpValidationFailed $e) { - $errorMsg = __('Failed to validate FTP'); + $errorMsg = __('Failed to validate FTP.'); } catch (\Magento\Framework\Backup\Exception\NotEnoughPermissions $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->info($e->getMessage()); - $errorMsg = __('Not enough permissions to perform rollback.'); + $errorMsg = __('You need more permissions to perform a rollback.'); } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->info($e->getMessage()); - $errorMsg = __('Failed to rollback'); + $errorMsg = __('Failed to rollback.'); } if (!empty($errorMsg)) { diff --git a/app/code/Magento/Backup/Helper/Data.php b/app/code/Magento/Backup/Helper/Data.php index 5d00bd24aa7ecaecd9846214c06a3950147582c6..cc70c3eb28b73188c285a004cec235b287ffe6a2 100644 --- a/app/code/Magento/Backup/Helper/Data.php +++ b/app/code/Magento/Backup/Helper/Data.php @@ -208,12 +208,12 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper public function getCreateSuccessMessageByType($type) { $messagesMap = [ - \Magento\Framework\Backup\Factory::TYPE_SYSTEM_SNAPSHOT => __('The system backup has been created.'), + \Magento\Framework\Backup\Factory::TYPE_SYSTEM_SNAPSHOT => __('You created the system backup.'), \Magento\Framework\Backup\Factory::TYPE_SNAPSHOT_WITHOUT_MEDIA => __( - 'The system backup (excluding media) has been created.' + 'You created the system backup (excluding media).' ), - \Magento\Framework\Backup\Factory::TYPE_MEDIA => __('The database and media backup has been created.'), - \Magento\Framework\Backup\Factory::TYPE_DB => __('The database backup has been created.'), + \Magento\Framework\Backup\Factory::TYPE_MEDIA => __('You created the database and media backup.'), + \Magento\Framework\Backup\Factory::TYPE_DB => __('You created the database backup.'), ]; if (!isset($messagesMap[$type])) { diff --git a/app/code/Magento/Backup/Model/Backup.php b/app/code/Magento/Backup/Model/Backup.php index a19cf7091903b12ebf12db04d5919bbf84d4f8dc..0994b903703191635276286ca1ceeea78166bd33 100755 --- a/app/code/Magento/Backup/Model/Backup.php +++ b/app/code/Magento/Backup/Model/Backup.php @@ -357,7 +357,7 @@ class Backup extends \Magento\Framework\Object implements \Magento\Framework\Bac $this->_getStream()->write($string); } catch (\Magento\Framework\Exception\FileSystemException $e) { throw new \Magento\Framework\Exception\InputException( - __('Something went wrong writing to the backup file "%1".', $this->getFileName()) + __('Something went wrong while writing to the backup file "%1".', $this->getFileName()) ); } diff --git a/app/code/Magento/Backup/view/adminhtml/templates/backup/dialogs.phtml b/app/code/Magento/Backup/view/adminhtml/templates/backup/dialogs.phtml index ef121271e5ccda5a1c83ac7ba7f1ffb790878a2b..5401dcbca9d03101f0834b918e4158f4e82c14ce 100644 --- a/app/code/Magento/Backup/view/adminhtml/templates/backup/dialogs.phtml +++ b/app/code/Magento/Backup/view/adminhtml/templates/backup/dialogs.phtml @@ -17,8 +17,8 @@ <div class="popup-content"> <div class="messages"> <div class="message message-warning"> - <p><?php echo __('Any data created since the backup was made will be lost including admin users, customers and orders.')?></p> - <p><?php echo __('Are you sure you want to proceed?')?></p> + <p><?php echo __('You will lose any data created since the backup was made, including admin users, customers and orders.')?></p> + <p><?php echo __('Are you sure you want to continue?')?></p> </div> </div> @@ -40,7 +40,7 @@ <div class="popup-content"> <div class="messages"> <div class="message message-warning"> - <?php echo __("It will take time to create a backup. ")?><?php echo __('Please wait until the action ends.')?><br> + <?php echo __("It will take time to create a backup. ")?><?php echo __('Please wait while we create your backup.')?><br> <?php echo __('Are you sure you want to continue?')?> </div> </div> @@ -115,7 +115,7 @@ <div class="message message-warning"> <?php echo __('Please enter the password to confirm rollback.')?><br> <?php echo __('This action cannot be undone.')?> - <p><?php echo __('Are you sure you want to proceed?')?></p> + <p><?php echo __('Are you sure you want to continue?')?></p> </div> </div> <form action="" method="post" id="rollback-form" class="form-inline"> diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php index 6c7dfa4a80d1e2ba9643ef78b4e365fb2f7d42ae..eab043bd0044b9f9b06d4e91446c9339fba2cb09 100644 --- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php +++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php @@ -118,7 +118,7 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended if ($this->getFirstShow()) { $collection->addIdFilter('-1'); - $this->setEmptyText(__('Please enter search conditions to view products.')); + $this->setEmptyText(__('What are you looking for?')); } $this->setCollection($collection); diff --git a/app/code/Magento/Bundle/Model/Product/Type.php b/app/code/Magento/Bundle/Model/Product/Type.php index f183de707ca487db858664414f7d8b43a221fc86..78a4dd754c66d8dd761c9483db3af16caad6fbeb 100644 --- a/app/code/Magento/Bundle/Model/Product/Type.php +++ b/app/code/Magento/Bundle/Model/Product/Type.php @@ -1319,7 +1319,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType if (!isset($_result[0])) { throw new \Magento\Framework\Exception\LocalizedException( - __('We can\'t add this item to your cart right now.') + __('We can\'t add this item to your shopping cart right now.') ); } } diff --git a/app/code/Magento/Bundle/Test/Unit/Model/Product/TypeTest.php b/app/code/Magento/Bundle/Test/Unit/Model/Product/TypeTest.php index 64b4c6789f3cd54959a16be74fac68263b8ff396..9fe5ccb2daeffcb0a22b4541e47c2608741c302d 100644 --- a/app/code/Magento/Bundle/Test/Unit/Model/Product/TypeTest.php +++ b/app/code/Magento/Bundle/Test/Unit/Model/Product/TypeTest.php @@ -695,7 +695,7 @@ class TypeTest extends \PHPUnit_Framework_TestCase ->willReturn(3.14); $result = $this->model->prepareForCartAdvanced($buyRequest, $product); - $this->assertEquals('We can\'t add this item to your cart right now.', $result); + $this->assertEquals('We can\'t add this item to your shopping cart right now.', $result); } /** diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/radio.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/radio.phtml index aa91cf9e455abb8c14170b661eb7af6c5d6d20cb..be5e42dbdbeb6f18656831461836e361dd191357 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/radio.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/radio.phtml @@ -60,7 +60,7 @@ <?php endif; ?> <div class="field admin__field qty"> <label class="label admin__field-label" - for="bundle-option-<?php echo $_option->getId() ?>-qty-input"><span><?php echo __('Qty:') ?></span></label> + for="bundle-option-<?php echo $_option->getId() ?>-qty-input"><span><?php echo __('Quantity:') ?></span></label> <div class="control admin__field-control"><input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text admin__control-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/select.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/select.phtml index 9605342dff7b4f9cbb51999cac317656b3b1e5c3..23ccd1f7084850cf549a3242f0a1efb63342778d 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/select.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/product/composite/fieldset/options/type/select.phtml @@ -40,7 +40,7 @@ <div class="nested"> <div class="field admin__field qty"> <label class="label admin__field-label" - for="bundle-option-<?php echo $_option->getId() ?>-qty-input"><span><?php echo __('Qty:') ?></span></label> + for="bundle-option-<?php echo $_option->getId() ?>-qty-input"><span><?php echo __('Quantity:') ?></span></label> <div class="control admin__field-control"> <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" diff --git a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/radio.phtml b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/radio.phtml index f630eae06bb319a057cc215fe15a4600785e88f2..5dc71ec3aaa92af894f6c6350976f62b1eec7ca8 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/radio.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/radio.phtml @@ -59,7 +59,7 @@ <?php endif; ?> <div class="field qty qty-holder"> <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input"> - <span><?php echo __('Qty') ?></span> + <span><?php echo __('Quantity') ?></span> </label> <div class="control"> <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/select.phtml b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/select.phtml index 4edb1eb2f86666389b65c2a64981c20f01ca21a4..b2737e90aa10f7334a06f00662a6692cb00993be 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/select.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/select.phtml @@ -42,7 +42,7 @@ <div class="nested"> <div class="field qty qty-holder"> <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input"> - <span><?php echo __('Qty') ?></span> + <span><?php echo __('Quantity') ?></span> </label> <div class="control"> <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml index 3d908583e199610eb48aad5ce83126bf957a9ca8..85ab2f080cc6086aded54f77dfc5caca314fbd4f 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml @@ -50,7 +50,7 @@ <?php endif; ?> </td> - <td class="col qty" data-th="<?php echo $block->escapeHtml(__('Qty')); ?>"> + <td class="col qty" data-th="<?php echo $block->escapeHtml(__('Quantity')); ?>"> <?php if ($block->canShowPriceInfo($_item)): ?> <?php echo $_item->getQty()*1 ?> <?php else: ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml index c50b8cfdac980447385bf4367eb3dfddbf07c789..e3061c2df35d6c62073742eec40c11c4a44ac5ee 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml @@ -48,7 +48,7 @@ <?php endif; ?> </td> - <td class="col qty" data-th="<?php echo $block->escapeHtml(__('Qty')); ?>"> + <td class="col qty" data-th="<?php echo $block->escapeHtml(__('Quantity')); ?>"> <?php if ( ($_item->getParentItem() && $block->isChildCalculated()) || (!$_item->getParentItem() && !$block->isChildCalculated()) || ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $block->isShipmentSeparately())):?> diff --git a/app/code/Magento/Captcha/etc/adminhtml/system.xml b/app/code/Magento/Captcha/etc/adminhtml/system.xml index 08d4a06aa6bbfab496f82388855381bcf1bc69f3..d1777164dc91644cc64ae91c4e06f1017ac9c92d 100644 --- a/app/code/Magento/Captcha/etc/adminhtml/system.xml +++ b/app/code/Magento/Captcha/etc/adminhtml/system.xml @@ -82,7 +82,7 @@ <group id="captcha" translate="label" type="text" sortOrder="110" showInDefault="1" showInWebsite="1" showInStore="0"> <label>CAPTCHA</label> <field id="enable" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0"> - <label>Enable CAPTCHA on Frontend</label> + <label>Enable CAPTCHA on Storefront</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> <field id="font" translate="label" type="select" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="0"> diff --git a/app/code/Magento/Captcha/etc/config.xml b/app/code/Magento/Captcha/etc/config.xml index 8c91d2c706f152873ceedd4c1da7ec8de75531d6..acb9a76cdbfcdd35a11efa0ed0e6e42a2c402305 100644 --- a/app/code/Magento/Captcha/etc/config.xml +++ b/app/code/Magento/Captcha/etc/config.xml @@ -77,7 +77,7 @@ <label>Forgot password</label> </user_forgotpassword> <guest_checkout> - <label>Checkout as Guest</label> + <label>Check Out as Guest</label> </guest_checkout> <register_during_checkout> <label>Register during Checkout</label> diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php index 29f7d7227a290bac1a230be877481c0d9f3d4094..96d204f7400e01651de1a2b2e75af3cec9c569a4 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php @@ -54,9 +54,9 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container $this->addButton( 'save_in_new_set', [ - 'label' => __('Save in New Attribute Set'), + 'label' => __('Save in New Product Template'), 'class' => 'save', - 'onclick' => 'saveAttributeInNewSet(\'' . __('Enter Name for New Attribute Set') . '\')' + 'onclick' => 'saveAttributeInNewSet(\'' . __('Enter Name for New Product Template') . '\')' ], 100 ); diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php index c974a84d624dd149239a3526b00d914df343b4de..77aa77bdae4738cde63faa607ff5efb5192016a4 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php @@ -72,7 +72,7 @@ class Front extends Generic $fieldset = $form->addFieldset( 'front_fieldset', - ['legend' => __('Frontend Properties'), 'collapsable' => $this->getRequest()->has('popup')] + ['legend' => __('Storefront Properties'), 'collapsable' => $this->getRequest()->has('popup')] ); $fieldset->addField( @@ -102,8 +102,8 @@ class Front extends Generic 'select', [ 'name' => 'is_comparable', - 'label' => __('Comparable on Frontend'), - 'title' => __('Comparable on Frontend'), + 'label' => __('Comparable on Storefront'), + 'title' => __('Comparable on Storefront'), 'values' => $yesnoSource, ] ); @@ -137,8 +137,8 @@ class Front extends Generic 'select', [ 'name' => 'is_html_allowed_on_front', - 'label' => __('Allow HTML Tags on Frontend'), - 'title' => __('Allow HTML Tags on Frontend'), + 'label' => __('Allow HTML Tags on Storefront'), + 'title' => __('Allow HTML Tags on Storefront'), 'values' => $yesnoSource, ] ); @@ -151,8 +151,8 @@ class Front extends Generic 'select', [ 'name' => 'is_visible_on_front', - 'label' => __('Visible on Catalog Pages on Frontend'), - 'title' => __('Visible on Catalog Pages on Frontend'), + 'label' => __('Visible on Catalog Pages on Storefront'), + 'title' => __('Visible on Catalog Pages on Storefront'), 'values' => $yesnoSource ] ); diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tabs.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tabs.php index 52ba2586a6fa8f23e48ac41cabf47f22895b7e50..45a95f5f01019da85727b4252f3f91dc0baa9508 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tabs.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tabs.php @@ -49,8 +49,8 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs $this->addTab( 'front', [ - 'label' => __('Frontend Properties'), - 'title' => __('Frontend Properties'), + 'label' => __('Storefront Properties'), + 'title' => __('Storefront Properties'), 'content' => $this->getChildHtml('front') ] ); diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php index 7f97d5935030e885de468a3b01698129c32ab737..437fd4fc2b1365905649cc58425a546213d61bdc 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php @@ -126,11 +126,11 @@ class Main extends \Magento\Backend\Block\Template 'delete_button', 'Magento\Backend\Block\Widget\Button', [ - 'label' => __('Delete Attribute Set'), + 'label' => __('Delete'), 'onclick' => 'deleteConfirm(\'' . $this->escapeJsQuote( __( - 'You are about to delete all products in this set. ' . - 'Are you sure you want to delete this attribute set?' + 'You are about to delete all products in this product template. ' + . 'Are you sure you want to do that?' ) ) . '\', \'' . $this->getUrl( 'catalog/*/delete', @@ -145,7 +145,7 @@ class Main extends \Magento\Backend\Block\Template 'save_button', 'Magento\Backend\Block\Widget\Button', [ - 'label' => __('Save Attribute Set'), + 'label' => __('Save'), 'onclick' => 'editSet.save();', 'class' => 'save primary save-attribute-set' ] @@ -187,7 +187,7 @@ class Main extends \Magento\Backend\Block\Template */ protected function _getHeader() { - return __("Edit Attribute Set '%1'", $this->_getAttributeSet()->getAttributeSetName()); + return __("Edit Product Template '%1'", $this->_getAttributeSet()->getAttributeSetName()); } /** diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Add.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Add.php index 41b5a6dbdd89072cf220c590c4fa2b72723cf526..42434c7094c6464bc98657e856416e5109e80a36 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Add.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Add.php @@ -30,7 +30,7 @@ class Add extends \Magento\Backend\Block\Template 'save_button', 'Magento\Backend\Block\Widget\Button', [ - 'label' => __('Save Attribute Set'), + 'label' => __('Save'), 'class' => 'save primary save-attribute-set', 'data_attribute' => [ 'mage-init' => ['button' => ['event' => 'save', 'target' => '#set-prop-form']], @@ -57,7 +57,7 @@ class Add extends \Magento\Backend\Block\Template */ protected function _getHeader() { - return __('Add New Attribute Set'); + return __('Add New Product Template'); } /** diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php index 9f6229afbb32bee847f6fdcc591e92ee16174375..a932a9901c8440a193381a3e9ca9673448cfccdb 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php @@ -249,7 +249,7 @@ class Crosssell extends Extended $this->addColumn( 'set_name', [ - 'header' => __('Attribute Set'), + 'header' => __('Product Template'), 'index' => 'attribute_set_id', 'type' => 'options', 'options' => $sets, diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php index 685aa481fe9fa9c335987aae68ce1f7f0bb3056f..69bed2f49c601ab39e0a636c7470cf1f26028ab4 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php @@ -243,7 +243,7 @@ class Related extends Extended $this->addColumn( 'set_name', [ - 'header' => __('Attribute Set'), + 'header' => __('Product Template'), 'index' => 'attribute_set_id', 'type' => 'options', 'options' => $sets, diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php index ca442c0b98b3e9fe3f9dbaf56a3e0bd2c76e2471..89153f5996f74011669420249f8e9fe531406b44 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php @@ -239,7 +239,7 @@ class Upsell extends \Magento\Backend\Block\Widget\Grid\Extended $this->addColumn( 'set_name', [ - 'header' => __('Attribute Set'), + 'header' => __('Product Template'), 'index' => 'attribute_set_id', 'type' => 'options', 'options' => $sets, diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php index f053cfff68c30a45b9b39f8b3da88d0c29e4159c..b393a3632ea60620ae7d22a434f91b59657cbc50 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php @@ -262,7 +262,7 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended $this->addColumn( 'set_name', [ - 'header' => __('Attribute Set'), + 'header' => __('Product Template'), 'index' => 'attribute_set_id', 'type' => 'options', 'options' => $sets, @@ -396,7 +396,7 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended $this->getMassactionBlock()->addItem( 'status', [ - 'label' => __('Change status'), + 'label' => __('Change Status'), 'url' => $this->getUrl('catalog/*/massStatus', ['_current' => true]), 'additional' => [ 'visibility' => [ diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/BaseImage.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/BaseImage.php index e38a5d08f8915b29c03e0c3a72671669495a7d24..77351e6fa35a7ed952659bc999263ffa24ffaf66 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/BaseImage.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/BaseImage.php @@ -84,7 +84,7 @@ class BaseImage extends \Magento\Framework\Data\Form\Element\AbstractElement $htmlId = $this->_escaper->escapeHtml($this->getHtmlId()); $uploadUrl = $this->_escaper->escapeHtml($this->_getUploadUrl()); $spacerImage = $this->_assetRepo->getUrl('images/spacer.gif'); - $imagePlaceholderText = __('Click here or drag and drop to add images'); + $imagePlaceholderText = __('Click here or drag and drop to add images.'); $deleteImageText = __('Delete image'); $makeBaseText = __('Make Base'); $hiddenText = __('Hidden'); diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php b/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php index 20d4ad019d500f4e501aa006ee1cd39bc6705b12..310c50fb9321943aa48704b953f2ab9d7a00f2a9 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php @@ -162,7 +162,9 @@ class Save extends \Magento\Catalog\Controller\Adminhtml\Category $category->unsetData('use_post_data_config'); if (isset($data['general']['entity_id'])) { - throw new \Magento\Framework\Exception\LocalizedException(__('Unable to save the category')); + throw new \Magento\Framework\Exception\LocalizedException( + __('Something went wrong while saving the category.') + ); } $category->save(); diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Delete.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Delete.php index 3fbda63630e30573e0c3e38dde53d8cf3b1d0a01..9df8254d5e69b458c50ba6b74bf762335b1b8f8e 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Delete.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Delete.php @@ -21,13 +21,13 @@ class Delete extends \Magento\Catalog\Controller\Adminhtml\Product\Attribute // entity type check $model->load($id); if ($model->getEntityTypeId() != $this->_entityTypeId) { - $this->messageManager->addError(__('This attribute cannot be deleted.')); + $this->messageManager->addError(__('We can\'t delete the attribute.')); return $resultRedirect->setPath('catalog/*/'); } try { $model->delete(); - $this->messageManager->addSuccess(__('The product attribute has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the product attribute.')); return $resultRedirect->setPath('catalog/*/'); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Save.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Save.php index 4faadeba7d39f5b3e5c5d5899ad8142f221d5681..66ad7b8f3d1dc0647fbd9ab209272726f84d6a5c 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Save.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Save.php @@ -106,13 +106,13 @@ class Save extends \Magento\Catalog\Controller\Adminhtml\Product\Attribute ->setName($name) ->getAttributeSet(); } catch (AlreadyExistsException $alreadyExists) { - $this->messageManager->addError(__('Attribute Set with name \'%1\' already exists.', $name)); + $this->messageManager->addError(__('An attribute set named \'%1\' already exists.', $name)); $this->messageManager->setAttributeData($data); return $resultRedirect->setPath('catalog/*/edit', ['_current' => true]); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('Something went wrong saving the attribute.')); + $this->messageManager->addException($e, __('Something went wrong while saving the attribute.')); } } @@ -160,7 +160,7 @@ class Save extends \Magento\Catalog\Controller\Adminhtml\Product\Attribute } // entity type check if ($model->getEntityTypeId() != $this->_entityTypeId) { - $this->messageManager->addError(__('You can\'t update your attribute.')); + $this->messageManager->addError(__('We can\'t update the attribute.')); $this->_session->setAttributeData($data); return $resultRedirect->setPath('catalog/*/'); } diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Validate.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Validate.php index 4f564351eae2418de9a738ebb50d28348a7c5d96..f4db052d14aadbaac619f7599fd9d4b36feb1229 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Validate.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Validate.php @@ -65,7 +65,7 @@ class Validate extends \Magento\Catalog\Controller\Adminhtml\Product\Attribute $response->setAttributes(['attribute_code' => __('An attribute with this code already exists.')]); } else { $response->setAttributes( - ['attribute_label' => __('Attribute with the same code (%1) already exists.', $attributeCode)] + ['attribute_label' => __('An attribute with the same code (%1) already exists.', $attributeCode)] ); } $response->setError(true); @@ -77,7 +77,7 @@ class Validate extends \Magento\Catalog\Controller\Adminhtml\Product\Attribute $attributeSet->setEntityTypeId($this->_entityTypeId)->load($setName, 'attribute_set_name'); if ($attributeSet->getId()) { $setName = $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($setName); - $this->messageManager->addError(__('Attribute Set with name \'%1\' already exists.', $setName)); + $this->messageManager->addError(__('An attribute set named \'%1\' already exists.', $setName)); $layout = $this->layoutFactory->create(); $layout->initMessages(); diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Delete.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Delete.php index 9585bce699f5faa9b579089f3fbbd8313344b346..9849dc6884732048424f4b95adc8782eca6954c9 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Delete.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Delete.php @@ -36,7 +36,7 @@ class Delete extends \Magento\Catalog\Controller\Adminhtml\Product\Set $resultRedirect = $this->resultRedirectFactory->create(); try { $this->attributeSetRepository->deleteById($setId); - $this->messageManager->addSuccess(__('The attribute set has been removed.')); + $this->messageManager->addSuccess(__('The product template has been removed.')); $resultRedirect->setPath('catalog/*/'); } catch (\Exception $e) { $this->messageManager->addError(__('We can\'t delete this set right now.')); diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Index.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Index.php index 32c753df84a0688d5d14a943b15866b847fa791d..7b9edb21c7e2f8951643e51963411f2252b655a9 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Index.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Index.php @@ -39,7 +39,7 @@ class Index extends \Magento\Catalog\Controller\Adminhtml\Product\Set $resultPage->setActiveMenu('Magento_Catalog::catalog_attributes_sets'); $resultPage->getConfig()->getTitle()->prepend(__('Product Templates')); $resultPage->addBreadcrumb(__('Catalog'), __('Catalog')); - $resultPage->addBreadcrumb(__('Manage Attribute Sets'), __('Manage Attribute Sets')); + $resultPage->addBreadcrumb(__('Manage Product Templates'), __('Product Templates')); return $resultPage; } } diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Save.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Save.php index 09e77fbdec769cacb87a69678ed41a40eeda0a5a..5870190db02b73a9bbae7b804d0ad1e75b8acfe5 100644 --- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Save.php +++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set/Save.php @@ -82,7 +82,7 @@ class Save extends \Magento\Catalog\Controller\Adminhtml\Product\Set } if (!$model->getId()) { throw new \Magento\Framework\Exception\LocalizedException( - __('This attribute set no longer exists.') + __('This product template no longer exists.') ); } $data = $this->_objectManager->get('Magento\Framework\Json\Helper\Data') @@ -100,12 +100,12 @@ class Save extends \Magento\Catalog\Controller\Adminhtml\Product\Set $model->initFromSkeleton($this->getRequest()->getParam('skeleton_set')); } $model->save(); - $this->messageManager->addSuccess(__('You saved the attribute set.')); + $this->messageManager->addSuccess(__('You saved the product template.')); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); $hasError = true; } catch (\Exception $e) { - $this->messageManager->addException($e, __('An error occurred while saving the attribute set.')); + $this->messageManager->addException($e, __('Something went wrong while saving the product template.')); $hasError = true; } diff --git a/app/code/Magento/Catalog/Helper/Product/Flat/Indexer.php b/app/code/Magento/Catalog/Helper/Product/Flat/Indexer.php index 116c3ffca78dcad3ba422acfb9d722f70d761d5c..fa11d3ec996a89f9a0585ad8703453209d75604b 100644 --- a/app/code/Magento/Catalog/Helper/Product/Flat/Indexer.php +++ b/app/code/Magento/Catalog/Helper/Product/Flat/Indexer.php @@ -202,7 +202,7 @@ class Indexer extends \Magento\Framework\App\Helper\AbstractHelper 'unsigned' => true, 'nullable' => false, 'default' => '0', - 'comment' => 'Attribute Set Id', + 'comment' => 'Product Template ID', ]; $columns['type_id'] = [ 'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php index 0446ef7afab343c262898bd694513a31347b5dd8..46ea5db35f47a7f7e9ffeb5aeb24ead33259a2a7 100644 --- a/app/code/Magento/Catalog/Model/Category.php +++ b/app/code/Magento/Catalog/Model/Category.php @@ -374,8 +374,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements } catch (NoSuchEntityException $e) { throw new \Magento\Framework\Exception\LocalizedException( __( - 'Sorry, but we can\'t move the category because we can\'t find the new parent category you' - . ' selected.' + 'Sorry, but we can\'t find the new parent category you selected.' ), $e ); @@ -383,13 +382,12 @@ class Category extends \Magento\Catalog\Model\AbstractModel implements if (!$this->getId()) { throw new \Magento\Framework\Exception\LocalizedException( - __('Sorry, but we can\'t move the category because we can\'t find the new category you selected.') + __('Sorry, but we can\'t find the new category you selected.') ); } elseif ($parent->getId() == $this->getId()) { throw new \Magento\Framework\Exception\LocalizedException( __( - 'We can\'t perform this category move operation because the parent category matches the child' - . 'category.' + 'We can\'t move the category because the parent category name matches the child category name.' ) ); } diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Eav/Action/Row.php b/app/code/Magento/Catalog/Model/Indexer/Product/Eav/Action/Row.php index cd367f0682f6e3b8f5ce09e95fd17b9b434e133d..e87369b13af49d2e376a0fd59b0946b7de9d945b 100755 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Eav/Action/Row.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Eav/Action/Row.php @@ -21,7 +21,9 @@ class Row extends \Magento\Catalog\Model\Indexer\Product\Eav\AbstractAction public function execute($id = null) { if (!isset($id) || empty($id)) { - throw new \Magento\Framework\Exception\InputException(__('Could not rebuild index for undefined product')); + throw new \Magento\Framework\Exception\InputException( + __('We can\'t rebuild the index for an undefined product.') + ); } try { $this->reindex($id); diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php index 1a23f1e351915cfec86e5b1f0f865dd577fb0da4..6ff6896e16694f8c2d3939e99a55ed2f1022a5d8 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php @@ -66,7 +66,7 @@ class Row extends \Magento\Catalog\Model\Indexer\Product\Flat\AbstractAction { if (!isset($id) || empty($id)) { throw new \Magento\Framework\Exception\LocalizedException( - __('Could not rebuild index for undefined product') + __('We can\'t rebuild the index for an undefined product.') ); } $ids = [$id]; diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Row.php b/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Row.php index 8ba3086616817d0170aac3638e87eb4de5dd3005..1fe84aeec9c6217c943d4514513f4dcc025192a3 100755 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Row.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Price/Action/Row.php @@ -22,7 +22,9 @@ class Row extends \Magento\Catalog\Model\Indexer\Product\Price\AbstractAction public function execute($id = null) { if (!isset($id) || empty($id)) { - throw new \Magento\Framework\Exception\InputException(__('Could not rebuild index for undefined product')); + throw new \Magento\Framework\Exception\InputException( + __('We can\'t rebuild the index for an undefined product.') + ); } try { $this->_reindexRows([$id]); diff --git a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php index 3ac15cc5cd688738d9bd9c257a7000cdd8ebd36f..920b9173e0a53938006ad701c9600c7dfe06d1cb 100644 --- a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php +++ b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php @@ -57,7 +57,7 @@ class Item extends \Magento\Framework\Object $filter = $this->getData('filter'); if (!is_object($filter)) { throw new \Magento\Framework\Exception\LocalizedException( - __('The filter must be an object. Please set correct filter.') + __('The filter must be an object. Please set the correct filter.') ); } return $filter; diff --git a/app/code/Magento/Catalog/Model/Product/AttributeSet/Build.php b/app/code/Magento/Catalog/Model/Product/AttributeSet/Build.php index c26950c2bcfd0e3ce2bc2563d0693e889f6dfb68..7c5be52e6d7e89e9d387a0d6c5e5d63f66af9d61 100644 --- a/app/code/Magento/Catalog/Model/Product/AttributeSet/Build.php +++ b/app/code/Magento/Catalog/Model/Product/AttributeSet/Build.php @@ -79,7 +79,7 @@ class Build $attributeSet = $this->attributeSetFactory->create(); $attributeSet->setEntityTypeId($this->entityTypeId)->load($this->name, 'attribute_set_name'); if ($attributeSet->getId()) { - throw new AlreadyExistsException(__('Attribute set already exists.')); + throw new AlreadyExistsException(__('Product Template already exists.')); } $attributeSet->setAttributeSetName($this->name)->validate(); diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/Date.php b/app/code/Magento/Catalog/Model/Product/Option/Type/Date.php index e34493d50951354f64b96d8e8089403649e5f113..b29a82e6d0e2e6b03b8749bfc5018e43740f00a2 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Date.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Date.php @@ -109,7 +109,7 @@ class Date extends \Magento\Catalog\Model\Product\Option\Type\DefaultType ); } else { throw new \Magento\Framework\Exception\LocalizedException( - __('Please specify the product\'s required option(s).') + __('Please specify product\'s required option(s).') ); } } else { diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php b/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php index 41dfc06bd23febd38920595676bd5851ef2e9133..e001dced13fc26f5f9cd3b08da8c3c8cc025f394 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/DefaultType.php @@ -208,7 +208,7 @@ class DefaultType extends \Magento\Framework\Object $option = $this->getOption(); if (!isset($values[$option->getId()]) && $option->getIsRequire() && !$this->getSkipCheckRequiredOption()) { - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); } elseif (isset($values[$option->getId()])) { $this->setUserValue($values[$option->getId()]); $this->setIsValid(true); @@ -240,7 +240,7 @@ class DefaultType extends \Magento\Framework\Object return $this->getUserValue(); } throw new LocalizedException( - __('We couldn\'t add the product to the cart because of an option validation issue.') + __('We can\'t add the product to the cart because of an option validation issue.') ); } diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php index 21a1ecedb1f403f2bbe222e6b2e5542348ab1368..04faaeb1225b380df79ed67abbd34b23926695f4 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php @@ -226,7 +226,7 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType } catch (ProductException $e) { switch ($this->getProcessMode()) { case \Magento\Catalog\Model\Product\Type\AbstractType::PROCESS_MODE_FULL: - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); break; default: $this->setUserValue(null); diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File/Validator.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File/Validator.php index 33fab28e868db5b82b7fdfc9fe57891607242cc8..f0e4ef3ef504b5c37fcdd59b732754cf1b13fd20 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File/Validator.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File/Validator.php @@ -87,7 +87,7 @@ abstract class Validator case \Zend_Validate_File_ImageSize::WIDTH_TOO_BIG: case \Zend_Validate_File_ImageSize::HEIGHT_TOO_BIG: $result[] = __( - "Maximum allowed image size for '%1' is %2x%3 px.", + "The maximum allowed image size for '%1' is %2x%3 px.", $option->getTitle(), $option->getImageSizeX(), $option->getImageSizeY() diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php index 9f8c3c955c96e7e08e580c5de60f5fcb3c3c77f1..cea7f07b44c7fdf063d46baf561b756aa01190c9 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFile.php @@ -107,7 +107,7 @@ class ValidatorFile extends Validator $runValidation = $option->getIsRequire() || $upload->isUploaded($file); if (!$runValidation) { throw new \Magento\Framework\Validator\Exception( - __('Validation failed. Required options were not filled or file was not uploaded.') + __('Validation failed. Required options were not filled or the file was not uploaded.') ); } @@ -194,7 +194,7 @@ class ValidatorFile extends Validator throw new LocalizedException(__(implode("\n", $errors))); } } else { - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); } return $userValue; } diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfo.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfo.php index 373b8a63db3fe28bce01645bd8eb36bd5d9ae406..0e0acad062ef94109a4981dbedb4ed7faaee42f5 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfo.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfo.php @@ -102,7 +102,7 @@ class ValidatorInfo extends Validator } } else { throw new \Magento\Framework\Exception\LocalizedException( - __('Please specify the product\'s required option(s).') + __('Please specify product\'s required option(s).') ); } return $result; diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php b/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php index 4214b8031f021d6bae3b16bcbe1cfd803a566ed0..c3c49e06779cab4a723bcfd9c6e60061ffa13902 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php @@ -64,13 +64,13 @@ class Select extends \Magento\Catalog\Model\Product\Option\Type\DefaultType if (empty($value) && $option->getIsRequire() && !$this->getSkipCheckRequiredOption()) { $this->setIsValid(false); - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); } if (!$this->_isSingleSelection()) { $valuesCollection = $option->getOptionValuesByOptionId($value, $this->getProduct()->getStoreId())->load(); if ($valuesCollection->count() != count($value)) { $this->setIsValid(false); - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); } } return $this; diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/Text.php b/app/code/Magento/Catalog/Model/Product/Option/Type/Text.php index e0c80e3d34b5d1f79ec548e26b3a5c3edd3bd352..99c17e0a3af232ba60779ab0d9e7bc130562ef07 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Text.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Text.php @@ -60,7 +60,7 @@ class Text extends \Magento\Catalog\Model\Product\Option\Type\DefaultType // Check requires option to have some value if (strlen($value) == 0 && $option->getIsRequire() && !$this->getSkipCheckRequiredOption()) { $this->setIsValid(false); - throw new LocalizedException(__('Please specify the product\'s required option(s).')); + throw new LocalizedException(__('Please specify product\'s required option(s).')); } // Check maximal length limit diff --git a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php index b40b91d5b08b8efa59ff0534e04600c1bfcc33d7..837e2481681a0fabfabeb80220b17aec11e2bbaf 100644 --- a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php +++ b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php @@ -559,7 +559,7 @@ abstract class AbstractType */ public function getSpecifyOptionMessage() { - return __('Please specify the product\'s required option(s).'); + return __('Please specify product\'s required option(s).'); } /** diff --git a/app/code/Magento/Catalog/Model/Product/Website.php b/app/code/Magento/Catalog/Model/Product/Website.php index 0a389baf909c6472b329f654fbd2d176724f232f..8df811f7dba80d5744b04676f317de06f28b0803 100644 --- a/app/code/Magento/Catalog/Model/Product/Website.php +++ b/app/code/Magento/Catalog/Model/Product/Website.php @@ -54,7 +54,7 @@ class Website extends \Magento\Framework\Model\AbstractModel $this->_getResource()->removeProducts($websiteIds, $productIds); } catch (\Exception $e) { throw new \Magento\Framework\Exception\LocalizedException( - __('Something went wrong removing products from the websites.') + __('Something went wrong while removing products from the websites.') ); } return $this; @@ -74,7 +74,7 @@ class Website extends \Magento\Framework\Model\AbstractModel $this->_getResource()->addProducts($websiteIds, $productIds); } catch (\Exception $e) { throw new \Magento\Framework\Exception\LocalizedException( - __('Something went wrong adding products to websites.') + __('Something went wrong while adding products to websites.') ); } return $this; diff --git a/app/code/Magento/Catalog/Model/Resource/Product.php b/app/code/Magento/Catalog/Model/Resource/Product.php index 6f02829d2bc2a7dff4e95b39b7cd20181d5d1903..da4aee259b6320ff29863f95e3ed192d7ad26c2c 100644 --- a/app/code/Magento/Catalog/Model/Resource/Product.php +++ b/app/code/Magento/Catalog/Model/Resource/Product.php @@ -649,7 +649,7 @@ class Product extends AbstractResource $entityType = $this->typeFactory->create()->loadByCode(\Magento\Catalog\Model\Product::ENTITY); $attributeSet = $this->setFactory->create()->load($object->getAttributeSetId()); if ($attributeSet->getEntityTypeId() != $entityType->getId()) { - return ['attribute_set' => 'Invalid attribute set entity type']; + return ['attribute_set' => 'Invalid product template entity type']; } return parent::validate($object); diff --git a/app/code/Magento/Catalog/Setup/InstallSchema.php b/app/code/Magento/Catalog/Setup/InstallSchema.php index d2dc790edb124beb7e7aaa34c86114e7a17ff7e2..2193120073f323e24e71960e1fd8b3e779517620 100644 --- a/app/code/Magento/Catalog/Setup/InstallSchema.php +++ b/app/code/Magento/Catalog/Setup/InstallSchema.php @@ -49,7 +49,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], - 'Attribute Set ID' + 'Product Template ID' ) ->addColumn( 'type_id', diff --git a/app/code/Magento/Catalog/Test/Unit/Model/CategoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/CategoryTest.php index 058e8edb6de1c3e87ba52fa160ad30a8e4a62958..cf4fbe668a4fbbf20d62598bd85ec25eb9d5a6a3 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/CategoryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/CategoryTest.php @@ -180,7 +180,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException * @codingStandardsIgnoreStart - * @expectedExceptionMessage Sorry, but we can't move the category because we can't find the new parent category you selected. + * @expectedExceptionMessage Sorry, but we can't find the new parent category you selected. * @codingStandardsIgnoreEnd */ public function testMoveWhenCannotFindParentCategory() @@ -206,7 +206,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException * @codingStandardsIgnoreStart - * @expectedExceptionMessage Sorry, but we can't move the category because we can't find the new category you selected. + * @expectedExceptionMessage Sorry, but we can't find the new category you selected. * @codingStandardsIgnoreEnd */ public function testMoveWhenCannotFindNewCategory() @@ -232,7 +232,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException * @codingStandardsIgnoreStart - * @expectedExceptionMessage We can't perform this category move operation because the parent category matches the child category. + * @expectedExceptionMessage We can't move the category because the parent category name matches the child category name. * @codingStandardsIgnoreEnd */ public function testMoveWhenParentCategoryIsSameAsChildCategory() diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/RowTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/RowTest.php index b40ffc2e186c9746725e9999c8be987c8731371c..700ffc1a8a694296f01fdeeeead3f7341bb82097 100755 --- a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/RowTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Eav/Action/RowTest.php @@ -22,7 +22,7 @@ class RowTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\InputException - * @expectedExceptionMessage Could not rebuild index for undefined product + * @expectedExceptionMessage We can't rebuild the index for an undefined product. */ public function testEmptyId() { diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Flat/Action/RowTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Flat/Action/RowTest.php index 0ed7aae857a04d77741ae237e9e2535ad6fa594b..e99f1ae0ed106a17169346c2afa526a62775d454 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Flat/Action/RowTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Flat/Action/RowTest.php @@ -95,7 +95,7 @@ class RowTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Could not rebuild index for undefined product + * @expectedExceptionMessage We can't rebuild the index for an undefined product. */ public function testExecuteWithEmptyId() { diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Price/Action/RowTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Price/Action/RowTest.php index 27369edc624560bcd61ad2d9d6d85dbcf9e71f74..8c266d5e6815ae5ed15b7721d06bbaefd8df3374 100755 --- a/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Price/Action/RowTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Indexer/Product/Price/Action/RowTest.php @@ -22,7 +22,7 @@ class RowTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\InputException - * @expectedExceptionMessage Could not rebuild index for undefined product + * @expectedExceptionMessage We can't rebuild the index for an undefined product. */ public function testEmptyId() { diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/Media/AttributeManagementTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/Media/AttributeManagementTest.php index df099dac7d44b87d2262cda14cdc56648b97a4c3..82bcdf4a994d0dff0496974fc79cda1f63e52d82 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Product/Media/AttributeManagementTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/Media/AttributeManagementTest.php @@ -58,7 +58,7 @@ class AttributeManagementTest extends \PHPUnit_Framework_TestCase public function testGetList() { - $attributeSetName = 'Default Attribute Set'; + $attributeSetName = 'Default Product Template'; $expectedResult = [ $this->getMock('\Magento\Catalog\Api\Data\ProductAttributeInterface'), ]; diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Resource/ProductTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Resource/ProductTest.php index b0e7ede94316b4b8f8e62d8f31d3e940f519c1b9..97c41ca67eaa3bf4dfdfbd0586d2a24bef250aa3 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Resource/ProductTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Resource/ProductTest.php @@ -56,7 +56,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase public function testValidateWrongAttributeSet() { $productTypeId = 4; - $expectedErrorMessage = ['attribute_set' => 'Invalid attribute set entity type']; + $expectedErrorMessage = ['attribute_set' => 'Invalid product template entity type']; $productMock = $this->getMock('\Magento\Framework\Object', ['getAttributeSetId', '__wakeup'], [], '', false); $attributeSetMock = $this->getMock( diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index fc2a339f4048e6f12917d89336c8af47cfdb413a..3b914826a2ac44449f419e108c04f5aacbe1a241 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -35,7 +35,7 @@ </field> </group> <group id="frontend" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1"> - <label>Frontend</label> + <label>Storefront</label> <field id="list_mode" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1"> <label>List Mode</label> <source_model>Magento\Catalog\Model\Config\Source\ListMode</source_model> diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 9d4433c045425e2902dbc8b60c43ba01fcbeba7a..75518179376fbb2d52d8dcb94379d29c41fb51d2 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -51,6 +51,7 @@ <system> <media_storage_configuration> <allowed_resources> + <tmp_images_folder>tmp</tmp_images_folder> <catalog_images_folder>catalog</catalog_images_folder> <product_custom_options_fodler>custom_options</product_custom_options_fodler> </allowed_resources> diff --git a/app/code/Magento/Catalog/etc/widget.xml b/app/code/Magento/Catalog/etc/widget.xml index 56899da4215345be5fd4741f757d78c8292a2fe1..9317297c3e3329bf860e4cc6bc24a9a490249a91 100644 --- a/app/code/Magento/Catalog/etc/widget.xml +++ b/app/code/Magento/Catalog/etc/widget.xml @@ -103,7 +103,7 @@ </parameter> <parameter name="anchor_text" xsi:type="text" visible="true"> <label translate="true">Anchor Custom Text</label> - <description translate="true">If empty, the Product Name will be used</description> + <description translate="true">If empty, we'll use the product name here.</description> </parameter> <parameter name="title" xsi:type="text" visible="true"> <label translate="true">Anchor Custom Title</label> @@ -142,7 +142,7 @@ </parameter> <parameter name="anchor_text" xsi:type="text" visible="true"> <label translate="true">Anchor Custom Text</label> - <description translate="true">If empty, the Category Name will be used</description> + <description translate="true">If empty, we'll use the category name here.</description> </parameter> <parameter name="title" xsi:type="text" visible="true"> <label translate="true">Anchor Custom Title</label> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml index 019eb3d595e8d1d6c95712d524a32f6ec646de1e..a63bc15d80e089cd5fb12dfcda59feb7e7b70aac 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml @@ -27,7 +27,7 @@ require([ </div> <?php if (!$block->getIsReadOnly()): ?> <?php echo $block->getAddGroupButton() ?> <?php echo $block->getDeleteGroupButton() ?> - <p class="note-block"><?php echo __('Double click on a group to rename it') ?></p> + <p class="note-block"><?php echo __('Double click on a group to rename it.') ?></p> <?php endif; ?> <?php echo $block->getSetsFilterHtml() ?> @@ -322,7 +322,7 @@ define("tree-panel", ["jquery", "extjs/ext-tree-checkbox", "prototype"], functio }, failure : function(o) { - alert('<?php echo $block->escapeJsQuote(__('We\'re unable to complete this request.')) ?>'); + alert('<?php echo $block->escapeJsQuote(__('Sorry, we\'re unable to complete this request.')) ?>'); }, groupBeforeMove : function(tree, nodeThis, oldParent, newParent) { @@ -337,7 +337,7 @@ define("tree-panel", ["jquery", "extjs/ext-tree-checkbox", "prototype"], functio rightBeforeAppend : function(tree, nodeThis, node, newParent) { if (node.attributes.is_user_defined == 0) { - alert('<?php echo $block->escapeJsQuote(__('You cannot remove system attributes from this set.')) ?>'); + alert('<?php echo $block->escapeJsQuote(__('You can\'t remove attributes from this product template.')) ?>'); return false; } else { return true; @@ -351,7 +351,7 @@ define("tree-panel", ["jquery", "extjs/ext-tree-checkbox", "prototype"], functio } if (node.attributes.is_unassignable == 0) { - alert('<?php echo $block->escapeJsQuote(__('You cannot remove system attributes from this set.')) ?>'); + alert('<?php echo $block->escapeJsQuote(__('You can\'t remove attributes from this product template.')) ?>'); return false; } else { return true; diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/date.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/date.phtml index 40fe6a37f8e852a28c2cbb9a1cccc651ea780e64..53ffa3fca77b51a5fb816a0d295dcf56f05b004d 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/date.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/date.phtml @@ -74,7 +74,7 @@ require([ } } return hasWithValue ^ hasWithNoValue; - }, '<?php echo $block->escapeJsQuote( __('Field is not complete') )?>'); + }, '<?php echo $block->escapeJsQuote( __('The field isn\'t complete.') )?>'); <?php endif; ?> //]]> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/file.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/file.phtml index 9f2fbc3cdd2babe945ad3a74347be037ad928434..28bc783f49dfda34ed98aa88d6681c39ad543788 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/file.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/fieldset/options/type/file.phtml @@ -84,7 +84,7 @@ require(['prototype'], function(){ <?php if ($_option->getFileExtension()): ?> <div class="admin__field-note"> - <span><?php echo __('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong></span> + <span><?php echo __('Compatible file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong></span> </div> <?php endif; ?> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml index 3d11c5d746dc2e2404b2cbbae15f88164fc0947b..20e1b045d7cf7ac718713c93d5cb12f3a58a2573 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml @@ -94,7 +94,7 @@ <div class="field with-addon"> <label class="label" for="inventory_min_qty"> - <span><?php echo __('Minimum Qty for Item\'s Status to be Out of Stock') ?></span> + <span><?php echo __('Out-of-Stock Threshold') ?></span> </label> <div class="control"> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/websites.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/websites.phtml index a8ee0b1f928cee9031e0db52a96b321646f7eb5a..bb333b6f8d976f4282ebaccdc7f761ae97c810de 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/websites.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/websites.phtml @@ -49,7 +49,7 @@ <br> <div class="messages"> <div class="message message-notice"> - <div><?php echo __("Items that you do not want to show in the catalog or search results should have status 'Disabled' in the desired store.") ?></div> + <div><?php echo __('To hide an item in catalog or search results, set the status to "Disabled".') ?></div> </div> </div> <div class="store-scope"> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml index bb8770587f9f0fc27bdf0b671c89321be9e4f62c..e2873c01dcb2d1c01a9084228611863deecd0498 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml @@ -20,7 +20,7 @@ <div class="messages"> <div class="message message-error" id="dynamic-price-warning" style="display: none;"> <div class="message-inner"> - <div class="message-content"><?php echo __('Bundle with dynamic pricing cannot include custom defined options. Options will not be saved.') ?></div> + <div class="message-content"><?php echo __('We can\'t save custom-defined options for bundles with dynamic pricing.') ?></div> </div> </div> </div> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/type/file.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/type/file.phtml index f35de05213b18b318373ea89cd4f5a1312d47e56..ada4c887c666e4527cff0b91b7f19cd6c8b2e26c 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/type/file.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/type/file.phtml @@ -18,7 +18,7 @@ <th><?php echo __('Price Type'); ?></th> <?php endif; ?> <th><?php echo __('SKU'); ?></th> - <th><?php echo __('Allowed File Extensions'); ?></th> + <th><?php echo __('Compatible File Extensions'); ?></th> <th><?php echo __('Maximum Image Size'); ?></th> </tr> </thead> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/websites.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/websites.phtml index e0128a5f0fd60ee6c7814ce459ca2b8971024770..20128abd4d013514023a4976e6ecec8750340d76 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/websites.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/websites.phtml @@ -13,7 +13,7 @@ <?php if ($block->getProductId()): ?> <div class="messages"> <div class="message message-notice"> - <?php echo __("Items that you don't want to show in the catalog or search results should have status 'Disabled' in the desired store.") ?> + <?php echo __('To hide an item in catalog or search results, set the status to "Disabled".') ?> </div> </div> <?php endif; ?> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/helper/gallery.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/helper/gallery.phtml index 73131febf7bf9b03d9c4f79b718991d8440becce..85ed22551105e18aced7f4c68f892d81bf8db78d 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/helper/gallery.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/helper/gallery.phtml @@ -23,7 +23,7 @@ $elementName = $block->getElement()->getName() . '[images]'; <?php echo $block->getUploaderHtml(); ?> <img class="spacer" src="<?php echo $block->getViewFileUrl('images/spacer.gif')?>"/> - <p class="image-placeholder-text"><?php echo __('Click here or drag and drop to add images'); + <p class="image-placeholder-text"><?php echo __('Click here or drag and drop to add images.'); ?></p> </div> <?php diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml index d728e6346f4e11404534210ef9ea04ae772385cf..ecaa3dd1b64a1513597105617f7fffc7acb73e0f 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml @@ -61,7 +61,7 @@ toggleValueElements($('inventory_use_config_manage_stock'), $('inventory_use_con <div class="field"> <label class="label" for="inventory_min_qty"> - <span><?php echo __('Qty for Item\'s Status to Become Out of Stock') ?></span> + <span><?php echo __('Out-of-Stock Threshold') ?></span> </label> <div class="control"> <input type="text" class="input-text validate-number" id="inventory_min_qty" name="<?php echo $block->getFieldSuffix() ?>[stock_data][min_qty]" value="<?php echo $block->getFieldValue('min_qty') * 1 ?>" <?php echo $_readonly;?>> @@ -154,7 +154,7 @@ toggleValueElements($('inventory_use_config_max_sale_qty'), $('inventory_use_con <?php if (!$block->isVirtual()) : ?> <div class="field"> <label class="label" for="inventory_is_decimal_divided"> - <span><?php echo __('Can be Divided into Multiple Boxes for Shipping') ?></span> + <span><?php echo __('Allow Multiple Boxes for Shipping.') ?></span> </label> <div class="control"> <select id="inventory_is_decimal_divided" name="<?php echo $block->getFieldSuffix() ?>[stock_data][is_decimal_divided]" <?php echo $_readonly;?>> diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/tabs.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/tabs.phtml index f2042ea041a048a6b9014f41837792e0bc3f3343..ed1109ac296cd7d01582a8c3c9ab1cbca9983d55 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/tabs.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/tabs.phtml @@ -83,7 +83,7 @@ <span class="admin__page-nav-item-message _error"> <span class="admin__page-nav-item-message-icon"></span> <span class="admin__page-nav-item-message-tooltip"> - <?php echo __('This tab contains invalid data. Please solve the problem before saving.'); ?> + <?php echo __('This tab contains invalid data. Please resolve this before saving.'); ?> </span> </span> <span class="admin__page-nav-item-message-loader"> diff --git a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml index 8de6e2824291b74e3fb39d5829238519f461c589..c3321016fd0ee1318ed7932957de322454a18156 100644 --- a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml +++ b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml @@ -115,7 +115,7 @@ </block> <block class="Magento\Catalog\Block\Product\View\Attributes" name="product.attributes" as="additional" template="product/view/attributes.phtml" group="detailed_info"> <arguments> - <argument translate="true" name="title" xsi:type="string">Additional Information</argument> + <argument translate="true" name="title" xsi:type="string">More Information</argument> </arguments> </block> </block> diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml index c376d81d7fae39cbd40de974793de4129085bac2..27353c7140224bd53f485e3d6534f4ae29a99d90 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml @@ -21,7 +21,7 @@ $_helper = $this->helper('Magento\Catalog\Helper\Output'); $imageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?> <?php if (!$_productCollection->count()): ?> - <div class="message info empty"><div><?php echo __('There are no products matching the selection.') ?></div></div> + <div class="message info empty"><div><?php echo __('We can\'t find products matching the selection.') ?></div></div> <?php else: ?> <?php echo $block->getToolbarHtml() ?> <?php echo $block->getAdditionalHtml() ?> diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/list/items.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/list/items.phtml index a2d391e3eb6955a408b51c5cd8d44f07673fc5d7..7260913b0c67c1ee6a6dece62025cf06c0d01f6d 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/list/items.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/list/items.phtml @@ -60,7 +60,7 @@ switch ($type = $block->getType()) { $imageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); $image = 'upsell_products_list'; - $title = __('You may also be interested in the following product(s)'); + $title = __('We found other products you might like!'); $items = $block->getAllItems(); $limit = $block->getPositionLimit(); $shuffle = (int) $block->isShuffled(); @@ -81,7 +81,7 @@ switch ($type = $block->getType()) { $imageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); $image = 'upsell_products_list'; - $title = __('You may also be interested in the following product(s)'); + $title = __('We found other products you might like!'); $items = $block->getItemCollection()->getItems(); $limit = $block->getItemLimit('upsell'); $shuffle = 0; diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/listing.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/listing.phtml index 2bb871627594dd90c722a83a264c0ddb0c0e7aa5..564bcad2f3ae049bec0c77b835a240d0952e8e71 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/listing.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/listing.phtml @@ -21,7 +21,7 @@ $_helper = $this->helper('Magento\Catalog\Helper\Output'); $imageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?> <?php if (!$_productCollection->count()): ?> -<p class="message note"><?php echo __('There are no products matching the selection.') ?></p> +<p class="message note"><?php echo __('We can\'t find products matching the selection.') ?></p> <?php else: ?> <?php echo $block->getToolbarHtml() ?> <?php echo $block->getAdditionalHtml() ?> diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/attributes.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/attributes.phtml index 39485ad90b96aabfcc70664a932ee7bb46fc9e5b..e804e0833a58ab4720d9989a5532d05283988165 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/view/attributes.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/attributes.phtml @@ -19,7 +19,7 @@ <?php if ($_additional = $block->getAdditionalData()): ?> <div class="additional-attributes-wrapper table-wrapper"> <table class="data table additional-attributes" id="product-attribute-specs-table"> - <caption class="table-caption"><?php echo __('Additional Information') ?></caption> + <caption class="table-caption"><?php echo __('More Information') ?></caption> <tbody> <?php foreach ($_additional as $_data): ?> <tr> diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/base-image.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/base-image.phtml index 5d78983a248ca004c08b53be5b26cddb717cc769..719d4ee3391c807f3155bdcbac40cb58e85e314d 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/view/base-image.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/base-image.phtml @@ -154,7 +154,7 @@ $thumbHeight = $block->getVar("product_page_more_views:height") ?: $thumbWidth; }, "controls": { "notice": { - "text": "<?php echo $block->escapeJsQuote(__('Click on image to view it full sized')) ?>" + "text": "<?php echo $block->escapeJsQuote(__('Click to see a larger image.')) ?>" } } }, @@ -165,7 +165,7 @@ $thumbHeight = $block->getVar("product_page_more_views:height") ?: $thumbWidth; "top": 65 }, "notice": { - "text": "<?php echo $block->escapeJsQuote(__('Click on image to zoom')) ?>" + "text": "<?php echo $block->escapeJsQuote(__('Click to see zoomed image.')) ?>" } } }, diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/file.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/file.phtml index 408b5cf67e0a3b7bdeec79808b658d42adf6b832..9e8165e3da4c00161d7b5387d3fd1ec2ef03689b 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/file.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/file.phtml @@ -50,7 +50,7 @@ <input type="hidden" name="<?php echo $_fieldNameAction; ?>" value="<?php echo $_fieldValueAction; ?>" /> <?php if ($_option->getFileExtension()): ?> <p class="note"> - <?php echo __('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong> + <?php echo __('Compatible file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong> </p> <?php endif; ?> <?php if ($_option->getImageSizeX() > 0): ?> diff --git a/app/code/Magento/Catalog/view/frontend/web/js/view/compare-products.js b/app/code/Magento/Catalog/view/frontend/web/js/view/compare-products.js index 8f6a31c32358e4ca41e5b1e02a9d7a84d3d43e9f..3e07b5d95d3f6a2d86db1bb8e5029414a9cff9dc 100644 --- a/app/code/Magento/Catalog/view/frontend/web/js/view/compare-products.js +++ b/app/code/Magento/Catalog/view/frontend/web/js/view/compare-products.js @@ -21,11 +21,11 @@ define([ ], function ($) { $('[data-role=compare-products-sidebar]').mage('compareItems', { "removeConfirmMessage": $.mage.__( - "Are you sure you would like to remove this item from the compare products?" + "Are you sure you want to remove this item from your Compare Products list?" ), "removeSelector": "#compare-items a.action.delete", "clearAllConfirmMessage": $.mage.__( - "Are you sure you would like to remove all products from your comparison?" + "Are you sure you want to remove all items from your Compare Products list?" ), "clearAllSelector": "#compare-clear-all" }); diff --git a/app/code/Magento/CatalogImportExport/Model/Export/Product.php b/app/code/Magento/CatalogImportExport/Model/Export/Product.php index b7573b98eeade5a61dab274c12fb0e152704f217..1d2b3366d22bd3420c922d40e40b5bf677de0192 100644 --- a/app/code/Magento/CatalogImportExport/Model/Export/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Export/Product.php @@ -442,7 +442,7 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity } if (!$this->_productTypeModels) { throw new \Magento\Framework\Exception\LocalizedException( - __('There are no product types available for export') + __('There are no product types available for export.') ); } $this->_disabledAttrs = array_unique($this->_disabledAttrs); diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index ca248b50e394bb2d74e84a81d33d76fd1621963d..7c9924969a95257832a763af91f0b666f7e20a1b 100755 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -198,18 +198,18 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity protected $_messageTemplates = [ ValidatorInterface::ERROR_INVALID_SCOPE => 'Invalid value in Scope column', ValidatorInterface::ERROR_INVALID_WEBSITE => 'Invalid value in Website column (website does not exists?)', - ValidatorInterface::ERROR_INVALID_STORE => 'Invalid value in Store column (store does not exists?)', - ValidatorInterface::ERROR_INVALID_ATTR_SET => 'Invalid value for Attribute Set column (set does not exists?)', + ValidatorInterface::ERROR_INVALID_STORE => 'Invalid value in Store column (store doesn\'t exist?)', + ValidatorInterface::ERROR_INVALID_ATTR_SET => 'Invalid value for Product Template column (set doesn\'t exist?)', ValidatorInterface::ERROR_INVALID_TYPE => 'Product Type is invalid or not supported', ValidatorInterface::ERROR_INVALID_CATEGORY => 'Category does not exists', - ValidatorInterface::ERROR_VALUE_IS_REQUIRED => "Required attribute '%s' has an empty value", + ValidatorInterface::ERROR_VALUE_IS_REQUIRED => 'Please make sure attribute "%s" is not empty.', ValidatorInterface::ERROR_TYPE_CHANGED => 'Trying to change type of existing products', ValidatorInterface::ERROR_SKU_IS_EMPTY => 'SKU is empty', ValidatorInterface::ERROR_NO_DEFAULT_ROW => 'Default values row does not exists', ValidatorInterface::ERROR_CHANGE_TYPE => 'Product type change is not allowed', ValidatorInterface::ERROR_DUPLICATE_SCOPE => 'Duplicate scope', ValidatorInterface::ERROR_DUPLICATE_SKU => 'Duplicate SKU', - ValidatorInterface::ERROR_CHANGE_ATTR_SET => 'Product attribute set change is not allowed', + ValidatorInterface::ERROR_CHANGE_ATTR_SET => 'Product template change is not allowed', ValidatorInterface::ERROR_TYPE_UNSUPPORTED => 'Product type is not supported', ValidatorInterface::ERROR_ROW_IS_ORPHAN => 'Orphan rows that will be skipped due default row errors', ValidatorInterface::ERROR_INVALID_TIER_PRICE_QTY => 'Tier Price data price or quantity value is invalid', diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product/Option.php b/app/code/Magento/CatalogImportExport/Model/Import/Product/Option.php index 14c1e38ade3b17ffa07f25691eedd4d9590aa9d4..68b16b1460cba13c95c0a7af547135beaa73cba1 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product/Option.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product/Option.php @@ -373,33 +373,42 @@ class Option extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity protected function _initMessageTemplates() { // @codingStandardsIgnoreStart - $this->_productEntity->addMessageTemplate(self::ERROR_INVALID_STORE, __('Invalid custom option store.')); - $this->_productEntity->addMessageTemplate(self::ERROR_INVALID_TYPE, __('Invalid custom option type.')); - $this->_productEntity->addMessageTemplate(self::ERROR_EMPTY_TITLE, __('Empty custom option title.')); - $this->_productEntity->addMessageTemplate(self::ERROR_INVALID_PRICE, __('Invalid custom option price.')); + $this->_productEntity->addMessageTemplate( + self::ERROR_INVALID_STORE, + __('Please enter a correct value for "store."') + ); + $this->_productEntity->addMessageTemplate( + self::ERROR_INVALID_TYPE, + __('Please enter a correct value for "type."') + ); + $this->_productEntity->addMessageTemplate(self::ERROR_EMPTY_TITLE, __('Please enter a value for title.')); + $this->_productEntity->addMessageTemplate( + self::ERROR_INVALID_PRICE, + __('Please enter a correct value for "price."') + ); $this->_productEntity->addMessageTemplate( self::ERROR_INVALID_MAX_CHARACTERS, - __('Invalid custom option maximum characters value.') + __('Please enter a correct value for "maximum characters."') ); $this->_productEntity->addMessageTemplate( self::ERROR_INVALID_SORT_ORDER, - __('Invalid custom option sort order.') + __('Please enter a correct value for "sort order."') ); $this->_productEntity->addMessageTemplate( self::ERROR_INVALID_ROW_PRICE, - __('Invalid custom option value price.') + __('Please enter a correct value for "value price."') ); $this->_productEntity->addMessageTemplate( self::ERROR_INVALID_ROW_SORT, - __('Invalid custom option value sort order.') + __('Please enter a correct value for "sort order."') ); $this->_productEntity->addMessageTemplate( self::ERROR_AMBIGUOUS_NEW_NAMES, - __('Custom option with such title already declared in source file.') + __('This name is already being used for custom option. Please enter a different name.') ); $this->_productEntity->addMessageTemplate( self::ERROR_AMBIGUOUS_OLD_NAMES, - __('There are several existing custom options with such name.') + __('This name is already being used for custom option. Please enter a different name.') ); $this->_productEntity->addMessageTemplate( self::ERROR_AMBIGUOUS_TYPES, @@ -475,7 +484,7 @@ class Option extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity $this->_productEntity = $data['product_entity']; } else { throw new \Magento\Framework\Exception\LocalizedException( - __('Option entity must have a parent product entity.') + __('Every option entity must have a parent product entity.') ); } if (isset($data['collection_by_pages_iterator'])) { diff --git a/app/code/Magento/CatalogInventory/Model/Indexer/Stock/Action/Row.php b/app/code/Magento/CatalogInventory/Model/Indexer/Stock/Action/Row.php index 0103d0849f897fa8ca31ce6d9071de6d167d9e1f..30a07b0eaea1ac87af855303083bbd8f27655ce8 100644 --- a/app/code/Magento/CatalogInventory/Model/Indexer/Stock/Action/Row.php +++ b/app/code/Magento/CatalogInventory/Model/Indexer/Stock/Action/Row.php @@ -27,7 +27,7 @@ class Row extends \Magento\CatalogInventory\Model\Indexer\Stock\AbstractAction { if (!isset($id) || empty($id)) { throw new \Magento\Framework\Exception\LocalizedException( - __('Could not rebuild index for undefined product') + __('We can\'t rebuild the index for an undefined product.') ); } try { diff --git a/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php b/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php index 2f1c028dc6f91745bb73f08420f1e9fe121c896e..40f3a1f7562eb8f12866186aadbcc538b2f5678d 100644 --- a/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php +++ b/app/code/Magento/CatalogInventory/Model/Quote/Item/QuantityValidator.php @@ -110,7 +110,7 @@ class QuantityValidator 'stock', 'cataloginventory', \Magento\CatalogInventory\Helper\Data::ERROR_QTY, - __('Some of the products are currently out of stock.') + __('Some of the products are out of stock.') ); return; } else { diff --git a/app/code/Magento/CatalogInventory/Model/StockStateProvider.php b/app/code/Magento/CatalogInventory/Model/StockStateProvider.php index be14f0ea6972d620f4798b448ec713b3d2e9ed62..cc613bb94131df06c80734d433c4c3959eba7c82 100644 --- a/app/code/Magento/CatalogInventory/Model/StockStateProvider.php +++ b/app/code/Magento/CatalogInventory/Model/StockStateProvider.php @@ -153,7 +153,7 @@ class StockStateProvider implements StockStateProviderInterface if (!$stockItem->getIsInStock()) { $result->setHasError(true) ->setMessage(__('This product is out of stock.')) - ->setQuoteMessage(__('Some of the products are currently out of stock.')) + ->setQuoteMessage(__('Some of the products are out of stock.')) ->setQuoteMessageIndex('stock'); $result->setItemUseOldQty(true); return $result; diff --git a/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/RowTest.php b/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/RowTest.php index 9a2bb4ec376b3c01d2a7c1862f4b7f802c39d5e1..bc564f6c7175457d3446d56aa938afa7655531e2 100644 --- a/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/RowTest.php +++ b/app/code/Magento/CatalogInventory/Test/Unit/Model/Indexer/Stock/Action/RowTest.php @@ -26,7 +26,7 @@ class RowTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Could not rebuild index for undefined product + * @expectedExceptionMessage We can't rebuild the index for an undefined product. */ public function testEmptyId() { diff --git a/app/code/Magento/CatalogInventory/etc/adminhtml/system.xml b/app/code/Magento/CatalogInventory/etc/adminhtml/system.xml index b72ac2c379371dddd8857a8f3754bf482b4a12d7..4155c546202032ff28065dfff77eee82745e3ed7 100644 --- a/app/code/Magento/CatalogInventory/etc/adminhtml/system.xml +++ b/app/code/Magento/CatalogInventory/etc/adminhtml/system.xml @@ -32,7 +32,7 @@ <validate>validate-number</validate> </field> <field id="display_product_stock_status" translate="label" type="select" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="1"> - <label>Display products availability in stock in the frontend</label> + <label>Display products availability in stock on Storefront.</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> </group> @@ -58,7 +58,7 @@ <validate>validate-number</validate> </field> <field id="min_qty" translate="label" type="text" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0"> - <label>Qty for Item's Status to Become Out of Stock</label> + <label>Out-of-Stock Threshold</label> <validate>validate-number</validate> <backend_model>Magento\CatalogInventory\Model\System\Config\Backend\Minqty</backend_model> </field> diff --git a/app/code/Magento/CatalogInventory/view/frontend/templates/qtyincrements.phtml b/app/code/Magento/CatalogInventory/view/frontend/templates/qtyincrements.phtml index 999ba49d40ac0b4c528422eceba616570a1e22fc..2261d062a8f65d2bbe4e05a249f7fe60a2eeccc2 100644 --- a/app/code/Magento/CatalogInventory/view/frontend/templates/qtyincrements.phtml +++ b/app/code/Magento/CatalogInventory/view/frontend/templates/qtyincrements.phtml @@ -12,6 +12,6 @@ ?> <?php if ($block->getProductQtyIncrements()) : ?> <div class="product pricing"> - <?php echo __('%1 is available for purchase in increments of %2', $block->getProductName(), $block->getProductQtyIncrements()) ?> + <?php echo __('%1 is available to buy in increments of %2', $block->getProductName(), $block->getProductQtyIncrements()) ?> </div> <?php endif ?> diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog.php index 9c06d2257e6cc17151ddafa8e1bab7562891d4dc..e268ba220a90c1e67ab0ca0f3fa4eaef83fe26e9 100644 --- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog.php +++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog.php @@ -20,7 +20,7 @@ class Catalog extends \Magento\Backend\Block\Widget\Grid\Container { $this->_blockGroup = 'Magento_CatalogRule'; $this->_controller = 'adminhtml_promo_catalog'; - $this->_headerText = __('Catalog Price Rules'); + $this->_headerText = __('Catalog Price Rule'); $this->_addButtonLabel = __('Add New Rule'); parent::_construct(); diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Actions.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Actions.php index a1c7136d74c9faf5a69666f3ee1eb3416ce371be..7eac125efeaa9844f69f5def335f7eece0d5e7f6 100644 --- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Actions.php +++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Actions.php @@ -65,7 +65,7 @@ class Actions extends Generic implements TabInterface $fieldset = $form->addFieldset( 'action_fieldset', - ['legend' => __('Update Prices Using the Following Information')] + ['legend' => __('Pricing Structure Rules')] ); $fieldset->addField( @@ -75,10 +75,10 @@ class Actions extends Generic implements TabInterface 'label' => __('Apply'), 'name' => 'simple_action', 'options' => [ - 'by_percent' => __('By Percentage of the Original Price'), - 'by_fixed' => __('By Fixed Amount'), - 'to_percent' => __('To Percentage of the Original Price'), - 'to_fixed' => __('To Fixed Amount'), + 'by_percent' => __('Apply as percentage of original'), + 'by_fixed' => __('Apply as fixed amount'), + 'to_percent' => __('Adjust final price to this percentage'), + 'to_fixed' => __('Adjust final price to discount value'), ] ] ); @@ -99,8 +99,8 @@ class Actions extends Generic implements TabInterface 'select', [ 'name' => 'sub_is_enable', - 'label' => __('Enable Discount to Subproducts'), - 'title' => __('Enable Discount to Subproducts'), + 'label' => __('Subproduct discounts'), + 'title' => __('Subproduct discounts'), 'onchange' => 'hideShowSubproductOptions(this);', 'values' => [0 => __('No'), 1 => __('Yes')] ] @@ -113,10 +113,10 @@ class Actions extends Generic implements TabInterface 'label' => __('Apply'), 'name' => 'sub_simple_action', 'options' => [ - 'by_percent' => __('By Percentage of the Original Price'), - 'by_fixed' => __('By Fixed Amount'), - 'to_percent' => __('To Percentage of the Original Price'), - 'to_fixed' => __('To Fixed Amount'), + 'by_percent' => __('Apply as percentage of original'), + 'by_fixed' => __('Apply as fixed amount'), + 'to_percent' => __('Adjust final price to this percentage'), + 'to_fixed' => __('Adjust final price to discount value'), ] ] ); @@ -136,8 +136,8 @@ class Actions extends Generic implements TabInterface 'stop_rules_processing', 'select', [ - 'label' => __('Stop Further Rules Processing'), - 'title' => __('Stop Further Rules Processing'), + 'label' => __('Subsequent rules'), + 'title' => __('Subsequent rules'), 'name' => 'stop_rules_processing', 'options' => ['1' => __('Yes'), '0' => __('No')] ] diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php index b51ba93f76373d6286488210fd884aa96ab68668..e52687c42cf0a92d72555376807378479b4cb05d 100644 --- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php +++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php @@ -101,7 +101,7 @@ class Conditions extends Generic implements TabInterface $fieldset = $form->addFieldset( 'conditions_fieldset', - ['legend' => __('Conditions (leave blank for all products)')] + ['legend' => __('Conditions (don\'t add conditions if rule is applied to all products)')] )->setRenderer( $renderer ); diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php index 5ab7a97bf4a0048e6f4bbfb29a2e35594370b517..f5c53227cf41c7587d110a9b50dab39aae37bd10 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php @@ -100,8 +100,7 @@ class Catalog extends Action public function getDirtyRulesNoticeMessage() { $defaultMessage = __( - 'There are rules that have been changed but were not applied. ' - . 'Please, click Apply Rules in order to see immediate effect in the catalog.' + 'We found updated rules that are not applied. Please click "Apply Rules" to update your catalog.' ); return $this->_dirtyRulesNoticeMessage ? $this->_dirtyRulesNoticeMessage : $defaultMessage; } diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/ApplyRules.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/ApplyRules.php index f105be30bd24e0e36ad1ddd693c71cabe664d31c..abe88aa2fccf4da8acfe004f452e9caccc5e6378 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/ApplyRules.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/ApplyRules.php @@ -18,7 +18,7 @@ class ApplyRules extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog */ public function execute() { - $errorMessage = __('Unable to apply rules.'); + $errorMessage = __('We can\'t apply the rules.'); try { /** @var Job $ruleJob */ $ruleJob = $this->_objectManager->get('Magento\CatalogRule\Model\Rule\Job'); diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Delete.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Delete.php index 5806ef74e41cd5d93d147ba617509f4693df7f59..41cca27abd82f0a5d04904274b6987156771ead2 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Delete.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Delete.php @@ -23,7 +23,7 @@ class Delete extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog $model->load($id); $model->delete(); $this->_objectManager->create('Magento\CatalogRule\Model\Flag')->loadSelf()->setState(1)->save(); - $this->messageManager->addSuccess(__('The rule has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the rule.')); $this->_redirect('catalog_rule/*/'); return; } catch (LocalizedException $e) { @@ -37,7 +37,7 @@ class Delete extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog return; } } - $this->messageManager->addError(__('Unable to find a rule to delete.')); + $this->messageManager->addError(__('We can\'t find a rule to delete.')); $this->_redirect('catalog_rule/*/'); } } diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Edit.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Edit.php index 4dbf0caea9deb19ea157e8fd70ed02d058e3ad32..97495f7d0d48fafceae85d8640e4ad125429e0ec 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Edit.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Edit.php @@ -35,7 +35,7 @@ class Edit extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog $this->_coreRegistry->register('current_promo_catalog_rule', $model); $this->_initAction(); - $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Catalog Price Rules')); + $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Catalog Price Rule')); $this->_view->getPage()->getConfig()->getTitle()->prepend( $model->getRuleId() ? $model->getName() : __('New Catalog Price Rule') ); diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Index.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Index.php index d6c52a615cdec0ee2b16f357c93bcbe97098ca5d..fd6533a042c35fb88550397bdf88156ec2f2d603 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Index.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Index.php @@ -19,7 +19,7 @@ class Index extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog } $this->_initAction()->_addBreadcrumb(__('Catalog'), __('Catalog')); - $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Catalog Price Rules')); + $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Catalog Price Rule')); $this->_view->renderLayout(); } } diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Save.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Save.php index 383bda38d59fac0451b70cf2ea51dec3f096e391..46a8744cf4ce5882a8d4fe22e72fe5f499a9fd49 100644 --- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Save.php +++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/Save.php @@ -57,7 +57,7 @@ class Save extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog $model->save(); - $this->messageManager->addSuccess(__('The rule has been saved.')); + $this->messageManager->addSuccess(__('You saved the rule.')); $this->_objectManager->get('Magento\Backend\Model\Session')->setPageData(false); if ($this->getRequest()->getParam('auto_apply')) { $this->getRequest()->setParam('rule_id', $model->getId()); @@ -75,7 +75,7 @@ class Save extends \Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addError( - __('An error occurred while saving the rule data. Please review the log and try again.') + __('Something went wrong while saving the rule data. Please review the error log.') ); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); $this->_objectManager->get('Magento\Backend\Model\Session')->setPageData($data); diff --git a/app/code/Magento/CatalogRule/Model/Indexer/AbstractIndexer.php b/app/code/Magento/CatalogRule/Model/Indexer/AbstractIndexer.php index 13dc23422a50c60ace7d5f0ed87376fba998f04f..dd32624a89912a5a3a8434f2975ed266bda2cb42 100644 --- a/app/code/Magento/CatalogRule/Model/Indexer/AbstractIndexer.php +++ b/app/code/Magento/CatalogRule/Model/Indexer/AbstractIndexer.php @@ -105,7 +105,7 @@ abstract class AbstractIndexer implements IndexerActionInterface, MviewActionInt { if (!$id) { throw new \Magento\Framework\Exception\LocalizedException( - __('Could not rebuild index for undefined product') + __('We can\'t rebuild the index for an undefined product.') ); } $this->doExecuteRow($id); diff --git a/app/code/Magento/CatalogRule/Plugin/Indexer/Product/Attribute.php b/app/code/Magento/CatalogRule/Plugin/Indexer/Product/Attribute.php index 254ac9fdbff862b9d37174f882990144458ecbae..4a4450057ea0d5d92659fe003fac53b19538bc89 100644 --- a/app/code/Magento/CatalogRule/Plugin/Indexer/Product/Attribute.php +++ b/app/code/Magento/CatalogRule/Plugin/Indexer/Product/Attribute.php @@ -105,7 +105,7 @@ class Attribute $this->ruleProductProcessor->markIndexerAsInvalid(); $this->messageManager->addWarning( __( - '%1 Catalog Price Rules based on "%2" attribute have been disabled.', + 'You disabled %1 Catalog Price Rules based on "%2" attribute.', $disabledRulesCount, $attributeCode ) diff --git a/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/AbstractIndexerTest.php b/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/AbstractIndexerTest.php index dfec1c047ab09db3763e463ff16d120f3d4c50ad..c000ae21d096bb66d0d8a3ec205c5bbf96e7389c 100644 --- a/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/AbstractIndexerTest.php +++ b/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/AbstractIndexerTest.php @@ -99,7 +99,7 @@ class AbstractIndexerTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Could not rebuild index for undefined product + * @expectedExceptionMessage We can't rebuild the index for an undefined product. * * @return void */ diff --git a/app/code/Magento/CatalogRule/etc/acl.xml b/app/code/Magento/CatalogRule/etc/acl.xml index c5216b6f58560ba67841eb803c45a0f8346578ca..3f8941d24f70885bcdcffb0139a180994157a165 100644 --- a/app/code/Magento/CatalogRule/etc/acl.xml +++ b/app/code/Magento/CatalogRule/etc/acl.xml @@ -11,7 +11,7 @@ <resource id="Magento_Backend::admin"> <resource id="Magento_Backend::marketing"> <resource id="Magento_CatalogRule::promo" title="Promotions" sortOrder="10"> - <resource id="Magento_CatalogRule::promo_catalog" title="Catalog Price Rules" sortOrder="10" /> + <resource id="Magento_CatalogRule::promo_catalog" title="Catalog Price Rule" sortOrder="10" /> </resource> </resource> </resource> diff --git a/app/code/Magento/CatalogRule/etc/adminhtml/menu.xml b/app/code/Magento/CatalogRule/etc/adminhtml/menu.xml index 29cde11d5c0b83b77620b7c0c42475bef0016c24..cb0545bf17eb2cb100c33b2c1a76a1ebd4cbdfbc 100644 --- a/app/code/Magento/CatalogRule/etc/adminhtml/menu.xml +++ b/app/code/Magento/CatalogRule/etc/adminhtml/menu.xml @@ -8,6 +8,6 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Backend/etc/menu.xsd"> <menu> <add id="Magento_CatalogRule::promo" title="Promotions" module="Magento_CatalogRule" parent="Magento_Backend::marketing" sortOrder="10" resource="Magento_CatalogRule::promo"/> - <add id="Magento_CatalogRule::promo_catalog" title="Catalog Price Rules" sortOrder="10" module="Magento_CatalogRule" parent="Magento_CatalogRule::promo" action="catalog_rule/promo_catalog/" dependsOnModule="Magento_Catalog" resource="Magento_CatalogRule::promo_catalog"/> + <add id="Magento_CatalogRule::promo_catalog" title="Catalog Price Rule" sortOrder="10" module="Magento_CatalogRule" parent="Magento_CatalogRule::promo" action="catalog_rule/promo_catalog/" dependsOnModule="Magento_Catalog" resource="Magento_CatalogRule::promo_catalog"/> </menu> </config> diff --git a/app/code/Magento/CatalogSearch/view/frontend/templates/advanced/result.phtml b/app/code/Magento/CatalogSearch/view/frontend/templates/advanced/result.phtml index a573a9a02d646f295b5e551e1246a70cf272e3a4..e96c86c5f8aff280f09b6ef0edfadea818f13ad4 100644 --- a/app/code/Magento/CatalogSearch/view/frontend/templates/advanced/result.phtml +++ b/app/code/Magento/CatalogSearch/view/frontend/templates/advanced/result.phtml @@ -23,7 +23,7 @@ <?php else: ?> <div class="message error"> <div> - <?php echo __('No items were found using the following search criteria.');?> <a href="<?php echo $block->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a> + <?php echo __('We can\'t find any items matching these search criteria.');?> <a href="<?php echo $block->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a> </div> </div> <?php endif; ?> diff --git a/app/code/Magento/CatalogSearch/view/frontend/templates/result.phtml b/app/code/Magento/CatalogSearch/view/frontend/templates/result.phtml index 9f1c2cec4bc834afde596c0533d7f635f0cd3420..92fe9a3e3c1a6bffa512cf9db299cef7847ceba1 100644 --- a/app/code/Magento/CatalogSearch/view/frontend/templates/result.phtml +++ b/app/code/Magento/CatalogSearch/view/frontend/templates/result.phtml @@ -25,7 +25,7 @@ <div class="message notice"> <div> - <?php echo($block->getNoResultText()) ? $block->getNoResultText() : __('Your search returns no results.') ?> + <?php echo($block->getNoResultText()) ? $block->getNoResultText() : __('Your search returned no results.') ?> <?php echo $block->getAdditionalHtml() ?> <?php if ($messages = $block->getNoteMessages()):?> <?php foreach ($messages as $message):?> diff --git a/app/code/Magento/Checkout/Controller/Cart/Add.php b/app/code/Magento/Checkout/Controller/Cart/Add.php index 6bf5cecdfb0e35c6b36a09ca4bebf6bd254cd88d..05bafe1daa1ae6d614fadff393de49607e1194ba 100644 --- a/app/code/Magento/Checkout/Controller/Cart/Add.php +++ b/app/code/Magento/Checkout/Controller/Cart/Add.php @@ -147,7 +147,7 @@ class Add extends \Magento\Checkout\Controller\Cart return $this->goBack($url); } catch (\Exception $e) { - $this->messageManager->addException($e, __('We cannot add this item to your shopping cart')); + $this->messageManager->addException($e, __('We can\'t add this item to your shopping cart right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); return $this->goBack(); } diff --git a/app/code/Magento/Checkout/Controller/Cart/Addgroup.php b/app/code/Magento/Checkout/Controller/Cart/Addgroup.php index f3f8a349b6a80948ca037c6387c91c10aec3bf71..44260ba75a5d65255dc1f640cd1fff94be97e825 100644 --- a/app/code/Magento/Checkout/Controller/Cart/Addgroup.php +++ b/app/code/Magento/Checkout/Controller/Cart/Addgroup.php @@ -30,7 +30,10 @@ class Addgroup extends \Magento\Checkout\Controller\Cart $this->messageManager->addError($e->getMessage()); } } catch (\Exception $e) { - $this->messageManager->addException($e, __('We cannot add this item to your shopping cart')); + $this->messageManager->addException( + $e, + __('We can\'t add this item to your shopping cart right now.') + ); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); return $this->_goBack(); } diff --git a/app/code/Magento/Checkout/Controller/Cart/CouponPost.php b/app/code/Magento/Checkout/Controller/Cart/CouponPost.php index 81f7631db4ebde05b039b202242ec6876aee3551..1562c3fc54ebdba84714072bd580e378c6d9fca2 100644 --- a/app/code/Magento/Checkout/Controller/Cart/CouponPost.php +++ b/app/code/Magento/Checkout/Controller/Cart/CouponPost.php @@ -80,7 +80,7 @@ class CouponPost extends \Magento\Checkout\Controller\Cart if ($isCodeLengthValid && $couponCode == $this->cart->getQuote()->getCouponCode()) { $this->messageManager->addSuccess( __( - 'The coupon code "%1" was applied.', + 'You used coupon code "%1".', $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($couponCode) ) ); @@ -94,7 +94,7 @@ class CouponPost extends \Magento\Checkout\Controller\Cart $this->cart->save(); } } else { - $this->messageManager->addSuccess(__('The coupon code was canceled.')); + $this->messageManager->addSuccess(__('You canceled the coupon code.')); } } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Checkout/Controller/Cart/Delete.php b/app/code/Magento/Checkout/Controller/Cart/Delete.php index 8b5e2da9ce319ecd52b5d8d6302c0d5b83189a23..3d73a5f0c205a8ec950b088f67d5f3438708f9d9 100644 --- a/app/code/Magento/Checkout/Controller/Cart/Delete.php +++ b/app/code/Magento/Checkout/Controller/Cart/Delete.php @@ -20,7 +20,7 @@ class Delete extends \Magento\Checkout\Controller\Cart try { $this->cart->removeItem($id)->save(); } catch (\Exception $e) { - $this->messageManager->addError(__('We cannot remove the item.')); + $this->messageManager->addError(__('We can\'t remove the item.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } } diff --git a/app/code/Magento/Checkout/Controller/Cart/UpdateItemOptions.php b/app/code/Magento/Checkout/Controller/Cart/UpdateItemOptions.php index 83b569541117f680ff951809eeffe95b288fe7c5..f8519d2ee57f922d23fc8fc56ab6d366e0113ba0 100644 --- a/app/code/Magento/Checkout/Controller/Cart/UpdateItemOptions.php +++ b/app/code/Magento/Checkout/Controller/Cart/UpdateItemOptions.php @@ -86,7 +86,7 @@ class UpdateItemOptions extends \Magento\Checkout\Controller\Cart return $this->resultRedirectFactory->create()->setUrl($this->_redirect->getRedirectUrl($cartUrl)); } } catch (\Exception $e) { - $this->messageManager->addException($e, __('We cannot update the item.')); + $this->messageManager->addException($e, __('We can\'t update the item right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); return $this->_goBack(); } diff --git a/app/code/Magento/Checkout/Controller/Cart/UpdatePost.php b/app/code/Magento/Checkout/Controller/Cart/UpdatePost.php index 31d94cb623031c751834ec5e49b38259eaf820ed..324cd788a97bb2e3f544b7881c4962a4f79a5918 100644 --- a/app/code/Magento/Checkout/Controller/Cart/UpdatePost.php +++ b/app/code/Magento/Checkout/Controller/Cart/UpdatePost.php @@ -23,7 +23,7 @@ class UpdatePost extends \Magento\Checkout\Controller\Cart } catch (\Magento\Framework\Exception\LocalizedException $exception) { $this->messageManager->addError($exception->getMessage()); } catch (\Exception $exception) { - $this->messageManager->addException($exception, __('We cannot update the shopping cart.')); + $this->messageManager->addException($exception, __('We can\'t update the shopping cart.')); } } @@ -57,7 +57,7 @@ class UpdatePost extends \Magento\Checkout\Controller\Cart $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($e->getMessage()) ); } catch (\Exception $e) { - $this->messageManager->addException($e, __('We cannot update the shopping cart.')); + $this->messageManager->addException($e, __('We can\'t update the shopping cart.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } } diff --git a/app/code/Magento/Checkout/Controller/Onepage/Index.php b/app/code/Magento/Checkout/Controller/Onepage/Index.php index 5e16fbd5f2f01e44e5a21d625aa72adc280a2d10..991511fc02267a4d6a250fb78576b0feaa08ad14 100644 --- a/app/code/Magento/Checkout/Controller/Onepage/Index.php +++ b/app/code/Magento/Checkout/Controller/Onepage/Index.php @@ -16,7 +16,7 @@ class Index extends \Magento\Checkout\Controller\Onepage public function execute() { if (!$this->_objectManager->get('Magento\Checkout\Helper\Data')->canOnepageCheckout()) { - $this->messageManager->addError(__('The onepage checkout is disabled.')); + $this->messageManager->addError(__('One-page checkout is turned off.')); return $this->resultRedirectFactory->create()->setPath('checkout/cart'); } $quote = $this->getOnepage()->getQuote(); diff --git a/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php b/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php index 205174f25e2e45f29e4dd4549017be97d74f7df2..6ded4bb23236587772dfb218a1faf76e1ee4e010 100644 --- a/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php +++ b/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php @@ -113,7 +113,7 @@ class SaveOrder extends \Magento\Checkout\Controller\Onepage $result->setData('error', true); $result->setData( 'error_messages', - __('Something went wrong processing your order. Please try again later.') + __('Something went wrong while processing your order. Please try again later.') ); } /** diff --git a/app/code/Magento/Checkout/Model/Cart.php b/app/code/Magento/Checkout/Model/Cart.php index 0762ae9e18e9c24e0e1cbb91a32c41d4834168fc..e0d633415a103832fbd71796725dcc6020db7533 100644 --- a/app/code/Magento/Checkout/Model/Cart.php +++ b/app/code/Magento/Checkout/Model/Cart.php @@ -517,7 +517,7 @@ class Cart extends Object implements CartInterface if ($qtyRecalculatedFlag) { $this->messageManager->addNotice( - __('Some products quantities were recalculated because of quantity increment mismatch.') + __('We adjusted product quantities to fit the required increments.') ); } diff --git a/app/code/Magento/Checkout/Model/Type/Onepage.php b/app/code/Magento/Checkout/Model/Type/Onepage.php index ff24c18f2be2820b06edf2540f211f2e8a90958a..dae0433f518ad6d159a555a88a883ec78dc516cf 100644 --- a/app/code/Magento/Checkout/Model/Type/Onepage.php +++ b/app/code/Magento/Checkout/Model/Type/Onepage.php @@ -449,7 +449,7 @@ class Onepage 'error' => 1, // @codingStandardsIgnoreStart 'message' => __( - 'There is already a registered customer using this email address. Please log in using this email address or enter a different email address to register your account.' + 'This email address already belongs to a registered customer. You can sign in or create an account with a different email address.' ) // @codingStandardsIgnoreEnd ]; @@ -783,11 +783,13 @@ class Onepage $quote = $this->getQuote(); if ($quote->isMultipleShippingAddresses()) { - throw new \Magento\Framework\Exception\LocalizedException(__('There are more than one shipping address.')); + throw new \Magento\Framework\Exception\LocalizedException( + __('There are more than one shipping addresses.') + ); } if ($quote->getCheckoutMethod() == self::METHOD_GUEST && !$this->_helper->isAllowedGuestCheckout($quote)) { - throw new \Magento\Framework\Exception\LocalizedException(__('Sorry, guest checkout is not enabled.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Sorry, guest checkout is not available.')); } } @@ -907,7 +909,7 @@ class Onepage $this->messageManager->addSuccess( // @codingStandardsIgnoreStart __( - 'Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please <a href="%1">click here</a>.', + 'You must confirm your account. Please check your email for the confirmation link or <a href="%1">click here</a> for a new link.', $url ) // @codingStandardsIgnoreEnd diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml index d9e8d61c507a99b377704803e0321ed1d21c840b..b17b2423c18b6dd37767139b97954444a7310479 100644 --- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml +++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml @@ -9,7 +9,7 @@ <body> <referenceBlock name="page.main.title"> <action method="setPageTitle"> - <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument> + <argument translate="true" name="title" xsi:type="string">We received your order!</argument> </action> </referenceBlock> <referenceContainer name="content"> diff --git a/app/code/Magento/Checkout/view/frontend/templates/cart/shipping.phtml b/app/code/Magento/Checkout/view/frontend/templates/cart/shipping.phtml index 95bce4581bc118830a479a614d6f71cc2d65547e..c38df0934ee5923819d4903d39531d1ad2ab7565 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/cart/shipping.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/cart/shipping.phtml @@ -30,7 +30,7 @@ <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label> <div class="control"> <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" <?php if ($block->isStateProvinceRequired()):?> data-validate="{'validate-select':true}" <?php endif;?> > - <option value=""><?php echo __('Please select region, state or province') ?></option> + <option value=""><?php echo __('Please select a region, state or province.') ?></option> </select> <input type="text" id="region" name="region" value="<?php echo $block->escapeHtml($block->getEstimateRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text" /> </div> diff --git a/app/code/Magento/Checkout/view/frontend/templates/onepage/billing.phtml b/app/code/Magento/Checkout/view/frontend/templates/onepage/billing.phtml index 951f7355804ec10d93a1403b8c5bf236e583570d..d2468e2aeda0ac1c88329949843696ef2e44aab5 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/onepage/billing.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/onepage/billing.phtml @@ -90,7 +90,7 @@ data-validate="{'validate-select':true}" <?php if ($block->getConfig('general/region/display_all') === 0):?>disabled="disabled"<?php endif; ?> style="display:none;"> - <option value=""><?php echo __('Please select region, state or province') ?></option> + <option value=""><?php echo __('Please select a region, state or province.') ?></option> </select> <input type="text" id="billing:region" diff --git a/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping.phtml b/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping.phtml index 6848faef6f2b9376e9e09bec13140d2a4508ddb9..335269fe4a1c656fb8ad93b7b64c76d38c590b3d 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping.phtml @@ -67,7 +67,7 @@ <label class="label" for="shipping:region"><span><?php echo __('State/Province') ?></span></label> <div class="control"> <select id="shipping:region_id" name="shipping[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;"> - <option value=""><?php echo __('Please select region, state or province') ?></option> + <option value=""><?php echo __('Please select a region, state or province.') ?></option> </select> <input type="text" id="shipping:region" name="shipping[region]" value="<?php echo $block->escapeHtml($block->getAddress()->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" /> </div> diff --git a/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping_method/available.phtml b/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping_method/available.phtml index 257d8bab74f12f09a1f51a16a8eb190c24d31fa0..439778300fa6dccd9a8e269c087c018632cf54be 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping_method/available.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/onepage/shipping_method/available.phtml @@ -14,7 +14,7 @@ <?php /** @var $block \Magento\Checkout\Block\Onepage\Shipping\Method\Available */ ?> <?php $_shippingRateGroups = $block->getShippingRates(); ?> <?php if (!$_shippingRateGroups): ?> - <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p> + <p><?php echo __('Sorry, no quotes are available for this order right now.') ?></p> <?php else: ?> <dl class="items methods-shipping"> <?php $shippingCodePrice = []; ?> diff --git a/app/code/Magento/Checkout/view/frontend/templates/success.phtml b/app/code/Magento/Checkout/view/frontend/templates/success.phtml index b4d0bba7142182d3419a0602e538a89da579e26c..9a5162afc572fca0447b785fd7b15f4e1b291a5f 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/success.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/success.phtml @@ -15,7 +15,7 @@ <?php else :?> <p><?php echo __('Your order # is: <span>%1</span>.', $block->escapeHtml($block->getOrderId())) ?></p> <?php endif;?> - <p><?php echo __('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p> + <p><?php echo __('We\'ll email you an order confirmation with details and tracking info.') ?></p> <?php endif;?> <?php echo $block->getAdditionalInfoHtml() ?> diff --git a/app/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js b/app/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js index 29789e906e65a43a1f86eeb9ab9da7becb06a8ed..059595059e51bd7cc167c8d6dca289dceaff2440 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js @@ -183,7 +183,7 @@ define([ if (json.isGuestCheckoutAllowed) { if( !guestChecked && !registerChecked ){ - alert( $.mage.__('You can create an account or check out as a guest.') ); + alert( $.mage.__('Please create an account or check out as a guest.') ); return false; } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/opc-payment-info.js b/app/code/Magento/Checkout/view/frontend/web/js/opc-payment-info.js index ac9a1781c49921ae2a7b50b308e19d7667a726c6..103ba0a083a1dc127854422cd763a1c65c02de71 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/opc-payment-info.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/opc-payment-info.js @@ -121,7 +121,7 @@ define([ var methods = this.element.find('[name^="payment["]'); if (methods.length === 0) { - alert($.mage.__("We can't complete your order because you don't have a payment method available.")); + alert($.mage.__('We can\'t complete your order because you don\'t have a payment method set up.')); return false; } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/opcheckout.js b/app/code/Magento/Checkout/view/frontend/web/js/opcheckout.js index 0875a61b5b92995b18d31e0c115ec8905f59fdc4..dfa427d7c4dad0809d612262f329a43d66abdc85 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/opcheckout.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/opcheckout.js @@ -156,7 +156,7 @@ define([ this.element.find(this.options.checkout.registerCustomerPasswordSelector).show(); } else { - alert($.mage.__('You can create an account or check out as a guest.')); + alert($.mage.__('Please create an account or check out as a guest.')); return false; } @@ -427,7 +427,7 @@ define([ var methods = this.element.find('[name="shipping_method"]'); if (methods.length === 0) { - alert($.mage.__('We can\'t ship to this address. Please enter another address or edit this one.')); + alert($.mage.__('We can\'t ship to this address. Please choose another address or edit the current one.')); return false; } @@ -551,7 +551,7 @@ define([ var methods = this.element.find('[name^="payment["]'); if (methods.length === 0) { - alert($.mage.__("We can't complete your order because you don't have a payment method available.")); + alert($.mage.__('We can\'t complete your order because you don\'t have a payment method set up.')); return false; } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/payment.js b/app/code/Magento/Checkout/view/frontend/web/js/payment.js index 8c880cd694bf166f711e99e3a1f435cc76dce883..258531548bc842fd5ff4cf65b05727ec1b641b67 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/payment.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/payment.js @@ -79,7 +79,7 @@ define([ isValid = false; if (methods.length === 0) { - alert($.mage.__("We can't complete your order because you don't have a payment method available.")); + alert($.mage.__('We can\'t complete your order because you don\'t have a payment method set up.')); } else if (this.options.checkoutPrice < this.options.minBalance) { isValid = true; } else if (methods.filter('input:radio:checked').length) { diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js b/app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js index 322718862d97ec4ebe4172dd2ac3bfe6833fafff..373056b389e955be7f910313faf38af2e83cddbb 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js @@ -47,7 +47,7 @@ define([ "button": ":button.update-cart-item" }, "confirmMessage": $.mage.__( - 'Are you sure you would like to remove this item from the shopping cart?' + 'Are you sure you want to remove this item from your Compare Products list?' ) }); } diff --git a/app/code/Magento/Checkout/view/frontend/web/template/authentication.html b/app/code/Magento/Checkout/view/frontend/web/template/authentication.html index c54065bab2510988a32f1e60da6e8ee076183291..263249c03824174fbc03630df6581d5e256b0909 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/authentication.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/authentication.html @@ -25,7 +25,7 @@ <div class="block block-guest"> <div class="block-title"> <strong id="block-guest-heading" role="heading" aria-level="2"> - <!--ko text: $t('Checkout as a Guest')--><!--/ko--> + <!--ko text: $t('Check Out as a Guest')--><!--/ko--> </strong> </div> <div class="block-content" aria-labelledby="block-guest-heading"> @@ -37,11 +37,11 @@ <!-- ko ifnot: isGuestCheckoutAllowed --> <!-- ko if: isCustomerLoginRequired --> <input type="checkbox" name="checkout_method" data-role="checkout-method-register" id="login:register" value="register" checked="checked" style="display: none"/> - <button data-bind="click: setCheckoutMethod" data-role="opc-continue" id="onepage-guest-register-button" type="button" class="action register primary" data-checkout='{"isGuestCheckoutAllowed":false, "registrationUrl":"registerUrl"}'><span data-bind="text: $t('Register')"></span></button> + <button data-bind="click: setCheckoutMethod" data-role="opc-continue" id="onepage-guest-register-button" type="button" class="action register primary" data-checkout='{"isGuestCheckoutAllowed":false, "registrationUrl":"registerUrl"}'><span data-bind="text: $t('Create an Account')"></span></button> <!-- /ko --> <!-- ko ifnot: isCustomerLoginRequired --> <input type="checkbox" name="checkout_method" data-role="checkout-method-register" id="login:register" value="register" checked="checked" style="display: none"/> - <button data-bind="click: setCheckoutMethod" data-role="opc-continue" id="onepage-guest-register-button" type="button" class="action register primary" data-checkout='{"isGuestCheckoutAllowed":true}'><span data-bind="text: $t('Register')"></span></button> + <button data-bind="click: setCheckoutMethod" data-role="opc-continue" id="onepage-guest-register-button" type="button" class="action register primary" data-checkout='{"isGuestCheckoutAllowed":true}'><span data-bind="text: $t('Create an Account')"></span></button> <!-- /ko --> <!-- /ko --> </div> @@ -59,7 +59,7 @@ method="post" data-mage-init='{"validation":{}}'> <fieldset class="fieldset login" data-bind="attr: {'data-hasrequired': $t('* Required Fields')}"> - <div class="field note" data-bind="text: $t('Already registered? Please log in below:')"></div> + <div class="field note" data-bind="text: $t('Already registered? Please sign in below:')"></div> <div class="field email required"> <label class="label" for="login-email"><span data-bind="text: $t('Email')"></span></label> <div class="control"> diff --git a/app/code/Magento/Checkout/view/frontend/web/template/minicart/item/default.html b/app/code/Magento/Checkout/view/frontend/web/template/minicart/item/default.html index a846c85deb4e7b20b0c7c16858bc8e7b67cb765f..7a5432c380b5579dff032a888203426d61ae03ea 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/minicart/item/default.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/minicart/item/default.html @@ -33,7 +33,7 @@ <!-- ko if: options.length --> <div class="product options" data-mage-init='{"collapsible":{"openedState": "active", "saveState": false}}'> - <span data-role="title" class="more toggle"><!-- ko text: $t('View Details') --><!-- /ko --></span> + <span data-role="title" class="more toggle"><!-- ko text: $t('See Details') --><!-- /ko --></span> <div data-role="content" class="product options details content"> <strong class="subtitle"><!-- ko text: $t('Options Details') --><!-- /ko --></strong> diff --git a/app/code/Magento/Checkout/view/frontend/web/template/progress.html b/app/code/Magento/Checkout/view/frontend/web/template/progress.html index af506619bda9516dcb6ca813dcc33dc4a1d3634b..2831a845897496816dd57d0fefadecd98b44390d 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/progress.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/progress.html @@ -74,7 +74,7 @@ <!--/ko--> <!-- ko ifnot : (getShippingRates().length > 0) --> - <!-- ko text: $t('Shipping method has not been selected yet') --><!--/ko--> + <!-- ko text: $t('Please choose a shipping method.') --><!--/ko--> <!--/ko--> </dd> <!--/ko--> diff --git a/app/code/Magento/Checkout/view/frontend/web/template/shipping-method.html b/app/code/Magento/Checkout/view/frontend/web/template/shipping-method.html index 3bb9342bc5722ebd96f5393ca5bbabe4a44424fb..523c1eb3b34f4c2c47d692b4401f945bbe422471 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/shipping-method.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/shipping-method.html @@ -16,7 +16,7 @@ aria-hidden="false" data-bind="fadeVisible: isVisible() && quoteHasShippingAddress()"> <!-- ko if: rates().length == 0 --> - <!-- ko text: $t('Sorry, no quotes are available for this order at this time')--><!-- /ko --> + <!-- ko text: $t('Sorry, no quotes are available for this order right now.')--><!-- /ko --> <!-- /ko --> <!-- ko if: rates().length --> <form class="form methods-shipping" id="co-shipping-method-form" data-bind="submit: setShippingMethod" novalidate="novalidate"> diff --git a/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Delete.php b/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Delete.php index fba6b572166c142a4e8f6a58275809f295705db8..8ca81a642dfbd81e82b85371ee8bb25aecaa0dfd 100644 --- a/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Delete.php +++ b/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Delete.php @@ -23,7 +23,7 @@ class Delete extends \Magento\CheckoutAgreements\Controller\Adminhtml\Agreement try { $model->delete(); - $this->messageManager->addSuccess(__('The condition has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the condition.')); $this->_redirect('checkout/*/'); return; } catch (\Magento\Framework\Exception\LocalizedException $e) { diff --git a/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Save.php b/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Save.php index ddd125d419f6cf3feb5bbdd7e7258bc00bfaf377..760a465693f177deb3b6468b09861744e7e9b080 100644 --- a/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Save.php +++ b/app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Save.php @@ -26,7 +26,7 @@ class Save extends \Magento\CheckoutAgreements\Controller\Adminhtml\Agreement } } else { $model->save(); - $this->messageManager->addSuccess(__('The condition has been saved.')); + $this->messageManager->addSuccess(__('You saved the condition.')); $this->_redirect('checkout/*/'); return; } diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Block/Delete.php b/app/code/Magento/Cms/Controller/Adminhtml/Block/Delete.php index c5bf68c00e127f199bc23d04f165a333db937035..107b5f4eb9ecc5da560b6a34beb235c976455c3d 100755 --- a/app/code/Magento/Cms/Controller/Adminhtml/Block/Delete.php +++ b/app/code/Magento/Cms/Controller/Adminhtml/Block/Delete.php @@ -26,7 +26,7 @@ class Delete extends \Magento\Cms\Controller\Adminhtml\Block $model->load($id); $model->delete(); // display success message - $this->messageManager->addSuccess(__('The block has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the block.')); // go to grid return $resultRedirect->setPath('*/*/'); } catch (\Exception $e) { diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php b/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php index 1fe7e266c91be3609d217d825d2b1a5b5a943881..c6e17f07cbfeecd5167f03bfab480de6084a3128 100755 --- a/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php +++ b/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php @@ -36,7 +36,7 @@ class Save extends \Magento\Cms\Controller\Adminhtml\Block // save the data $model->save(); // display success message - $this->messageManager->addSuccess(__('The block has been saved.')); + $this->messageManager->addSuccess(__('You saved the block.')); // clear previously saved data from session $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData(false); diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php b/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php index 46b0998de61fd481386bfe840506b715a4d9b692..6858ef9cadf1014d5edd9842035e028847728806 100644 --- a/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php +++ b/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php @@ -65,7 +65,7 @@ class Save extends \Magento\Backend\App\Action try { $model->save(); - $this->messageManager->addSuccess(__('The page has been saved.')); + $this->messageManager->addSuccess(__('You saved this page.')); $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData(false); if ($this->getRequest()->getParam('back')) { return $resultRedirect->setPath('*/*/edit', ['page_id' => $model->getId(), '_current' => true]); diff --git a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php index 154f74fac0ff7c47d8ee3c4ef1dfc9e18171a661..c1fbd62d212129341ce19c777d4c84033c6e2c9b 100644 --- a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php +++ b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php @@ -344,7 +344,7 @@ class Storage extends \Magento\Framework\Object { if (!preg_match(self::DIRECTORY_NAME_REGEXP, $name)) { throw new \Magento\Framework\Exception\LocalizedException( - __('Please correct the folder name. Use only letters, numbers, underscores and dashes.') + __('Please rename the folder using only letters, numbers, underscores and dashes.') ); } diff --git a/app/code/Magento/Cms/Setup/InstallData.php b/app/code/Magento/Cms/Setup/InstallData.php index 32f64b54b5502303c0077d214291bb35fe0a5373..726a8e45f01a369bf28833a02bd972ce67b5a857 100644 --- a/app/code/Magento/Cms/Setup/InstallData.php +++ b/app/code/Magento/Cms/Setup/InstallData.php @@ -107,7 +107,7 @@ class InstallData implements InstallDataInterface <div class="message info"> <span> Please replace this text with you Privacy Policy. - Please add any additional cookies your website uses below (e.g., Google Analytics) + Please add any additional cookies your website uses below (e.g. Google Analytics). </span> </div> <p> @@ -258,7 +258,7 @@ class InstallData implements InstallDataInterface </tr> <tr> <th>FRONTEND</th> - <td>You sesssion ID on the server.</td> + <td>Your session ID on the server.</td> </tr> <tr> <th>GUEST-VIEW</th> diff --git a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/DeleteTest.php b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/DeleteTest.php index 44335de6ff1b189c610092d619436f83afff1152..c32d11572cf67c614602101942ffd23e47a62614 100644 --- a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/DeleteTest.php +++ b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/DeleteTest.php @@ -139,7 +139,7 @@ class DeleteTest extends \PHPUnit_Framework_TestCase $this->messageManagerMock->expects($this->once()) ->method('addSuccess') - ->with(__('The block has been deleted.')); + ->with(__('You deleted the block.')); $this->messageManagerMock->expects($this->never()) ->method('addError'); diff --git a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/SaveTest.php b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/SaveTest.php index c74fa3e8fe414f5436d782e4e6f530890b663247..0a1c7be6c9541410f366bf990226502df6a61f8f 100644 --- a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/SaveTest.php +++ b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/SaveTest.php @@ -210,7 +210,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase $this->messageManagerMock->expects($this->once()) ->method('addSuccess') - ->with(__('The block has been saved.')); + ->with(__('You saved the block.')); $this->sessionMock->expects($this->atLeastOnce())->method('setFormData')->with(false); @@ -294,7 +294,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase $this->messageManagerMock->expects($this->once()) ->method('addSuccess') - ->with(__('The block has been saved.')); + ->with(__('You saved the block.')); $this->sessionMock->expects($this->atLeastOnce())->method('setFormData')->with(false); @@ -341,7 +341,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase $this->messageManagerMock->expects($this->any()) ->method('addSuccess') - ->with(__('The block has been saved.')); + ->with(__('You saved the block.')); $this->messageManagerMock->expects($this->once()) ->method('addError'); diff --git a/app/code/Magento/Config/Controller/Adminhtml/System/Config/Save.php b/app/code/Magento/Config/Controller/Adminhtml/System/Config/Save.php index f5969841a7db1d5653e6f19cdb0765973d1b8310..75b8eb4fd26e38fdd4e3b7a1de6001454cc15f64 100644 --- a/app/code/Magento/Config/Controller/Adminhtml/System/Config/Save.php +++ b/app/code/Magento/Config/Controller/Adminhtml/System/Config/Save.php @@ -169,7 +169,7 @@ class Save extends AbstractConfig } catch (\Exception $e) { $this->messageManager->addException( $e, - __('An error occurred while saving this configuration:') . ' ' . $e->getMessage() + __('Something went wrong while saving this configuration:') . ' ' . $e->getMessage() ); } diff --git a/app/code/Magento/Config/Model/Config/Backend/Currency/DefaultCurrency.php b/app/code/Magento/Config/Model/Config/Backend/Currency/DefaultCurrency.php index c2030b1c734340e7058adf54792c962aea244194..35e8e5688ca0cdf156189145e01abb52d06a7596 100644 --- a/app/code/Magento/Config/Model/Config/Backend/Currency/DefaultCurrency.php +++ b/app/code/Magento/Config/Model/Config/Backend/Currency/DefaultCurrency.php @@ -29,7 +29,7 @@ class DefaultCurrency extends AbstractCurrency if (!in_array($this->getValue(), $this->_getAllowedCurrencies())) { throw new \Magento\Framework\Exception\LocalizedException( - __('Sorry, the default display currency you selected in not available in allowed currencies.') + __('Sorry, the default display currency you selected is not available in allowed currencies.') ); } diff --git a/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php b/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php index 3f5d820c2d46ff3e04a97f469e96dd7d84c0dbe4..8471d5c3d3231c25763964a65275d998ba4fbd20 100644 --- a/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php +++ b/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php @@ -228,14 +228,14 @@ class OptionRepository implements \Magento\ConfigurableProduct\Api\OptionReposit $product->setStoreId($this->storeManager->getStore(Store::ADMIN_CODE)->getId()); $product->save(); } catch (\Exception $e) { - throw new CouldNotSaveException(__('An error occurred while saving option')); + throw new CouldNotSaveException(__('Something went wrong while saving option.')); } $configurableAttribute = $this->configurableAttributeFactory->create(); $configurableAttribute->loadByProductAndAttribute($product, $eavAttribute); } if (!$configurableAttribute->getId()) { - throw new CouldNotSaveException(__('An error occurred while saving option')); + throw new CouldNotSaveException(__('Something went wrong while saving option.')); } return $configurableAttribute->getId(); } diff --git a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php index 20d861e695135aabf4c445eea2d4bfdd0eaa0680..f8876143586fd215416d700eb5a2452c4b3c3c36 100644 --- a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php +++ b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php @@ -801,7 +801,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType } if (!isset($_result[0])) { - return __('Cannot add the item to shopping cart')->render(); + return __('You can\'t add the item to shopping cart.')->render(); } /** @@ -874,7 +874,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType */ public function getSpecifyOptionMessage() { - return __('Please specify the product\'s option(s).'); + return __('You need to choose options for your item.'); } /** diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php index a4fcb50da0362d438aa999dc67a57fd7c75ddad9..964627677fd98f95e5c7b35336893464d5eba043 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php @@ -644,7 +644,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Please specify the product's option(s). + * @expectedExceptionMessage You need to choose options for your item. */ public function testCheckProductBuyStateException() { diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml index f1445c3798d2668b5adb12b29d1efbf042617d2a..486bd4943dbeec9e9972159d9433263ac6a1f287 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml @@ -34,7 +34,7 @@ editSet.submit = editSet.submit.wrap(function(original) { editSet.rightBeforeAppend = editSet.rightBeforeAppend.wrap(function(original, tree, nodeThis, node, newParent) { if (node.attributes.is_configurable == 1) { - alert('<?php echo $block->escapeJsQuote(__('This attribute is used in configurable products. You cannot remove it from the attribute set.')) ?>'); + alert('<?php echo $block->escapeJsQuote(__('This attribute is used in configurable products. You cannot remove it from the product template.')) ?>'); return false; } return original(tree, nodeThis, node, newParent); @@ -42,7 +42,7 @@ editSet.rightBeforeAppend = editSet.rightBeforeAppend.wrap(function(original, tr editSet.rightBeforeInsert = editSet.rightBeforeInsert.wrap(function(original, tree, nodeThis, node, newParent) { if (node.attributes.is_configurable == 1) { - alert('<?php echo $block->escapeJsQuote(__('This attribute is used in configurable products. You cannot remove it from the attribute set.')) ?>'); + alert('<?php echo $block->escapeJsQuote(__('This attribute is used in configurable products. You cannot remove it from the product template.')) ?>'); return false; } return original(tree, nodeThis, node, newParent); diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/form.phtml b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/form.phtml index a9c558ad9ce46d7fd7eb30e408d2774eae5de2e2..79fda9e439b27351ffe792e1fa585ba3fa069a53 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/form.phtml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/form.phtml @@ -13,7 +13,7 @@ <div class="messages"> <div class="message message-notice notice"> - <div><?php echo __("Attribute set comprising all selected configurable attributes need to be in order to save generated variations.") ?></div> + <div><?php echo __("Product template comprising all selected configurable attributes need to be in order to save generated variations.") ?></div> </div> <div class="message message-error error" style="display: none"></div> </div> @@ -39,7 +39,7 @@ <div class="field required" id="affected-attribute-set-new-name-container" style="display: none"> <label class="label" for="new-attribute-set-name"> - <span><?php echo __('New attribute set name')?></span> + <span><?php echo __('New product template name')?></span> </label> <div class="control"> diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/js.phtml b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/js.phtml index 9212be28ee6b9ac32658b90f3d0df179f8facef4..19234616a0e6e67ce97cad87d40af3da3f218aa9 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/js.phtml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/product/configurable/affected-attribute-set-selector/js.phtml @@ -34,7 +34,7 @@ $form .dialog({ - title: '<?php echo __('Choose Affected Attribute Set'); ?>', + title: '<?php echo __('Choose Affected Product Template'); ?>', autoOpen: false, id: '<?php echo $block->getJsId() ?>', width: '75%', diff --git a/app/code/Magento/Contact/view/email/submitted_form.html b/app/code/Magento/Contact/view/email/submitted_form.html index 639924aaaef758951cd60590a525a701d905b3f4..5bff540b55d442db04ba85c3e9ea1f6b6591d23b 100644 --- a/app/code/Magento/Contact/view/email/submitted_form.html +++ b/app/code/Magento/Contact/view/email/submitted_form.html @@ -12,7 +12,7 @@ "var data.comment":"Comment"} @--> Name: {{var data.name}} -E-mail: {{var data.email}} +Email: {{var data.email}} Phone Number: {{var data.telephone}} Comment: {{var data.comment}} \ No newline at end of file diff --git a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRates.php b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRates.php index fcd8fa3cb48d300bef4bd7569812edac5800ed3e..08cb0511025c1d582e3c41e82022b822b3676a77 100644 --- a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRates.php +++ b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRates.php @@ -40,10 +40,10 @@ class FetchRates extends \Magento\CurrencySymbol\Controller\Adminhtml\System\Cur $this->messageManager->addWarning($error); } $this->messageManager->addWarning( - __('All possible rates were fetched, please click on "Save" to apply') + __('Click "Save" to apply the rates we found.') ); } else { - $this->messageManager->addSuccess(__('All rates were fetched, please click on "Save" to apply')); + $this->messageManager->addSuccess(__('Click "Save" to apply the rates we found.')); } $backendSession->setRates($rates); diff --git a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/Save.php b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/Save.php index 02509f2c373468072d4290ac9f19ecd0afb4915b..716ca26e493aa4c86f663b4b62dd46ad0a5b81f4 100644 --- a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/Save.php +++ b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/Save.php @@ -27,7 +27,7 @@ class Save extends \Magento\CurrencySymbol\Controller\Adminhtml\System\Currencys try { $this->_objectManager->create('Magento\CurrencySymbol\Model\System\Currencysymbol') ->setCurrencySymbolsData($symbolsDataArray); - $this->messageManager->addSuccess(__('The custom currency symbols were applied.')); + $this->messageManager->addSuccess(__('You applied the custom currency symbols.')); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); } diff --git a/app/code/Magento/Customer/Api/AccountManagementInterface.php b/app/code/Magento/Customer/Api/AccountManagementInterface.php index 3a686695721b836c470aa228b30f9c36f3f5ffc4..afd19537fd4c3d43b5b12e38313b2122af7a2bf5 100644 --- a/app/code/Magento/Customer/Api/AccountManagementInterface.php +++ b/app/code/Magento/Customer/Api/AccountManagementInterface.php @@ -77,7 +77,7 @@ interface AccountManagementInterface public function isReadonly($customerId); /** - * Activate a customer account using a key that was sent in a confirmation e-mail. + * Activate a customer account using a key that was sent in a confirmation email. * * @api * @param string $email @@ -88,7 +88,7 @@ interface AccountManagementInterface public function activate($email, $confirmationKey); /** - * Activate a customer account using a key that was sent in a confirmation e-mail. + * Activate a customer account using a key that was sent in a confirmation email. * * @api * @param int $customerId diff --git a/app/code/Magento/Customer/Block/Account/AuthorizationLink.php b/app/code/Magento/Customer/Block/Account/AuthorizationLink.php index 395e884137e4cb81d618dfaa5e416ab58a8f9933..a9bf5043c9623bf7f5f83f96316085ce56044077 100644 --- a/app/code/Magento/Customer/Block/Account/AuthorizationLink.php +++ b/app/code/Magento/Customer/Block/Account/AuthorizationLink.php @@ -66,7 +66,7 @@ class AuthorizationLink extends \Magento\Framework\View\Element\Html\Link */ public function getLabel() { - return $this->isLoggedIn() ? __('Log Out') : __('Log In'); + return $this->isLoggedIn() ? __('Sign Out') : __('Sign In'); } /** diff --git a/app/code/Magento/Customer/Block/Account/Dashboard.php b/app/code/Magento/Customer/Block/Account/Dashboard.php index a21e707a0dbf495036138d06619e531cf74b84b1..6c01684645e0a393004b0d9bf32e049ddd3fa530 100644 --- a/app/code/Magento/Customer/Block/Account/Dashboard.php +++ b/app/code/Magento/Customer/Block/Account/Dashboard.php @@ -173,7 +173,7 @@ class Dashboard extends \Magento\Framework\View\Element\Template return __('You subscribe to our newsletter.'); } - return __('You are currently not subscribed to our newsletter.'); + return __('You don\'t subscribe to our newsletter.'); } /** diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php index b7aafdd4032ed3c18da45f39f1b2ad07ff9c4e33..8387043fc154194ebe8e8ad1e9dcfdf02495f532 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php @@ -111,7 +111,7 @@ class Orders extends \Magento\Backend\Block\Widget\Grid\Extended $this->addColumn( 'created_at', - ['header' => __('Purchase Date'), 'index' => 'created_at', 'type' => 'datetime'] + ['header' => __('Purchased'), 'index' => 'created_at', 'type' => 'datetime'] ); $this->addColumn('billing_name', ['header' => __('Bill-to Name'), 'index' => 'billing_name']); diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php index be1da04628effa45c596846011d03de346883922..b2adb0316d2ab6241e6d08f535627ed0c9d9aa00 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php @@ -72,7 +72,7 @@ class Cart extends \Magento\Backend\Block\Widget\Grid\Extended $this->setSortable(false); $this->setPagerVisibility(false); $this->setFilterVisibility(false); - $this->setEmptyText(__('There are no items in customer\'s shopping cart at the moment')); + $this->setEmptyText(__('There are no items in customer\'s shopping cart.')); } /** diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php index a2750d15538fe31b704c77ea51b58eb809104b27..adc9caffbf026767e76f459fc10cc5117fff8c00 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php @@ -95,7 +95,7 @@ class Orders extends \Magento\Backend\Block\Widget\Grid\Extended $this->addColumn( 'created_at', - ['header' => __('Purchase Date'), 'index' => 'created_at', 'type' => 'datetime'] + ['header' => __('Purchased'), 'index' => 'created_at', 'type' => 'datetime'] ); $this->addColumn('billing_name', ['header' => __('Bill-to Name'), 'index' => 'billing_name']); diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php index 7dee117053287c40f3a2e043c6b01943e386fcc7..de0c973ddd167162b11ce9935d71263de1954a54 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php @@ -59,7 +59,7 @@ class Wishlist extends \Magento\Backend\Block\Widget\Grid\Extended $this->setSortable(false); $this->setPagerVisibility(false); $this->setFilterVisibility(false); - $this->setEmptyText(__("There are no items in customer's Wish List at the moment.")); + $this->setEmptyText(__('There are no items in customer\'s shopping cart.')); } /** diff --git a/app/code/Magento/Customer/Block/Adminhtml/Sales/Order/Address/Form/Renderer/Vat.php b/app/code/Magento/Customer/Block/Adminhtml/Sales/Order/Address/Form/Renderer/Vat.php index 7d1ec32fa36a67da03fc24ab4a2585a42e2adf3d..211b310cb7a02eaae4b373c6506360a7857943fa 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Sales/Order/Address/Form/Renderer/Vat.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Sales/Order/Address/Form/Renderer/Vat.php @@ -62,7 +62,7 @@ class Vat extends \Magento\Backend\Block\Widget\Form\Renderer\Fieldset\Element $validateUrl = $this->_urlBuilder->getUrl('customer/system_config_validatevat/validateAdvanced'); $groupMessage = __( - 'The customer is currently assigned to Customer Group %s.' + 'The customer is now assigned to Customer Group %s.' ) . ' ' . __( 'Would you like to change the Customer Group for this order?' ); @@ -82,10 +82,10 @@ class Vat extends \Magento\Backend\Block\Widget\Form\Renderer\Fieldset\Element 'The VAT ID is valid but no Customer Group is assigned for it.' ), 'vatValidAndGroupChangeMessage' => __( - 'Based on the VAT ID, the customer would belong to the Customer Group %s.' + 'Based on the VAT ID, the customer belongs to the Customer Group %s.' ) . "\n" . $groupMessage, 'vatValidationFailedMessage' => __( - 'There was an error validating the VAT ID. ' + 'Something went wrong while validating the VAT ID.' ), 'vatCustomerGroupMessage' => __( 'The customer would belong to Customer Group %s.' diff --git a/app/code/Magento/Customer/Controller/Account/Confirm.php b/app/code/Magento/Customer/Controller/Account/Confirm.php index 0720cc798af618cab576eba082ea956fc42273db..a61347c7b3890b112c7f023d2950d0f895954d91 100644 --- a/app/code/Magento/Customer/Controller/Account/Confirm.php +++ b/app/code/Magento/Customer/Controller/Account/Confirm.php @@ -128,14 +128,14 @@ class Confirm extends \Magento\Customer\Controller\Account if ($this->addressHelper->getTaxCalculationAddressType() == Address::TYPE_SHIPPING) { // @codingStandardsIgnoreStart $message = __( - 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter you shipping address for proper VAT calculation', + 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter your shipping address for proper VAT calculation.', $this->urlModel->getUrl('customer/address/edit') ); // @codingStandardsIgnoreEnd } else { // @codingStandardsIgnoreStart $message = __( - 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter you billing address for proper VAT calculation', + 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter your billing address for proper VAT calculation.', $this->urlModel->getUrl('customer/address/edit') ); // @codingStandardsIgnoreEnd diff --git a/app/code/Magento/Customer/Controller/Account/Confirmation.php b/app/code/Magento/Customer/Controller/Account/Confirmation.php index 3d9121e414e5cc37a479390c7a857a731228a271..0151d9e6b1ec528f55d5fdea04116b73f8f1827d 100644 --- a/app/code/Magento/Customer/Controller/Account/Confirmation.php +++ b/app/code/Magento/Customer/Controller/Account/Confirmation.php @@ -65,7 +65,7 @@ class Confirmation extends \Magento\Customer\Controller\Account $email, $this->storeManager->getStore()->getWebsiteId() ); - $this->messageManager->addSuccess(__('Please, check your email for confirmation key.')); + $this->messageManager->addSuccess(__('Please check your email for confirmation key.')); } catch (InvalidTransitionException $e) { $this->messageManager->addSuccess(__('This email does not require confirmation.')); } catch (\Exception $e) { diff --git a/app/code/Magento/Customer/Controller/Account/CreatePost.php b/app/code/Magento/Customer/Controller/Account/CreatePost.php index c132eb904d1446ff1bc8d49c4068e1675963e968..bad09bdeff30ddfbc28881968f14560b896244c9 100644 --- a/app/code/Magento/Customer/Controller/Account/CreatePost.php +++ b/app/code/Magento/Customer/Controller/Account/CreatePost.php @@ -249,7 +249,7 @@ class CreatePost extends \Magento\Customer\Controller\Account // @codingStandardsIgnoreStart $this->messageManager->addSuccess( __( - 'Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%1">click here</a>.', + 'You must confirm your account. Please check your email for the confirmation link or <a href="%1">click here</a> for a new link.', $email ) ); @@ -277,7 +277,7 @@ class CreatePost extends \Magento\Customer\Controller\Account $this->messageManager->addError($this->escaper->escapeHtml($error->getMessage())); } } catch (\Exception $e) { - $this->messageManager->addException($e, __('Cannot save the customer.')); + $this->messageManager->addException($e, __('We can\'t save the customer.')); } $this->_getSession()->setCustomerFormData($this->getRequest()->getPostValue()); @@ -312,14 +312,14 @@ class CreatePost extends \Magento\Customer\Controller\Account if ($this->addressHelper->getTaxCalculationAddressType() == Address::TYPE_SHIPPING) { // @codingStandardsIgnoreStart $message = __( - 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter you shipping address for proper VAT calculation', + 'If you are a registered VAT customer, please <a href="%1">click here</a> to enter your shipping address for proper VAT calculation.', $this->urlModel->getUrl('customer/address/edit') ); // @codingStandardsIgnoreEnd } else { // @codingStandardsIgnoreStart $message = __( - 'If you are a registered VAT customer, please click <a href="%1">here</a> to enter you billing address for proper VAT calculation', + 'If you are a registered VAT customer, please <a href="%1">click here</a> to enter your billing address for proper VAT calculation.', $this->urlModel->getUrl('customer/address/edit') ); // @codingStandardsIgnoreEnd diff --git a/app/code/Magento/Customer/Controller/Account/EditPost.php b/app/code/Magento/Customer/Controller/Account/EditPost.php index c61860f64004def6eb8bc8a72a04d0ea02a2eaf9..e56a0f5d5941e6e9f5e7098c20acaceff8b01735 100644 --- a/app/code/Magento/Customer/Controller/Account/EditPost.php +++ b/app/code/Magento/Customer/Controller/Account/EditPost.php @@ -97,14 +97,14 @@ class EditPost extends \Magento\Customer\Controller\Account } catch (\Exception $e) { $this->messageManager->addException( $e, - __('A problem was encountered trying to change password.') + __('Something went wrong while changing the password.') ); } } else { - $this->messageManager->addError(__('Confirm your new password')); + $this->messageManager->addError(__('Confirm your new password.')); } } else { - $this->messageManager->addError(__('New password field cannot be empty.')); + $this->messageManager->addError(__('Please enter new password.')); } } @@ -117,7 +117,7 @@ class EditPost extends \Magento\Customer\Controller\Account } catch (\Exception $e) { $this->messageManager->addException( $e, - __('Cannot save the customer.') . $e->getMessage() . '<pre>' . $e->getTraceAsString() . '</pre>' + __('We can\'t save the customer.') . $e->getMessage() . '<pre>' . $e->getTraceAsString() . '</pre>' ); } @@ -127,7 +127,7 @@ class EditPost extends \Magento\Customer\Controller\Account return $resultRedirect; } - $this->messageManager->addSuccess(__('The account information has been saved.')); + $this->messageManager->addSuccess(__('You saved the account information.')); $resultRedirect->setPath('customer/account'); return $resultRedirect; } diff --git a/app/code/Magento/Customer/Controller/Account/ForgotPasswordPost.php b/app/code/Magento/Customer/Controller/Account/ForgotPasswordPost.php index fc391f4143525b23d8e88590fa2c5065eeeed664..89b3b2384bea9e03bb73476250d591f1b1afb957 100644 --- a/app/code/Magento/Customer/Controller/Account/ForgotPasswordPost.php +++ b/app/code/Magento/Customer/Controller/Account/ForgotPasswordPost.php @@ -67,18 +67,12 @@ class ForgotPasswordPost extends \Magento\Customer\Controller\Account } catch (NoSuchEntityException $e) { // Do nothing, we don't want anyone to use this action to determine which email accounts are registered. } catch (\Exception $exception) { - $this->messageManager->addException($exception, __('Unable to send password reset email.')); + $this->messageManager->addException($exception, __('We\'re unable to send the password reset email.')); $resultRedirect->setPath('*/*/forgotpassword'); return $resultRedirect; } - $email = $this->escaper->escapeHtml($email); // @codingStandardsIgnoreStart - $this->messageManager->addSuccess( - __( - 'If there is an account associated with %1 you will receive an email with a link to reset your password.', - $email - ) - ); + $this->messageManager->addSuccess(__('We\'ll email you a link to reset your password.')); // @codingStandardsIgnoreEnd $resultRedirect->setPath('*/*/'); return $resultRedirect; diff --git a/app/code/Magento/Customer/Controller/Account/LoginPost.php b/app/code/Magento/Customer/Controller/Account/LoginPost.php index 500a2f7b68302ee573f84a0ac597b551c899e36b..a89e64718ffb2554a2e79cf472762fa56c364a82 100644 --- a/app/code/Magento/Customer/Controller/Account/LoginPost.php +++ b/app/code/Magento/Customer/Controller/Account/LoginPost.php @@ -99,10 +99,12 @@ class LoginPost extends \Magento\Customer\Controller\Account $this->messageManager->addError($message); $this->_getSession()->setUsername($login['username']); } catch (\Exception $e) { - $this->messageManager->addError(__('There was an error validating the login and password.')); + $this->messageManager->addError( + __('Something went wrong while validating the login and password.') + ); } } else { - $this->messageManager->addError(__('Login and password are required.')); + $this->messageManager->addError(__('A login and a password are required.')); } } diff --git a/app/code/Magento/Customer/Controller/Account/ResetPasswordPost.php b/app/code/Magento/Customer/Controller/Account/ResetPasswordPost.php index 2d53034cb6897e21849bed76fdb2a9e80a02ab33..08c8f70675db5a4f34a3d0280627b978afd2cfc1 100644 --- a/app/code/Magento/Customer/Controller/Account/ResetPasswordPost.php +++ b/app/code/Magento/Customer/Controller/Account/ResetPasswordPost.php @@ -61,7 +61,7 @@ class ResetPasswordPost extends \Magento\Customer\Controller\Account return $resultRedirect; } if (iconv_strlen($password) <= 0) { - $this->messageManager->addError(__('New password field cannot be empty.')); + $this->messageManager->addError(__('Please enter a new password.')); $resultRedirect->setPath('*/*/createPassword', ['id' => $customerId, 'token' => $resetPasswordToken]); return $resultRedirect; } @@ -69,11 +69,11 @@ class ResetPasswordPost extends \Magento\Customer\Controller\Account try { $customerEmail = $this->customerRepository->getById($customerId)->getEmail(); $this->accountManagement->resetPassword($customerEmail, $resetPasswordToken, $password); - $this->messageManager->addSuccess(__('Your password has been updated.')); + $this->messageManager->addSuccess(__('You updated your password.')); $resultRedirect->setPath('*/*/login'); return $resultRedirect; } catch (\Exception $exception) { - $this->messageManager->addError(__('There was an error saving the new password.')); + $this->messageManager->addError(__('Something went wrong while saving the new password.')); $resultRedirect->setPath('*/*/createPassword', ['id' => $customerId, 'token' => $resetPasswordToken]); return $resultRedirect; } diff --git a/app/code/Magento/Customer/Controller/Address/Delete.php b/app/code/Magento/Customer/Controller/Address/Delete.php index 6df5648c821c5405f09966d15039114428dfbc41..6dfa17be32b107e723e9ec81f359eee0230085dc 100644 --- a/app/code/Magento/Customer/Controller/Address/Delete.php +++ b/app/code/Magento/Customer/Controller/Address/Delete.php @@ -20,7 +20,7 @@ class Delete extends \Magento\Customer\Controller\Address $address = $this->_addressRepository->getById($addressId); if ($address->getCustomerId() === $this->_getSession()->getCustomerId()) { $this->_addressRepository->deleteById($addressId); - $this->messageManager->addSuccess(__('The address has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the address.')); } else { $this->messageManager->addError(__('We can\'t delete the address right now.')); } diff --git a/app/code/Magento/Customer/Controller/Address/FormPost.php b/app/code/Magento/Customer/Controller/Address/FormPost.php index 86af07c52935b87ffde0dbac2cf428896b9c693b..1cb96534130e2ba57f3ca6dda9ac4e2d278e42ed 100644 --- a/app/code/Magento/Customer/Controller/Address/FormPost.php +++ b/app/code/Magento/Customer/Controller/Address/FormPost.php @@ -89,7 +89,7 @@ class FormPost extends \Magento\Customer\Controller\Address try { $address = $this->_extractAddress(); $this->_addressRepository->save($address); - $this->messageManager->addSuccess(__('The address has been saved.')); + $this->messageManager->addSuccess(__('You saved the address.')); $url = $this->_buildUrl('*/*/index', ['_secure' => true]); return $this->resultRedirectFactory->create()->setUrl($this->_redirect->success($url)); } catch (InputException $e) { @@ -98,7 +98,7 @@ class FormPost extends \Magento\Customer\Controller\Address $this->messageManager->addError($error->getMessage()); } } catch (\Exception $e) { - $this->messageManager->addException($e, __('Cannot save address.')); + $this->messageManager->addException($e, __('We can\'t save the address.')); } $this->_getSession()->setAddressFormData($this->getRequest()->getPostValue()); diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Group/Delete.php b/app/code/Magento/Customer/Controller/Adminhtml/Group/Delete.php index 60cbfe172b0e6dd71cf348826daa1142ebe47b92..17af771114ffc3fce19876b555d276d7ca4e1434 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Group/Delete.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Group/Delete.php @@ -23,7 +23,7 @@ class Delete extends \Magento\Customer\Controller\Adminhtml\Group if ($id) { try { $this->groupRepository->deleteById($id); - $this->messageManager->addSuccess(__('The customer group has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the customer group.')); } catch (NoSuchEntityException $e) { $this->messageManager->addError(__('The customer group no longer exists.')); return $resultRedirect->setPath('customer/*/'); diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Group/Save.php b/app/code/Magento/Customer/Controller/Adminhtml/Group/Save.php index 614abdb1c686cccd324c4f44c5dfa8ddf2679e2a..a842d8653b3398a5effa2d4b8872849b50b3abcc 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Group/Save.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Group/Save.php @@ -91,7 +91,7 @@ class Save extends \Magento\Customer\Controller\Adminhtml\Group $this->groupRepository->save($customerGroup); - $this->messageManager->addSuccess(__('The customer group has been saved.')); + $this->messageManager->addSuccess(__('You saved the customer group.')); $resultRedirect->setPath('customer/group'); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Index/Edit.php b/app/code/Magento/Customer/Controller/Adminhtml/Index/Edit.php index cc024c507011aa41f6258ff83748fd9e06840e61..7a0fa4df782dc926d4e7240ef69144c73cb043c1 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Index/Edit.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Index/Edit.php @@ -42,7 +42,7 @@ class Edit extends \Magento\Customer\Controller\Adminhtml\Index //do nothing } } catch (NoSuchEntityException $e) { - $this->messageManager->addException($e, __('An error occurred while editing the customer.')); + $this->messageManager->addException($e, __('Something went wrong while editing the customer.')); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('customer/*/index'); return $resultRedirect; diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Index/ResetPassword.php b/app/code/Magento/Customer/Controller/Adminhtml/Index/ResetPassword.php index bd74b364b82266759ee55ee967a9327293e5a396..c330eedde0fff30bc960dcacaa7c7e3867690fe1 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Index/ResetPassword.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Index/ResetPassword.php @@ -30,7 +30,7 @@ class ResetPassword extends \Magento\Customer\Controller\Adminhtml\Index \Magento\Customer\Model\AccountManagement::EMAIL_REMINDER, $customer->getWebsiteId() ); - $this->messageManager->addSuccess(__('Customer will receive an email with a link to reset password.')); + $this->messageManager->addSuccess(__('The customer will receive an email with a link to reset password.')); } catch (NoSuchEntityException $exception) { $resultRedirect->setPath('customer/index'); return $resultRedirect; @@ -43,7 +43,7 @@ class ResetPassword extends \Magento\Customer\Controller\Adminhtml\Index } catch (\Exception $exception) { $this->messageManager->addException( $exception, - __('An error occurred while resetting customer password.') + __('Something went wrong while resetting customer password.') ); } $resultRedirect->setPath( diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Index/Save.php b/app/code/Magento/Customer/Controller/Adminhtml/Index/Save.php index 986895f4d7c23234f56bb3f03f101f1b39cb324b..7e5dfa946452313a05977bd4a94d0870246e782a 100644 --- a/app/code/Magento/Customer/Controller/Adminhtml/Index/Save.php +++ b/app/code/Magento/Customer/Controller/Adminhtml/Index/Save.php @@ -269,7 +269,7 @@ class Save extends \Magento\Customer\Controller\Adminhtml\Index $this->_getSession()->setCustomerData($originalRequestData); $returnToEdit = true; } catch (\Exception $exception) { - $this->messageManager->addException($exception, __('An error occurred while saving the customer.')); + $this->messageManager->addException($exception, __('Something went wrong while saving the customer.')); $this->_getSession()->setCustomerData($originalRequestData); $returnToEdit = true; } diff --git a/app/code/Magento/Customer/Controller/Ajax/Login.php b/app/code/Magento/Customer/Controller/Ajax/Login.php index ef8cf2cef15ee5ef9d5886149250484b5bc56d1a..8491d5b08e4092774ed5b441d6d0010c63456c80 100644 --- a/app/code/Magento/Customer/Controller/Ajax/Login.php +++ b/app/code/Magento/Customer/Controller/Ajax/Login.php @@ -116,7 +116,7 @@ class Login extends \Magento\Framework\App\Action\Action } catch (\Exception $e) { $response = [ 'errors' => true, - 'message' => __('There was an error validating the username and password.') + 'message' => __('Something went wrong while validating the login and password.') ]; } /** @var \Magento\Framework\Controller\Result\Json $resultJson */ diff --git a/app/code/Magento/Customer/Model/AccountManagement.php b/app/code/Magento/Customer/Model/AccountManagement.php index 75ca7bdf731e07db9fddf8c6c1e9419ba83e0197..faa64b8140b07e4b0d6818bc40a8a78c0f4cce81 100644 --- a/app/code/Magento/Customer/Model/AccountManagement.php +++ b/app/code/Magento/Customer/Model/AccountManagement.php @@ -326,11 +326,13 @@ class AccountManagement implements AccountManagementInterface } /** - * Activate a customer account using a key that was sent in a confirmation e-mail. + * Activate a customer account using a key that was sent in a confirmation email. * * @param \Magento\Customer\Api\Data\CustomerInterface $customer * @param string $confirmationKey * @return \Magento\Customer\Api\Data\CustomerInterface + * @throws \Magento\Framework\Exception\State\InvalidTransitionException + * @throws \Magento\Framework\Exception\State\InputMismatchException */ private function activateCustomer($customer, $confirmationKey) { @@ -494,7 +496,7 @@ class AccountManagement implements AccountManagementInterface $websiteId = $customer->getWebsiteId(); if ($this->isCustomerInStore($websiteId, $customer->getStoreId())) { - throw new InputException(__('Customer already exists in this store.')); + throw new InputException(__('This customer already exists in this store.')); } // Existing password hash will be used from secured customer data registry when saving customer } @@ -514,7 +516,7 @@ class AccountManagement implements AccountManagementInterface $customer = $this->customerRepository->save($customer, $hash); } catch (AlreadyExistsException $e) { throw new InputMismatchException( - __('Customer with the same email already exists in associated website.') + __('A customer with the same email already exists in an associated website.') ); } catch (LocalizedException $e) { throw $e; @@ -620,7 +622,7 @@ class AccountManagement implements AccountManagementInterface $hash = $customerSecure->getPasswordHash(); if (!$this->encryptor->validateHash($currentPassword, $hash)) { throw new InvalidEmailOrPasswordException( - __('Password doesn\'t match for this account.')); + __('The password doesn\'t match this account.')); } $customerSecure->setRpToken(null); $customerSecure->setRpTokenCreatedAt(null); @@ -650,13 +652,13 @@ class AccountManagement implements AccountManagementInterface if ($length < self::MIN_PASSWORD_LENGTH) { throw new InputException( __( - 'The password must have at least %1 characters.', + 'Please enter a password with at least %1 characters.', self::MIN_PASSWORD_LENGTH ) ); } if ($this->stringHelper->strlen(trim($password)) != $length) { - throw new InputException(__('The password can not begin or end with a space.')); + throw new InputException(__('The password can\'t begin or end with a space.')); } } @@ -806,7 +808,9 @@ class AccountManagement implements AccountManagementInterface $types = $this->getTemplateTypes(); if (!isset($types[$type])) { - throw new \Magento\Framework\Exception\LocalizedException(__('Wrong transactional account email type')); + throw new \Magento\Framework\Exception\LocalizedException( + __('Please correct the transactional account email type.') + ); } if (!$storeId) { diff --git a/app/code/Magento/Customer/Model/Config/Share.php b/app/code/Magento/Customer/Model/Config/Share.php index 8af6d52a9891dac9edb85a667a6595202467fe7c..2b1cddc76719819d63676936773930ae826aa671 100644 --- a/app/code/Magento/Customer/Model/Config/Share.php +++ b/app/code/Magento/Customer/Model/Config/Share.php @@ -108,7 +108,7 @@ class Share extends \Magento\Framework\App\Config\Value implements \Magento\Fram //@codingStandardsIgnoreStart throw new \Magento\Framework\Exception\LocalizedException( __( - 'Cannot share customer accounts globally because some customer accounts with the same emails exist on multiple websites and cannot be merged.' + 'We can\'t share customer accounts globally when the accounts share identical email addresses on more than one website.' ) ); //@codingStandardsIgnoreEnd diff --git a/app/code/Magento/Customer/Model/Customer.php b/app/code/Magento/Customer/Model/Customer.php index c00ab143dde9c09b8d427ea81a4570b38f2e478e..6cc9db5d12676b11ee38d47310a7a4a9d225d844 100644 --- a/app/code/Magento/Customer/Model/Customer.php +++ b/app/code/Magento/Customer/Model/Customer.php @@ -781,7 +781,9 @@ class Customer extends \Magento\Framework\Model\AbstractModel $types = $this->getTemplateTypes(); if (!isset($types[$type])) { - throw new \Magento\Framework\Exception\LocalizedException(__('Wrong transactional account email type')); + throw new \Magento\Framework\Exception\LocalizedException( + __('Please correct the transactional account email type.') + ); } if (!$storeId) { @@ -1024,15 +1026,15 @@ class Customer extends \Magento\Framework\Model\AbstractModel $entityType = $this->_config->getEntityType('customer'); $attribute = $this->_config->getAttribute($entityType, 'dob'); if ($attribute->getIsRequired() && '' == trim($this->getDob())) { - $errors[] = __('The Date of Birth is required.'); + $errors[] = __('Please enter a date of birth.'); } $attribute = $this->_config->getAttribute($entityType, 'taxvat'); if ($attribute->getIsRequired() && '' == trim($this->getTaxvat())) { - $errors[] = __('The TAX/VAT number is required.'); + $errors[] = __('Please enter a TAX/VAT number.'); } $attribute = $this->_config->getAttribute($entityType, 'gender'); if ($attribute->getIsRequired() && '' == trim($this->getGender())) { - $errors[] = __('Gender is required.'); + $errors[] = __('Please enter a gender.'); } $transport = new \Magento\Framework\Object( @@ -1264,7 +1266,7 @@ class Customer extends \Magento\Framework\Model\AbstractModel { if (!is_string($passwordLinkToken) || empty($passwordLinkToken)) { throw new AuthenticationException( - __('Invalid password reset token.') + __('Please enter a valid password reset token.') ); } $this->_getResource()->changeResetPasswordLinkToken($this, $passwordLinkToken); diff --git a/app/code/Magento/Customer/Model/Customer/Attribute/Backend/Password.php b/app/code/Magento/Customer/Model/Customer/Attribute/Backend/Password.php index 23ebcb64d01388ba83576cf209b442656394592b..992c63cf893f541fef9b1458542cd922b5a7e433 100644 --- a/app/code/Magento/Customer/Model/Customer/Attribute/Backend/Password.php +++ b/app/code/Magento/Customer/Model/Customer/Attribute/Backend/Password.php @@ -49,7 +49,7 @@ class Password extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBacke if ($length > 0) { if ($length < self::MIN_PASSWORD_LENGTH) { throw new LocalizedException( - __('The password must have at least %1 characters.', self::MIN_PASSWORD_LENGTH) + __('Please enter a password with at least %1 characters.', self::MIN_PASSWORD_LENGTH) ); } @@ -63,7 +63,7 @@ class Password extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBacke 1 ) == ' ' ) { - throw new LocalizedException(__('The password can not begin or end with a space.')); + throw new LocalizedException(__('The password can\'t begin or end with a space.')); } $object->setPasswordHash($object->hashPassword($password)); diff --git a/app/code/Magento/Customer/Model/Resource/Customer.php b/app/code/Magento/Customer/Model/Resource/Customer.php index 57da7ca88c578f5c10e00f78583dfd9846289313..682e429411b7806b6c4695fcacaaecade20a7c88 100644 --- a/app/code/Magento/Customer/Model/Resource/Customer.php +++ b/app/code/Magento/Customer/Model/Resource/Customer.php @@ -82,7 +82,7 @@ class Customer extends \Magento\Eav\Model\Entity\AbstractEntity parent::_beforeSave($customer); if (!$customer->getEmail()) { - throw new ValidatorException(__('Customer email is required')); + throw new ValidatorException(__('Please enter a customer email.')); } $adapter = $this->_getWriteAdapter(); @@ -106,7 +106,7 @@ class Customer extends \Magento\Eav\Model\Entity\AbstractEntity $result = $adapter->fetchOne($select, $bind); if ($result) { throw new AlreadyExistsException( - __('Customer with the same email already exists in associated website.') + __('A customer with the same email already exists in an associated website.') ); } @@ -254,7 +254,7 @@ class Customer extends \Magento\Eav\Model\Entity\AbstractEntity if ($customer->getSharingConfig()->isWebsiteScope()) { if (!$customer->hasData('website_id')) { throw new \Magento\Framework\Exception\LocalizedException( - __('Customer website ID must be specified when using the website scope') + __('A customer website ID must be specified when using the website scope.') ); } $bind['website_id'] = (int)$customer->getWebsiteId(); diff --git a/app/code/Magento/Customer/Model/Resource/Group.php b/app/code/Magento/Customer/Model/Resource/Group.php index 49b79e0fe776c3107133ffaa8def71d3270af7fe..6dc9888d7715024c2edb1d84158b0407df5a79c5 100644 --- a/app/code/Magento/Customer/Model/Resource/Group.php +++ b/app/code/Magento/Customer/Model/Resource/Group.php @@ -74,7 +74,7 @@ class Group extends \Magento\Framework\Model\Resource\Db\AbstractDb { if ($group->usesAsDefault()) { throw new \Magento\Framework\Exception\LocalizedException( - __('The group "%1" cannot be deleted', $group->getCode()) + __('You can\'t delete group "%1".', $group->getCode()) ); } return parent::_beforeDelete($group); diff --git a/app/code/Magento/Customer/Test/Unit/Block/Account/AuthorizationLinkTest.php b/app/code/Magento/Customer/Test/Unit/Block/Account/AuthorizationLinkTest.php index 55580fc8bcfe9ae76ba1d1a63e1a46bfbde547cb..3d74163212f6a76d521f9d1b3751cac6dc06a197 100644 --- a/app/code/Magento/Customer/Test/Unit/Block/Account/AuthorizationLinkTest.php +++ b/app/code/Magento/Customer/Test/Unit/Block/Account/AuthorizationLinkTest.php @@ -59,7 +59,7 @@ class AuthorizationLinkTest extends \PHPUnit_Framework_TestCase ->method('getValue') ->will($this->returnValue(true)); - $this->assertEquals('Log Out', $this->_block->getLabel()); + $this->assertEquals('Sign Out', $this->_block->getLabel()); } public function testGetLabelLoggedOut() @@ -68,7 +68,7 @@ class AuthorizationLinkTest extends \PHPUnit_Framework_TestCase ->method('getValue') ->will($this->returnValue(false)); - $this->assertEquals('Log In', $this->_block->getLabel()); + $this->assertEquals('Sign In', $this->_block->getLabel()); } public function testGetHrefLoggedIn() diff --git a/app/code/Magento/Customer/Test/Unit/Controller/Account/ConfirmTest.php b/app/code/Magento/Customer/Test/Unit/Controller/Account/ConfirmTest.php index 5cd7ecfbdc66c79def68545b8fcb1d7e634566b8..f3dee06b411415dc659cc43419cf585aef909165 100644 --- a/app/code/Magento/Customer/Test/Unit/Controller/Account/ConfirmTest.php +++ b/app/code/Magento/Customer/Test/Unit/Controller/Account/ConfirmTest.php @@ -317,8 +317,8 @@ class ConfirmTest extends \PHPUnit_Framework_TestCase { return [ [1, 1, false, null, __('Thank you for registering with')], - [1, 1, true, Address::TYPE_BILLING, __('enter you billing address for proper VAT calculation')], - [1, 1, true, Address::TYPE_SHIPPING, __('enter you shipping address for proper VAT calculation')], + [1, 1, true, Address::TYPE_BILLING, __('enter your billing address for proper VAT calculation')], + [1, 1, true, Address::TYPE_SHIPPING, __('enter your shipping address for proper VAT calculation')], ]; } diff --git a/app/code/Magento/Customer/Test/Unit/Controller/Account/CreatePostTest.php b/app/code/Magento/Customer/Test/Unit/Controller/Account/CreatePostTest.php index 41115e5ac8649409c8c6f1bb8499955edbd5b7b1..c765dc83939220720c4c397a09c333fd852ddfdc 100644 --- a/app/code/Magento/Customer/Test/Unit/Controller/Account/CreatePostTest.php +++ b/app/code/Magento/Customer/Test/Unit/Controller/Account/CreatePostTest.php @@ -407,7 +407,7 @@ class CreatePostTest extends \PHPUnit_Framework_TestCase AccountManagementInterface::ACCOUNT_CONFIRMATION_REQUIRED, false, Address::TYPE_SHIPPING, - 'Account confirmation is required', + 'An account confirmation is required', ], [ 1, diff --git a/app/code/Magento/Customer/Test/Unit/Controller/Account/EditPostTest.php b/app/code/Magento/Customer/Test/Unit/Controller/Account/EditPostTest.php index eabe54ae5d46deb4fca77f3c0a8ebb8f7c06a3e4..60cf3b1348f7d343caa99a262db581d9a2caf452 100644 --- a/app/code/Magento/Customer/Test/Unit/Controller/Account/EditPostTest.php +++ b/app/code/Magento/Customer/Test/Unit/Controller/Account/EditPostTest.php @@ -397,7 +397,7 @@ class EditPostTest extends \PHPUnit_Framework_TestCase $this->messageManager ->expects($this->once()) ->method('addSuccess') - ->with('The account information has been saved.'); + ->with('You saved the account information.'); $this->redirectResultMock ->expects($this->once()) diff --git a/app/code/Magento/Customer/Test/Unit/Controller/Adminhtml/Index/ResetPasswordTest.php b/app/code/Magento/Customer/Test/Unit/Controller/Adminhtml/Index/ResetPasswordTest.php index 336877afcab7e52e0061276a6014abf672a8b9bf..a4a9df750dceb1cf517cb53faf1e841dc8058c2b 100644 --- a/app/code/Magento/Customer/Test/Unit/Controller/Adminhtml/Index/ResetPasswordTest.php +++ b/app/code/Magento/Customer/Test/Unit/Controller/Adminhtml/Index/ResetPasswordTest.php @@ -396,7 +396,7 @@ class ResetPasswordTest extends \PHPUnit_Framework_TestCase 'addException' )->with( $this->equalTo($exception), - $this->equalTo('An error occurred while resetting customer password.') + $this->equalTo('Something went wrong while resetting customer password.') ); $this->_testedObject->execute(); @@ -455,7 +455,7 @@ class ResetPasswordTest extends \PHPUnit_Framework_TestCase )->method( 'addSuccess' )->with( - $this->equalTo('Customer will receive an email with a link to reset password.') + $this->equalTo('The customer will receive an email with a link to reset password.') ); // verify redirect diff --git a/app/code/Magento/Customer/Test/Unit/Model/CustomerTest.php b/app/code/Magento/Customer/Test/Unit/Model/CustomerTest.php index eeaa18aa02bd24ec917371b4752424dd5bfeac58..a1a684f9c71aa91d26856187e0d5f9a2e7682bcf 100644 --- a/app/code/Magento/Customer/Test/Unit/Model/CustomerTest.php +++ b/app/code/Magento/Customer/Test/Unit/Model/CustomerTest.php @@ -171,16 +171,16 @@ class CustomerTest extends \PHPUnit_Framework_TestCase array_merge($data, ['email' => 'wrong@email']), ['Please correct this email address: "wrong@email".'] ], - [array_diff_key($data, ['dob' => '']), ['The Date of Birth is required.']], - [array_diff_key($data, ['taxvat' => '']), ['The TAX/VAT number is required.']], - [array_diff_key($data, ['gender' => '']), ['Gender is required.']], + [array_diff_key($data, ['dob' => '']), ['Please enter a date of birth.']], + [array_diff_key($data, ['taxvat' => '']), ['Please enter a TAX/VAT number.']], + [array_diff_key($data, ['gender' => '']), ['Please enter a gender.']], [$data, true], ]; } /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Wrong transactional account email type + * @expectedExceptionMessage Please correct the transactional account email type. */ public function testSendNewAccountEmailException() { diff --git a/app/code/Magento/Customer/etc/adminhtml/system.xml b/app/code/Magento/Customer/etc/adminhtml/system.xml index f79f0e9db3f075503499f38478ffc3b1e88980f7..8ccba94947f04b0b2b1b42eafb5803482b29acc3 100644 --- a/app/code/Magento/Customer/etc/adminhtml/system.xml +++ b/app/code/Magento/Customer/etc/adminhtml/system.xml @@ -82,8 +82,8 @@ <backend_model>Magento\Customer\Model\Config\Backend\CreateAccount\DisableAutoGroupAssignDefault</backend_model> </field> <field id="vat_frontend_visibility" translate="label" type="select" sortOrder="58" showInDefault="1" showInWebsite="1" showInStore="0"> - <label>Show VAT Number on Frontend</label> - <comment>To show VAT number on frontend, set Show VAT Number on Frontend option to Yes.</comment> + <label>Show VAT Number on Storefront</label> + <comment>To show VAT number on Storefront, set "Show VAT Number on Storefront" option to Yes.</comment> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> <field id="email_domain" translate="label" type="text" sortOrder="60" showInDefault="1" showInWebsite="1" showInStore="1"> diff --git a/app/code/Magento/Customer/view/adminhtml/templates/system/config/validatevat.phtml b/app/code/Magento/Customer/view/adminhtml/templates/system/config/validatevat.phtml index 56f09823bb3b4e6ffe731a5e3ba735012a880979..5fc873ad7490db438e78e4aa3229dc889ea634bd 100644 --- a/app/code/Magento/Customer/view/adminhtml/templates/system/config/validatevat.phtml +++ b/app/code/Magento/Customer/view/adminhtml/templates/system/config/validatevat.phtml @@ -27,11 +27,11 @@ require(['prototype'], function(){ new Ajax.Request('<?php echo $block->getAjaxUrl() ?>', { parameters: params, onSuccess: function(response) { - result = '<?php echo __('VAT Number is Invalid') ?>'; + result = '<?php echo __('Please enter a valid VAT number.') ?>'; try { response = response.responseText; if (response == 1) { - result = '<?php echo __('VAT Number is Valid') ?>'; + result = '<?php echo __('VAT Number is valid.') ?>'; validationMessage.removeClassName('hidden').addClassName('success') } else { validationMessage.removeClassName('hidden').addClassName('error') diff --git a/app/code/Magento/Customer/view/adminhtml/templates/tab/view/personal_info.phtml b/app/code/Magento/Customer/view/adminhtml/templates/tab/view/personal_info.phtml index 90d849d33f5d0fdeb7c7005cac40cc1973e23692..eb03596398341b2fb9ccf8d8e65aa197f58091bf 100644 --- a/app/code/Magento/Customer/view/adminhtml/templates/tab/view/personal_info.phtml +++ b/app/code/Magento/Customer/view/adminhtml/templates/tab/view/personal_info.phtml @@ -39,7 +39,7 @@ $createDateStore = $block->getStoreCreateDate(); <td><?php echo $block->getIsConfirmedStatus() ?></td> </tr> <tr> - <th><?php echo __('Account Created on:') ?></th> + <th><?php echo __('Account Created:') ?></th> <td><?php echo $createDateAdmin ?></td> </tr> <?php if ($createDateAdmin != $createDateStore): ?> diff --git a/app/code/Magento/Customer/view/email/account_new.html b/app/code/Magento/Customer/view/email/account_new.html index a979c99c42e866e872d94f2b1f0b85715647c30a..86344c09ced23b0ccf1e7a9bd8740f18c1c361bb 100644 --- a/app/code/Magento/Customer/view/email/account_new.html +++ b/app/code/Magento/Customer/view/email/account_new.html @@ -33,14 +33,14 @@ body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif; <tr> <td valign="top"> <h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;">Dear {{escapehtml var=$customer.name}},</h1> - <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Welcome to {{var store.getFrontendName()}}. To log in when visiting our site just click <a href="{{store url='customer/account/'}}" style="color:#1E7EC8;">Login</a> or <a href="{{store url='customer/account/'}}" style="color:#1E7EC8;">My Account</a> at the top of every page, and then enter your e-mail address and password.</p> + <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Welcome to {{var store.getFrontendName()}}. To sign in when visiting our site just click <a href="{{store url='customer/account/'}}" style="color:#1E7EC8;">Login</a> or <a href="{{store url='customer/account/'}}" style="color:#1E7EC8;">My Account</a> at the top of every page, and then enter your email address and password.</p> <p style="border:1px solid #E0E0E0; font-size:12px; line-height:16px; margin:0; padding:13px 18px; background:#f9f9f9;"> - Use the following values when prompted to log in:<br/> - <strong>E-mail</strong>: {{var customer.email}}<br/> + Use the following values when prompted to sign in:<br/> + <strong>Email</strong>: {{var customer.email}}<br/> <strong>Password</strong>: Only you know that! (Hint: It’s the password you created at {{var store.getFrontendName()}})<br/> Forgot your Account password? No problems. Click <a href="{{store url='customer/account/createPassword/' _query_id=$customer.id _query_token=$customer.rp_token}}">here</a> to reset it.</p> </p> - <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">When you log in to your account, you will be able to do the following:</p> + <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">When you sign in to your account, you will be able to do the following:</p> <ul style="font-size:12px; line-height:16px; margin:0 0 16px 0; padding:0;"> <li style="list-style:none inside; padding:0 0 0 10px;">– Proceed through checkout faster when making a purchase</li> <li style="list-style:none inside; padding:0 0 0 10px;">– Check the status of orders</li> diff --git a/app/code/Magento/Customer/view/email/account_new_confirmation.html b/app/code/Magento/Customer/view/email/account_new_confirmation.html index 8e36cd4940ed1e5355a14dfca01bfa2eb440fe3a..501f45ed0f8576923ab537d11da7ffcd75a36efe 100644 --- a/app/code/Magento/Customer/view/email/account_new_confirmation.html +++ b/app/code/Magento/Customer/view/email/account_new_confirmation.html @@ -36,11 +36,11 @@ body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif; <tr> <td valign="top"> <h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;">Dear {{escapehtml var=$customer.name}},</h1> - <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Your e-mail {{var customer.email}} must be confirmed before using it to log in to our store.</p> - <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">To confirm the e-mail and instantly log in, please, use <a href="{{store url="customer/account/confirm/" _query_id=$customer.id _query_key=$customer.confirmation _query_back_url=$back_url}}" style="color:#1E7EC8;">this confirmation link</a>. This link is valid only once.</p> + <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Your email {{var customer.email}} must be confirmed before using it to sign in to our store.</p> + <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">To confirm the email and instantly sign in, please, use <a href="{{store url="customer/account/confirm/" _query_id=$customer.id _query_key=$customer.confirmation _query_back_url=$back_url}}" style="color:#1E7EC8;">this confirmation link</a>. This link is valid only once.</p> <p style="border:1px solid #E0E0E0; font-size:12px; line-height:16px; margin:0 0 16px 0; padding:13px 18px; background:#f9f9f9;"> - Use the following values when prompted to log in:<br/> - <strong>E-mail:</strong> {{var customer.email}}<br/> + Use the following values when prompted to sign in:<br/> + <strong>Email:</strong> {{var customer.email}}<br/> <strong>Password:</strong> Only you know that! (Hint: It’s the password you created at {{var store.getFrontendName()|escape}})<br/> Forgot your Account password? No problems. Click <a href="{{store url="customer/account/createPassword/" _query_id=$customer.id _query_token=$customer.rp_token}}">here</a> to reset it. </p> diff --git a/app/code/Magento/Customer/view/email/account_new_confirmed.html b/app/code/Magento/Customer/view/email/account_new_confirmed.html index 14d5a488015ba127a907f5621e35a25ee1fe08e6..e6b7f3e93799b8efa624c3410ced72a97328b514 100644 --- a/app/code/Magento/Customer/view/email/account_new_confirmed.html +++ b/app/code/Magento/Customer/view/email/account_new_confirmed.html @@ -33,8 +33,8 @@ body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif; <tr> <td valign="top"> <h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;">Dear {{escapehtml var=$customer.name}},</h1> - <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Welcome to {{var store.getFrontendName()}}. To log in when visiting our site just click <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">Login</a> or <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">My Account</a> at the top of every page, and then enter your e-mail address and password.</p> - <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">When you log in to your account, you will be able to do the following:</p> + <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Welcome to {{var store.getFrontendName()}}. To sign in when visiting our site just click <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">Sign In</a> or <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">My Account</a> at the top of every page, and then enter your email address and password.</p> + <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">When you sign in to your account, you will be able to do the following:</p> <ul style="font-size:12px; line-height:16px; margin:0 0 16px 0; padding:0;"> <li style="list-style:none inside; padding:0 0 0 10px;">– Proceed through checkout faster when making a purchase</li> <li style="list-style:none inside; padding:0 0 0 10px;">– Check the status of orders</li> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml index 9d94c7ef08df3124c67ad0e2725ae8abe1996326..adebacc5bacce04aada49bef761031890956b214 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml @@ -9,7 +9,7 @@ <body> <referenceBlock name="page.main.title"> <action method="setPageTitle"> - <argument name="title" translate="true" xsi:type="string">You are now logged out</argument> + <argument name="title" translate="true" xsi:type="string">You are signed out.</argument> </action> </referenceBlock> <referenceContainer name="content"> diff --git a/app/code/Magento/Customer/view/frontend/layout/default.xml b/app/code/Magento/Customer/view/frontend/layout/default.xml index 9e45480b4fc2dbf7b1d9041f6d6b9e99e40659ab..fa2df7eb340a2ea9fdb3b117e51f7ce6c988f215 100644 --- a/app/code/Magento/Customer/view/frontend/layout/default.xml +++ b/app/code/Magento/Customer/view/frontend/layout/default.xml @@ -15,7 +15,7 @@ </block> <block class="Magento\Customer\Block\Account\RegisterLink" name="register-link"> <arguments> - <argument name="label" xsi:type="string" translate="true">Register</argument> + <argument name="label" xsi:type="string" translate="true">Create an Account</argument> </arguments> </block> <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link" diff --git a/app/code/Magento/Customer/view/frontend/templates/account/dashboard/info.phtml b/app/code/Magento/Customer/view/frontend/templates/account/dashboard/info.phtml index af711971ec3bbd264a66a601212c0a3a81a3d848..6659f62b175c436698a22d53b82f25ff94d15e7c 100644 --- a/app/code/Magento/Customer/view/frontend/templates/account/dashboard/info.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/account/dashboard/info.phtml @@ -38,9 +38,9 @@ <div class="box-content"> <p> <?php if ($block->getIsSubscribed()): ?> - <?php echo __("You are currently subscribed to 'General Subscription'.") ?> + <?php echo __('You subscribe to "General Subscription".') ?> <?php else: ?> - <?php echo __('You are currently not subscribed to any newsletter.') ?> + <?php echo __('You don\'t subscribe to our newsletter.') ?> <?php endif; ?> </p> <?php /* Extensions placeholder */ ?> diff --git a/app/code/Magento/Customer/view/frontend/templates/address/book.phtml b/app/code/Magento/Customer/view/frontend/templates/address/book.phtml index ca5b016ee62bbc78fb6e5c81d5d30079ffe409d5..1f1a472fb7282757f19531a32162cd39fc4551a9 100644 --- a/app/code/Magento/Customer/view/frontend/templates/address/book.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/address/book.phtml @@ -86,7 +86,7 @@ <?php endforeach; ?> </ol> <?php else: ?> - <p class="empty"><?php echo __('You have no additional address entries in your address book.') ?></p> + <p class="empty"><?php echo __('You have no other address entries in your address book.') ?></p> <?php endif ?> </div> </div> diff --git a/app/code/Magento/Customer/view/frontend/templates/address/edit.phtml b/app/code/Magento/Customer/view/frontend/templates/address/edit.phtml index e3af1854aa5b5539db93e0b02966b3493b1f2908..75736960880274d78a37ceb35b2fab5f1c2c450c 100644 --- a/app/code/Magento/Customer/view/frontend/templates/address/edit.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/address/edit.phtml @@ -81,7 +81,7 @@ <label class="label" for="region_id"><span><?php echo __('State/Province') ?></span></label> <div class="control"> <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" <?php echo(!$block->getConfig('general/region/display_all')) ? ' disabled="disabled"' : '';?>> - <option value=""><?php echo __('Please select region, state or province') ?></option> + <option value=""><?php echo __('Please select a region, state or province.') ?></option> </select> <input type="text" id="region" name="region" value="<?php echo $block->escapeHtml($block->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>"<?php echo(!$block->getConfig('general/region/display_all')) ? ' disabled="disabled"' : '';?>/> </div> diff --git a/app/code/Magento/Customer/view/frontend/templates/form/confirmation.phtml b/app/code/Magento/Customer/view/frontend/templates/form/confirmation.phtml index 72d35663bd434758926d855953ea3185d8e6e412..24a8a5382d6746c811124ea9d5ea2bc3d4c66167 100644 --- a/app/code/Magento/Customer/view/frontend/templates/form/confirmation.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/form/confirmation.phtml @@ -9,7 +9,7 @@ ?> <form action="" method="post" id="form-validate" class="form send confirmation" data-mage-init='{"validation":{}}'> <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields') ?>"> - <p class="field note"><?php echo __('Please enter your email below and we will send you the confirmation link for it.') ?></p> + <p class="field note"><?php echo __('Please enter your email below and we will send you the confirmation link.') ?></p> <div class="field email required"> <label for="email_address" class="label"><span><?php echo __('Email') ?></span></label> <div class="control"> @@ -22,7 +22,7 @@ <button type="submit" class="action send primary"><span><?php echo __('Send confirmation link') ?></span></button> </div> <div class="secondary"> - <a href="<?php echo $block->getLoginUrl() ?>" class="action back"><span><?php echo __('Back to Login') ?></span></a> + <a href="<?php echo $block->getLoginUrl() ?>" class="action back"><span><?php echo __('Back to Sign In') ?></span></a> </div> </div> </form> diff --git a/app/code/Magento/Customer/view/frontend/templates/form/forgotpassword.phtml b/app/code/Magento/Customer/view/frontend/templates/form/forgotpassword.phtml index b190e036eb7d305cabb98235369cc86aeaac20e6..fcb9d44aff84c4d2da38b86083837fc808d20304 100644 --- a/app/code/Magento/Customer/view/frontend/templates/form/forgotpassword.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/form/forgotpassword.phtml @@ -15,7 +15,7 @@ id="form-validate" data-mage-init='{"validation":{}}'> <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields') ?>"> - <div class="field note"><?php echo __('Please enter your email address below. You will receive a link to reset your password.'); ?></div> + <div class="field note"><?php echo __('Please enter your email address below to receive a password reset link.'); ?></div> <div class="field email required"> <label for="email_address" class="label"><span><?php echo __('Email') ?></span></label> <div class="control"> diff --git a/app/code/Magento/Customer/view/frontend/templates/form/login.phtml b/app/code/Magento/Customer/view/frontend/templates/form/login.phtml index 6d15f8936ed74111a4b529a46420b79bae0b6180..3c8137c84e783ee5b77b4bf88c5eaf551c685b65 100644 --- a/app/code/Magento/Customer/view/frontend/templates/form/login.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/form/login.phtml @@ -28,7 +28,7 @@ data-mage-init='{"validation":{}}'> <?php echo $block->getBlockHtml('formkey'); ?> <fieldset class="fieldset login" data-hasrequired="<?php echo __('* Required Fields') ?>"> - <div class="field note"><?php echo __('If you have an account with us, log in using your email address.') ?></div> + <div class="field note"><?php echo __('If you have an account, sign in with your email address.') ?></div> <div class="field email required"> <label class="label" for="email"><span><?php echo __('Email') ?></span></label> <div class="control"> diff --git a/app/code/Magento/Customer/view/frontend/templates/form/register.phtml b/app/code/Magento/Customer/view/frontend/templates/form/register.phtml index 934a7481cb65afdf0fa4b98cdc422f62f822ccd8..e70d8a7fda763612890bc3277d16a6363191fa49 100644 --- a/app/code/Magento/Customer/view/frontend/templates/form/register.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/form/register.phtml @@ -103,7 +103,7 @@ <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label> <div class="control"> <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;"> - <option value=""><?php echo __('Please select region, state or province') ?></option> + <option value=""><?php echo __('Please select a region, state or province.') ?></option> </select> <input type="text" id="region" name="region" value="<?php echo $block->escapeHtml($block->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;"> </div> @@ -135,7 +135,7 @@ <?php endif; ?> <fieldset class="fieldset create account" data-hasrequired="<?php echo __('* Required Fields') ?>"> - <legend class="legend"><span><?php echo __('Login Information') ?></span></legend><br> + <legend class="legend"><span><?php echo __('Sign-in Information') ?></span></legend><br> <div class="field password required"> <label for="password" class="label"><span><?php echo __('Password') ?></span></label> @@ -153,7 +153,7 @@ </fieldset> <div class="actions-toolbar"> <div class="primary"> - <button type="submit" class="action submit primary" title="<?php echo __('Create account') ?>"><span><?php echo __('Create account') ?></span></button> + <button type="submit" class="action submit primary" title="<?php echo __('Create an Account') ?>"><span><?php echo __('Create an Account') ?></span></button> </div> <div class="secondary"> <a class="action back" href="<?php echo $block->escapeUrl($block->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a> diff --git a/app/code/Magento/Customer/view/frontend/templates/logout.phtml b/app/code/Magento/Customer/view/frontend/templates/logout.phtml index c6e9fb05d3f4d76ca42cc2392aebe3a928b493f7..24335090a2b45f4dcc284af9590d3e22b130b8d1 100644 --- a/app/code/Magento/Customer/view/frontend/templates/logout.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/logout.phtml @@ -4,7 +4,7 @@ * See COPYING.txt for license details. */ ?> -<p><?php echo __('You have logged out and will be redirected to our homepage in 5 seconds.') ?></p> +<p><?php echo __('You have signed out and will go to our homepage in 5 seconds.') ?></p> <script> require([ "jquery", diff --git a/app/code/Magento/Customer/view/frontend/templates/newcustomer.phtml b/app/code/Magento/Customer/view/frontend/templates/newcustomer.phtml index e4609e91131483a037adc9d592d72d6455cb2f09..23167146ba63040336038b927d3d5f35fc508dfc 100644 --- a/app/code/Magento/Customer/view/frontend/templates/newcustomer.phtml +++ b/app/code/Magento/Customer/view/frontend/templates/newcustomer.phtml @@ -20,10 +20,10 @@ <strong id="block-new-customer-heading" role="heading" aria-level="2"><?php echo __('New Customers') ?></strong> </div> <div class="block-content" aria-labelledby="block-new-customer-heading"> - <p><?php echo __('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p> + <p><?php echo __('Creating an account has many benefits: check out faster, keep more than one address, track orders and more.') ?></p> <div class="actions-toolbar"> <div class="primary"> - <a href="<?php echo $block->getCreateAccountUrl() ?>" class="action create primary"><span><?php echo __('Register') ?></span></a> + <a href="<?php echo $block->getCreateAccountUrl() ?>" class="action create primary"><span><?php echo __('Create an Account') ?></span></a> </div> </div> </div> diff --git a/app/code/Magento/Customer/view/frontend/web/js/customer-data.js b/app/code/Magento/Customer/view/frontend/web/js/customer-data.js index e459e07201fe3e98b61dc4af7adbcaf777f0a78b..2f5c1181ea10d44c4a4e99294dac2ee068822387 100644 --- a/app/code/Magento/Customer/view/frontend/web/js/customer-data.js +++ b/app/code/Magento/Customer/view/frontend/web/js/customer-data.js @@ -8,7 +8,8 @@ define([ 'ko', 'Magento_Customer/js/section-config', 'jquery/jquery-storageapi', - 'jquery/jquery-cookie' + 'jquery/jquery.cookie' + ], function ($, _, ko, sectionConfig) { 'use strict'; diff --git a/app/code/Magento/CustomerImportExport/Model/Export/Address.php b/app/code/Magento/CustomerImportExport/Model/Export/Address.php index bfe77d3e13c450aa353d8bb7af894494bd81f0ca..539cca19721adf98332fa87cc8016900e762677c 100644 --- a/app/code/Magento/CustomerImportExport/Model/Export/Address.php +++ b/app/code/Magento/CustomerImportExport/Model/Export/Address.php @@ -90,7 +90,7 @@ class Address extends \Magento\ImportExport\Model\Export\Entity\AbstractEav * * In form of: * - * [customer e-mail] => array( + * [customer email] => array( * [website id 1] => customer_id 1, * [website id 2] => customer_id 2, * ... => ... , diff --git a/app/code/Magento/CustomerImportExport/Model/Import/AbstractCustomer.php b/app/code/Magento/CustomerImportExport/Model/Import/AbstractCustomer.php index 1795e57545047755f27221192ec4d385e7f8abf9..1c20c89fe1ac203ab9e58b18e6efc61e89699c5f 100644 --- a/app/code/Magento/CustomerImportExport/Model/Import/AbstractCustomer.php +++ b/app/code/Magento/CustomerImportExport/Model/Import/AbstractCustomer.php @@ -106,14 +106,14 @@ abstract class AbstractCustomer extends \Magento\ImportExport\Model\Import\Entit $data ); - $this->addMessageTemplate(self::ERROR_WEBSITE_IS_EMPTY, __('Website is not specified')); - $this->addMessageTemplate(self::ERROR_EMAIL_IS_EMPTY, __('E-mail is not specified')); - $this->addMessageTemplate(self::ERROR_INVALID_WEBSITE, __("Invalid value in website column")); - $this->addMessageTemplate(self::ERROR_INVALID_EMAIL, __('E-mail is invalid')); - $this->addMessageTemplate(self::ERROR_VALUE_IS_REQUIRED, __("Required attribute '%s' has an empty value")); + $this->addMessageTemplate(self::ERROR_WEBSITE_IS_EMPTY, __('Please specify a website.')); + $this->addMessageTemplate(self::ERROR_EMAIL_IS_EMPTY, __('Please specify an email.')); + $this->addMessageTemplate(self::ERROR_INVALID_WEBSITE, __('We found an invalid value in a website column.')); + $this->addMessageTemplate(self::ERROR_INVALID_EMAIL, __('Please enter a valid email.')); + $this->addMessageTemplate(self::ERROR_VALUE_IS_REQUIRED, __('Please make sure attribute "%s" is not empty.')); $this->addMessageTemplate( self::ERROR_CUSTOMER_NOT_FOUND, - __("Customer with such email and website code doesn't exist") + __('We can\'t find a customer who matches this email and website code.') ); $this->_initCustomers($data)->_initWebsites(true); diff --git a/app/code/Magento/CustomerImportExport/Model/Import/Address.php b/app/code/Magento/CustomerImportExport/Model/Import/Address.php index c14103870f1908fa1f9340a987634151b0c72398..bad0fde1d88d6597adc3b17670269cf7c97b6775 100644 --- a/app/code/Magento/CustomerImportExport/Model/Import/Address.php +++ b/app/code/Magento/CustomerImportExport/Model/Import/Address.php @@ -288,12 +288,12 @@ class Address extends AbstractCustomer $this->addMessageTemplate(self::ERROR_ADDRESS_ID_IS_EMPTY, __('Customer address id column is not specified')); $this->addMessageTemplate( self::ERROR_ADDRESS_NOT_FOUND, - __("Customer address for such customer doesn't exist") + __('We can\'t find that customer address.') ); - $this->addMessageTemplate(self::ERROR_INVALID_REGION, __('Region is invalid')); + $this->addMessageTemplate(self::ERROR_INVALID_REGION, __('Please enter a valid region.')); $this->addMessageTemplate( self::ERROR_DUPLICATE_PK, - __('Row with such email, website and address id combination was already found.') + __('We found another row with this email, website and address ID combination.') ); $this->_initAttributes(); diff --git a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php index 1d9e2b6fa9208d3d2e842ab42384d1a501871cc3..40c8bbf49cc584d3c3b76d5ff4b63c9c9e8d5e9b 100644 --- a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php +++ b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php @@ -176,7 +176,10 @@ class Customer extends AbstractCustomer $this->_permanentAttributes[] = self::COLUMN_WEBSITE; $this->_indexValueAttributes[] = 'group_id'; - $this->addMessageTemplate(self::ERROR_DUPLICATE_EMAIL_SITE, __('E-mail is duplicated in import file')); + $this->addMessageTemplate( + self::ERROR_DUPLICATE_EMAIL_SITE, + __('This email is found more than once in the import file.') + ); $this->addMessageTemplate( self::ERROR_ROW_IS_ORPHAN, __('Orphan rows that will be skipped due default row errors') @@ -185,8 +188,11 @@ class Customer extends AbstractCustomer self::ERROR_INVALID_STORE, __('Invalid value in Store column (store does not exists?)') ); - $this->addMessageTemplate(self::ERROR_EMAIL_SITE_NOT_FOUND, __('E-mail and website combination is not found')); - $this->addMessageTemplate(self::ERROR_PASSWORD_LENGTH, __('Invalid password length')); + $this->addMessageTemplate( + self::ERROR_EMAIL_SITE_NOT_FOUND, + __('We can\'t find that email and website combination.') + ); + $this->addMessageTemplate(self::ERROR_PASSWORD_LENGTH, __('Please enter a password with a valid length.')); $this->_initStores(true)->_initAttributes(); diff --git a/app/code/Magento/CustomerImportExport/Model/Resource/Import/Customer/Storage.php b/app/code/Magento/CustomerImportExport/Model/Resource/Import/Customer/Storage.php index 1b6310463347d81302357aa53ea168cda55c0cf6..36b9c38a16a1e8375f7dbd56eedafdac29dbb3bc 100644 --- a/app/code/Magento/CustomerImportExport/Model/Resource/Import/Customer/Storage.php +++ b/app/code/Magento/CustomerImportExport/Model/Resource/Import/Customer/Storage.php @@ -24,7 +24,7 @@ class Storage /** * Existing customers information. In form of: * - * [customer e-mail] => array( + * [customer email] => array( * [website id 1] => customer_id 1, * [website id 2] => customer_id 2, * ... => ... , diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Launch.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Launch.php index 05878003f284a8302cf55f4c51b10f9be8d50dfc..2a19e481791f3f53fa8f84ad2b3843daf9607096 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Launch.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Launch.php @@ -159,7 +159,7 @@ class Launch extends \Magento\DesignEditor\Controller\Adminhtml\System\Design\Ed $this->_redirect('adminhtml/*/'); return; } catch (\Exception $e) { - $this->messageManager->addException($e, __('Sorry, something went wrong.')); + $this->messageManager->addException($e, __('Sorry, something went wrong. That\'s all we know.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); $this->_redirect('adminhtml/*/'); return; diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Revert.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Revert.php index d2b47b2815926c1955a90897ca4e075f86c3873f..6da421c70359184f0ccc56858a2a3178e349f374 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Revert.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Revert.php @@ -34,13 +34,13 @@ class Revert extends \Magento\DesignEditor\Controller\Adminhtml\System\Design\Ed switch ($revertTo) { case 'last_saved': $copyService->copy($virtualTheme, $stagingTheme); - $message = __('Theme "%1" reverted to last saved state', $virtualTheme->getThemeTitle()); + $message = __('Theme "%1" reverted to last saved state.', $virtualTheme->getThemeTitle()); break; case 'physical': $physicalTheme = $virtualTheme->getDomainModel(ThemeInterface::TYPE_VIRTUAL)->getPhysicalTheme(); $copyService->copy($physicalTheme, $stagingTheme); - $message = __('Theme "%1" reverted to last default state', $virtualTheme->getThemeTitle()); + $message = __('Theme "%1" reverted to last default state.', $virtualTheme->getThemeTitle()); break; default: @@ -51,7 +51,7 @@ class Revert extends \Magento\DesignEditor\Controller\Adminhtml\System\Design\Ed $response = ['message' => $message]; } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $response = ['error' => true, 'message' => __('Unknown error')]; + $response = ['error' => true, 'message' => __('Something went wrong. That\'s all we know.')]; } /** @var $jsonHelper \Magento\Framework\Json\Helper\Data */ $jsonHelper = $this->_objectManager->get('Magento\Framework\Json\Helper\Data'); diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Save.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Save.php index 33321d063c0cc6fd5675ef00ac09cd9766c20166..92c4f1427f92b4993e6f9419a3790867b79880cf 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Save.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Save.php @@ -30,7 +30,7 @@ class Save extends \Magento\DesignEditor\Controller\Adminhtml\System\Design\Edit $response = ['message' => $message]; } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $response = ['error' => true, 'message' => __('Sorry, something went wrong.')]; + $response = ['error' => true, 'message' => __('Sorry, something went wrong. That\'s all we know.')]; } /** @var $jsonHelper \Magento\Framework\Json\Helper\Data */ diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveQuickStyleImage.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveQuickStyleImage.php index 7f30a689d5530dad2b96885bca2c76156294313d..d45e6905fa0b833b90a0bc5cc9f0b34706272d4d 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveQuickStyleImage.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveQuickStyleImage.php @@ -45,7 +45,7 @@ class RemoveQuickStyleImage extends \Magento\DesignEditor\Controller\Adminhtml\S $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } catch (\Exception $e) { $errorMessage = __( - 'Something went wrong uploading the image.' . + 'Something went wrong while uploading the image.' . ' Please check the file format and try again (JPEG, GIF, or PNG).' ); $response = ['error' => true, 'message' => $errorMessage]; diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveStoreLogo.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveStoreLogo.php index 3911e9a51b57a088189c3c8a2502195ec2784f86..26645878c0f0de5cd4910e487897d6a4d2b98638 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveStoreLogo.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/RemoveStoreLogo.php @@ -54,7 +54,7 @@ class RemoveStoreLogo extends \Magento\DesignEditor\Controller\Adminhtml\System\ $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } catch (\Exception $e) { $errorMessage = __( - 'Something went wrong uploading the image.' . + 'Something went wrong while uploading the image.' . ' Please check the file format and try again (JPEG, GIF, or PNG).' ); $response = ['error' => true, 'message' => $errorMessage]; diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveImageSizing.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveImageSizing.php index 42e971eb4efa854f5c64569e134744cd91fdfece..d26a89802e089ddc16e17d09e0bcc2be87b5efb0 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveImageSizing.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveImageSizing.php @@ -33,7 +33,7 @@ class SaveImageSizing extends \Magento\DesignEditor\Controller\Adminhtml\System\ ); $imageSizing = $imageSizingValidator->validate($configuration->getAllControlsData(), $imageSizing); $configuration->saveData($imageSizing); - $result = ['success' => true, 'message' => __('We saved the image sizes.')]; + $result = ['success' => true, 'message' => __('You saved the image sizes.')]; } catch (CoreException $e) { $result = ['error' => true, 'message' => $e->getMessage()]; $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveQuickStyles.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveQuickStyles.php index 7f0b66fd15d4b2f29db94a6d5257a81289d04eb6..b2bc0a54afe50e83dfeb80ae6f74d7bd0e8758f2 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveQuickStyles.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/SaveQuickStyles.php @@ -35,7 +35,7 @@ class SaveQuickStyles extends \Magento\DesignEditor\Controller\Adminhtml\System\ $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } catch (\Exception $e) { $errorMessage = __( - 'Something went wrong uploading the image.' . + 'Something went wrong while uploading the image.' . ' Please check the file format and try again (JPEG, GIF, or PNG).' ); $response = ['error' => true, 'message' => $errorMessage]; diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadQuickStyleImage.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadQuickStyleImage.php index d77ad32b12a908f85a885e509d5766ac1e9e2ace..8ab88dda212582a112bde1700d8d8c865a390c5b 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadQuickStyleImage.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadQuickStyleImage.php @@ -43,7 +43,7 @@ class UploadQuickStyleImage extends \Magento\DesignEditor\Controller\Adminhtml\S $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } catch (\Exception $e) { $errorMessage = __( - 'Something went wrong uploading the image.' . + 'Something went wrong while uploading the image.' . ' Please check the file format and try again (JPEG, GIF, or PNG).' ); $response = ['error' => true, 'message' => $errorMessage]; diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadStoreLogo.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadStoreLogo.php index e2e962e721c428a167e581ac197fc3902def951e..224dcb4185fd17156673f281d63ae3cc48cb4090 100644 --- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadStoreLogo.php +++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools/UploadStoreLogo.php @@ -48,7 +48,7 @@ class UploadStoreLogo extends \Magento\DesignEditor\Controller\Adminhtml\System\ $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } catch (\Exception $e) { $errorMessage = __( - 'Something went wrong uploading the image.' . + 'Something went wrong while uploading the image.' . ' Please check the file format and try again (JPEG, GIF, or PNG).' ); $response = ['error' => true, 'message' => $errorMessage]; diff --git a/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/code/js.phtml b/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/code/js.phtml index 4e26d52a4cd5d532f8a11b2de08baf674ff40663..f0f38865ea22d6b4720066664f2e61428f9577b3 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/code/js.phtml +++ b/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/code/js.phtml @@ -208,7 +208,7 @@ require([ }); }, this), error: $.proxy(function () { - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); }, this) }); } diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/custom-css.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/custom-css.js index 1455c9a71012e44f7f168c7bf1914e3e90c31d2f..0c9a267b6261c02ad1829e6ab9907f2922a0f97d 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/custom-css.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/custom-css.js @@ -70,7 +70,7 @@ define([ this._prepareUpdateButton(); }, this), error: function() { - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); } }); $('.vde-tools-content').trigger('resize.vdeToolsResize'); diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/image-sizing.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/image-sizing.js index 5ee0a8767a743942194b901bae016fe9a4b3a684..02012572e2ebc6e112cfd0533fb49a84e4b8e2e6 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/image-sizing.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/image-sizing.js @@ -174,7 +174,7 @@ define([ this.element.trigger('refreshIframe'); }, this), error: $.proxy(function() { - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); }, this) }); } diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-element.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-element.js index 28820ebe322415c8d9bed3401e0977cd552ffd53..5894637bb0d12a8723fbfa1ee961eb1a5ce511b6 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-element.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-element.js @@ -70,7 +70,7 @@ define([ this.element.trigger('refreshIframe'); }, this), error: function() { - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); } }); } diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-uploader.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-uploader.js index 04fc0919ea8774af2400442b86ec92e2ba91dbe5..65c87581364819b4e4c76feeb3e44e5dd372e964 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-uploader.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/quick-style-uploader.js @@ -101,7 +101,7 @@ define([ } }, this), error: function() { - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); } }); }, diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-assign.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-assign.js index ee24310855c7a74399760809e6a6184ec5ad4caa..15b31ef6e6c0101edad80fd4a330af88838dfbdd 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-assign.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-assign.js @@ -408,7 +408,7 @@ define([ this.assignThemeSuccess(response, stores, themeId); }, this), error: $.proxy(function() { - var message = $.mage.__('Sorry, something went wrong.'); + var message = $.mage.__('Sorry, something went wrong. That\'s all we know.'); this._dialog.messages.set(message, 'error'); }, this) }); diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-save.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-save.js index e350d1ac8ff38ab1259800b04fa61a79d599da7d..a5e335bcfb02c3b9733e135afb8c7eaba15c4b04 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-save.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-save.js @@ -122,7 +122,7 @@ define([ dialog.open(); }, this), error: function() { - alert($.mage.__('Error: unknown error.')); + alert($.mage.__('Something went wrong. That\'s all we know.')); } }); }, diff --git a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-selector.js b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-selector.js index dc092ec2ace035fd44403a33ee6724cc6d69ff59..be314eaf9f082f96e44c063a6afb40fea3727077 100644 --- a/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-selector.js +++ b/app/code/Magento/DesignEditor/view/adminhtml/web/js/theme-selector.js @@ -108,7 +108,7 @@ define([ }, this), error: $.proxy(function() { this._cancelEdit(); - alert($.mage.__('Sorry, something went wrong.')); + alert($.mage.__('Sorry, something went wrong. That\'s all we know.')); }, this) }); }, diff --git a/app/code/Magento/Dhl/Block/Adminhtml/Unitofmeasure.php b/app/code/Magento/Dhl/Block/Adminhtml/Unitofmeasure.php index 24d343f61c55fa5d40450181aeb0472f1b4763fe..2118fb588a6fe3e6c1d8910ccb4e58cbce847b47 100644 --- a/app/code/Magento/Dhl/Block/Adminhtml/Unitofmeasure.php +++ b/app/code/Magento/Dhl/Block/Adminhtml/Unitofmeasure.php @@ -65,7 +65,7 @@ class Unitofmeasure extends \Magento\Config\Block\System\Config\Form\Field $this->setDivideOrderWeightNoteKg( $this->escapeJsQuote( __( - 'This allows breaking total order weight into smaller pieces if it exceeds %1 %2 to ensure accurate calculation of shipping charges.', + 'Select this to allow DHL to optimize shipping charges by splitting the order if it exceeds %1 %2.', $kgWeight, 'kg' ) @@ -84,7 +84,7 @@ class Unitofmeasure extends \Magento\Config\Block\System\Config\Form\Field $this->setDivideOrderWeightNoteLbp( $this->escapeJsQuote( __( - 'This allows breaking total order weight into smaller pieces if it exceeds %1 %2 to ensure accurate calculation of shipping charges.', + 'Select this to allow DHL to optimize shipping charges by splitting the order if it exceeds %1 %2.', $weight, 'pounds' ) diff --git a/app/code/Magento/Dhl/Model/Carrier.php b/app/code/Magento/Dhl/Model/Carrier.php index dc2388e4e0c5606d3fbc3ff45c0a36d97d128da4..3943551de3fcf17fcd2cc2b099b2a95620b5c53c 100644 --- a/app/code/Magento/Dhl/Model/Carrier.php +++ b/app/code/Magento/Dhl/Model/Carrier.php @@ -916,7 +916,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin $bodyXml = $this->_xmlElFactory->create(['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); + $debugPoint['info'] = sprintf(__('DHL service is not available on %s.'), $date); } else { break; } @@ -1030,7 +1030,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin */ protected function _parseResponse($response) { - $responseError = __('The response is in wrong format.'); + $responseError = __('Please enter a response in the correct format.'); if (strlen(trim($response)) > 0) { if (strpos(trim($response), '<?xml') === 0) { @@ -1147,7 +1147,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin if (!isset($rates[$currencyCode]) || !$totalEstimate) { $totalEstimate = false; $this->_errors[] = __( - 'We had to skip DHL method %1 because we couldn\'t find exchange rate %2 (Base Currency).', + 'We had to skip DHL method %1 because we can\'t find exchange rate %2 (Base Currency).', $currencyCode, $baseCurrencyCode ); @@ -1262,7 +1262,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin { //Skip by item validation if there is no items in request if (!count($this->getAllItems($request))) { - $this->_errors[] = __('There is no items in this order'); + $this->_errors[] = __('There are no items in this order.'); } $countryParams = $this->getCountryParams( @@ -1273,7 +1273,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin ) ); if (!$countryParams->getData()) { - $this->_errors[] = __('Please, specify origin country'); + $this->_errors[] = __('Please specify an origin country.'); } if (!empty($this->_errors)) { @@ -1339,7 +1339,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin if ($params['width'] || $params['length'] || $params['height']) { $minValue = $this->_getMinDimension($params['dimension_units']); if ($params['width'] < $minValue || $params['length'] < $minValue || $params['height'] < $minValue) { - $message = __('Height, width and length should be equal or greater than %1', $minValue); + $message = __('Height, width and length should be equal or greater than %1.', $minValue); throw new \Magento\Framework\Exception\LocalizedException($message); } } @@ -1771,7 +1771,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin */ protected function _parseXmlTrackingResponse($trackings, $response) { - $errorTitle = __('Unable to retrieve tracking'); + $errorTitle = __('For some reason we can\'t retrieve tracking info right now.'); $resultArr = []; if (strlen(trim($response)) > 0) { @@ -1795,7 +1795,7 @@ class Carrier extends \Magento\Dhl\Model\AbstractDhl implements \Magento\Shippin $awbinfoData = []; $trackNum = isset($awbinfo->AWBNumber) ? (string)$awbinfo->AWBNumber : ''; if (!is_object($awbinfo) || !$awbinfo->ShipmentInfo) { - $this->_errors[$trackNum] = __('Unable to retrieve tracking'); + $this->_errors[$trackNum] = __('For some reason we can\'t retrieve tracking info right now.'); continue; } $shipmentInfo = $awbinfo->ShipmentInfo; diff --git a/app/code/Magento/Dhl/etc/adminhtml/system.xml b/app/code/Magento/Dhl/etc/adminhtml/system.xml index 89f4d3f763176d95a7352fb21133ea27c721441e..c9a14fecf5d73ec06feee1a7bbf38a7f1c57c915 100644 --- a/app/code/Magento/Dhl/etc/adminhtml/system.xml +++ b/app/code/Magento/Dhl/etc/adminhtml/system.xml @@ -50,7 +50,7 @@ </field> <field id="divide_order_weight" translate="label comment" type="select" sortOrder="130" showInDefault="1" showInWebsite="1" showInStore="1"> <label>Divide Order Weight</label> - <comment>This allows breaking total order weight into smaller pieces if it exeeds 70 kg to ensure accurate calculation of shipping charges.</comment> + <comment>Select this to allow DHL to optimize shipping charges by splitting the order if it exceeds 70 kg.</comment> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> </field> <field id="unit_of_measure" translate="label" type="select" sortOrder="140" showInDefault="1" showInWebsite="1" showInStore="1"> diff --git a/app/code/Magento/Directory/Model/Resource/Region/Collection.php b/app/code/Magento/Directory/Model/Resource/Region/Collection.php index c41af5db80819d74407d6618c113535cb0b45e56..37d67636b7da70d5319e8a5f233ed4bf2395aaa8 100644 --- a/app/code/Magento/Directory/Model/Resource/Region/Collection.php +++ b/app/code/Magento/Directory/Model/Resource/Region/Collection.php @@ -194,7 +194,7 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac if (count($options) > 0) { array_unshift( $options, - ['title ' => null, 'value' => null, 'label' => __('Please select region, state or province')] + ['title ' => null, 'value' => null, 'label' => __('Please select a region, state or province.')] ); } return $options; diff --git a/app/code/Magento/Downloadable/Controller/Download/Link.php b/app/code/Magento/Downloadable/Controller/Download/Link.php index 0c0cd1bbe8544c02137b5e0d853112b908b59c8f..28a5f0bc58654dd953bf1cd271dda094678529bd 100644 --- a/app/code/Magento/Downloadable/Controller/Download/Link.php +++ b/app/code/Magento/Downloadable/Controller/Download/Link.php @@ -58,12 +58,12 @@ class Link extends \Magento\Downloadable\Controller\Download ); if ($product->getId()) { $notice = __( - 'Please log in to download your product or purchase <a href="%1">%2</a>.', + 'Please sign in to download your product or purchase <a href="%1">%2</a>.', $product->getProductUrl(), $product->getName() ); } else { - $notice = __('Please log in to download your product.'); + $notice = __('Please sign in to download your product.'); } $this->messageManager->addNotice($notice); $session->authenticate($this); diff --git a/app/code/Magento/Downloadable/Test/Unit/Controller/Download/LinkTest.php b/app/code/Magento/Downloadable/Test/Unit/Controller/Download/LinkTest.php index 0efd1ada35ea060876f9887f5ffdc3d3ae748d0b..da584a79ca48e13293ac092f0e3b0243eb7f7231 100644 --- a/app/code/Magento/Downloadable/Test/Unit/Controller/Download/LinkTest.php +++ b/app/code/Magento/Downloadable/Test/Unit/Controller/Download/LinkTest.php @@ -275,7 +275,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase $this->product->expects($this->once())->method('getName')->willReturn('product_name'); $this->messageManager->expects($this->once()) ->method('addNotice') - ->with('Please log in to download your product or purchase <a href="product_url">product_name</a>.'); + ->with('Please sign in to download your product or purchase <a href="product_url">product_name</a>.'); $this->session->expects($this->once())->method('authenticate')->with($this->link)->willReturn(true); $this->objectManager->expects($this->at(4)) ->method('create') diff --git a/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php b/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php index cc10d6112ddaaf5c890675ae50df2ae9579d845a..c05c1e44ad12bf2262d31344fdd44ed02be1f379 100644 --- a/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php +++ b/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php @@ -77,7 +77,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'used_currently_for', 'label', [ - 'label' => __('Used Currently For'), + 'label' => __('Now Used For'), 'container_id' => 'used_currently_for', 'after_element_html' => '<script>require(["prototype"], function () {' . (!$this->getEmailTemplate()->getSystemConfigPathsWhereUsedCurrently() ? '$(\'' . diff --git a/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Delete.php b/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Delete.php index fb512eaf866d99630a5f6e54a4dc4757e0bfd041..89a80f1dffc818569b22a52d3356e0e6a7bf2d8c 100644 --- a/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Delete.php +++ b/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Delete.php @@ -22,7 +22,7 @@ class Delete extends \Magento\Email\Controller\Adminhtml\Email\Template if (count($template->getSystemConfigPathsWhereUsedCurrently()) == 0) { $template->delete(); // display success message - $this->messageManager->addSuccess(__('The email template has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the email template.')); $this->_objectManager->get('Magento\Framework\App\ReinitableConfig')->reinit(); // go to grid $this->_redirect('adminhtml/*/'); diff --git a/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Save.php b/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Save.php index 29285d077072aaed2bc6daa4f425076e2d6a7030..5ccf91202530c24352dc0c9b4cd4e544d4979c24 100644 --- a/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Save.php +++ b/app/code/Magento/Email/Controller/Adminhtml/Email/Template/Save.php @@ -53,7 +53,7 @@ class Save extends \Magento\Email\Controller\Adminhtml\Email\Template $template->save(); $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData(false); - $this->messageManager->addSuccess(__('The email template has been saved.')); + $this->messageManager->addSuccess(__('You saved the email template.')); $this->_redirect('adminhtml/*'); } catch (\Exception $e) { $this->_objectManager->get( diff --git a/app/code/Magento/Email/Model/Template.php b/app/code/Magento/Email/Model/Template.php index 30f8ae33f00615c9968ae62e2d4e41e71f7acc12..a349f5d9ed0708300e369fb97800dc258f3ded2d 100644 --- a/app/code/Magento/Email/Model/Template.php +++ b/app/code/Magento/Email/Model/Template.php @@ -616,7 +616,7 @@ class Template extends \Magento\Email\Model\AbstractTemplate implements \Magento { $code = $this->getTemplateCode(); if (empty($code)) { - throw new \Magento\Framework\Exception\MailException(__('The template Name must not be empty.')); + throw new \Magento\Framework\Exception\MailException(__('Please enter a template name.')); } if ($this->_getResource()->checkCodeUsage($this)) { throw new \Magento\Framework\Exception\MailException(__('Duplicate Of Template Name')); diff --git a/app/code/Magento/Email/Setup/InstallSchema.php b/app/code/Magento/Email/Setup/InstallSchema.php index 4b349973479bff4fb8e226524fe3e15f4a77775b..05931d6105662a56a9003e882d5a8a636521f94e 100644 --- a/app/code/Magento/Email/Setup/InstallSchema.php +++ b/app/code/Magento/Email/Setup/InstallSchema.php @@ -33,7 +33,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], - 'Template Id' + 'Template ID' )->addColumn( 'template_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, diff --git a/app/code/Magento/Email/view/adminhtml/templates/template/edit.phtml b/app/code/Magento/Email/view/adminhtml/templates/template/edit.phtml index 2d9e527653d9e8be2c84b3a0b90757297ea562f6..96b6789adca87d7f6f99d5ea8ae95bf6f8854e7f 100644 --- a/app/code/Magento/Email/view/adminhtml/templates/template/edit.phtml +++ b/app/code/Magento/Email/view/adminhtml/templates/template/edit.phtml @@ -109,7 +109,7 @@ require([ }, stripTags: function () { - if(!window.confirm("<?php echo __('Are you sure that you want to strip tags?') ?>")) { + if(!window.confirm("<?php echo __('Are you sure you want to strip tags?') ?>")) { return false; } this.unconvertedText = $('template_text').value; @@ -160,7 +160,7 @@ require([ }, deleteTemplate: function() { - if(window.confirm("<?php echo __('Are you sure that you want to delete this template?') ?>")) { + if(window.confirm("<?php echo __('Are you sure you want to delete this template?') ?>")) { window.location.href = '<?php echo $block->getDeleteUrl() ?>'; } }, @@ -205,7 +205,7 @@ require([ } }.bind(this)); } else { - alert('<?php echo __('Failed to load template. See error log for details.') ?>'); + alert('<?php echo __('The template did not load. Please review the log for details.') ?>'); } }.bind(this) }); diff --git a/app/code/Magento/Fedex/Model/Carrier.php b/app/code/Magento/Fedex/Model/Carrier.php index 66f266dd1a8450611cba7a72e55e406a135e6caa..db802c1912e2c9ca34d2ba5a1c89d989d11b79fd 100644 --- a/app/code/Magento/Fedex/Model/Carrier.php +++ b/app/code/Magento/Fedex/Model/Carrier.php @@ -506,7 +506,7 @@ class Carrier extends AbstractCarrierOnline implements \Magento\Shipping\Model\C { $costArr = []; $priceArr = []; - $errorTitle = 'Unable to retrieve tracking'; + $errorTitle = 'For some reason we can\'t retrieve tracking info right now.'; if (is_object($response)) { if ($response->HighestSeverity == 'FAILURE' || $response->HighestSeverity == 'ERROR') { @@ -736,7 +736,7 @@ class Carrier extends AbstractCarrierOnline implements \Magento\Shipping\Model\C $errorTitle = 'Response is in the wrong format.'; } } else { - $errorTitle = 'Unable to retrieve tracking'; + $errorTitle = 'For some reason we can\'t retrieve tracking info right now.'; } $result = $this->_rateFactory->create(); @@ -1139,7 +1139,9 @@ class Carrier extends AbstractCarrierOnline implements \Magento\Shipping\Model\C $error->setCarrier('fedex'); $error->setCarrierTitle($this->getConfigData('title')); $error->setTracking($trackingValue); - $error->setErrorMessage($errorTitle ? $errorTitle : __('Unable to retrieve tracking')); + $error->setErrorMessage( + $errorTitle ? $errorTitle : __('For some reason we can\'t retrieve tracking info right now.') + ); $this->_result->append($error); } } diff --git a/app/code/Magento/Fedex/etc/wsdl/RateService_v10.wsdl b/app/code/Magento/Fedex/etc/wsdl/RateService_v10.wsdl index 71d40621665b6c686fa594aaf303d2eb300d0447..6ae04ccee077560ab8b015acffaaa20d9e00df7e 100644 --- a/app/code/Magento/Fedex/etc/wsdl/RateService_v10.wsdl +++ b/app/code/Magento/Fedex/etc/wsdl/RateService_v10.wsdl @@ -3558,7 +3558,7 @@ </xs:simpleType> <xs:simpleType name="ReturnEMailAllowedSpecialServiceType"> <xs:annotation> - <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment.</xs:documentation> + <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the email label link to create a return shipment.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SATURDAY_DELIVERY"/> @@ -4106,7 +4106,7 @@ </xs:element> <xs:element name="PendingShipmentDetail" type="ns:PendingShipmentDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> + <xs:documentation>This field should be populated for pending shipments (e.g. email label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ShipmentDryIceDetail" type="ns:ShipmentDryIceDetail" minOccurs="0"> @@ -4150,7 +4150,7 @@ </xs:element> <xs:element name="EMailDetail" type="ns:ShippingDocumentEMailDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>Specifies how to e-mail document images.</xs:documentation> + <xs:documentation>Specifies how to email document images.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="PrintDetail" type="ns:ShippingDocumentPrintDetail" minOccurs="0"> @@ -4176,17 +4176,17 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailDetail"> <xs:annotation> - <xs:documentation>Specifies how to e-mail shipping documents.</xs:documentation> + <xs:documentation>Specifies how to email shipping documents.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="EMailRecipients" type="ns:ShippingDocumentEMailRecipient" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation>Provides the roles and email addresses for e-mail recipients.</xs:documentation> + <xs:documentation>Provides the roles and email addresses for email recipients.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Grouping" type="ns:ShippingDocumentEMailGroupingType" minOccurs="0"> <xs:annotation> - <xs:documentation>Identifies the convention by which documents are to be grouped as e-mail attachments.</xs:documentation> + <xs:documentation>Identifies the convention by which documents are to be grouped as email attachments.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -4199,7 +4199,7 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailRecipient"> <xs:annotation> - <xs:documentation>Specifies an individual recipient of e-mailed shipping document(s).</xs:documentation> + <xs:documentation>Specifies an individual recipient of emailed shipping document(s).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="RecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0"> diff --git a/app/code/Magento/Fedex/etc/wsdl/RateService_v9.wsdl b/app/code/Magento/Fedex/etc/wsdl/RateService_v9.wsdl index 6cc5074785ac0c891b2f869996aee61ec1b92be4..efbf75076c2cb14dfe1cfc7020efbf849ad91d65 100644 --- a/app/code/Magento/Fedex/etc/wsdl/RateService_v9.wsdl +++ b/app/code/Magento/Fedex/etc/wsdl/RateService_v9.wsdl @@ -3598,7 +3598,7 @@ </xs:simpleType> <xs:simpleType name="ReturnEMailAllowedSpecialServiceType"> <xs:annotation> - <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment.</xs:documentation> + <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the email label link to create a return shipment.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SATURDAY_DELIVERY"/> @@ -3991,7 +3991,7 @@ </xs:element> <xs:element name="PendingShipmentDetail" type="ns:PendingShipmentDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> + <xs:documentation>This field should be populated for pending shipments (e.g. email label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ShipmentDryIceDetail" type="ns:ShipmentDryIceDetail" minOccurs="0"> @@ -4035,7 +4035,7 @@ </xs:element> <xs:element name="EMailDetail" type="ns:ShippingDocumentEMailDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>Specifies how to e-mail document images.</xs:documentation> + <xs:documentation>Specifies how to email document images.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="PrintDetail" type="ns:ShippingDocumentPrintDetail" minOccurs="0"> @@ -4061,17 +4061,17 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailDetail"> <xs:annotation> - <xs:documentation>Specifies how to e-mail shipping documents.</xs:documentation> + <xs:documentation>Specifies how to email shipping documents.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="EMailRecipients" type="ns:ShippingDocumentEMailRecipient" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation>Provides the roles and email addresses for e-mail recipients.</xs:documentation> + <xs:documentation>Provides the roles and email addresses for email recipients.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Grouping" type="ns:ShippingDocumentEMailGroupingType" minOccurs="0"> <xs:annotation> - <xs:documentation>Identifies the convention by which documents are to be grouped as e-mail attachments.</xs:documentation> + <xs:documentation>Identifies the convention by which documents are to be grouped as email attachments.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -4084,7 +4084,7 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailRecipient"> <xs:annotation> - <xs:documentation>Specifies an individual recipient of e-mailed shipping document(s).</xs:documentation> + <xs:documentation>Specifies an individual recipient of emailed shipping document(s).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="RecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0"> diff --git a/app/code/Magento/Fedex/etc/wsdl/ShipService_v10.wsdl b/app/code/Magento/Fedex/etc/wsdl/ShipService_v10.wsdl index 6f19ffa115d50c7c88da5ded93ca6c47bdceebdf..6c43af98ef682e1526dff115a4ce9a4bf1b7fcb8 100644 --- a/app/code/Magento/Fedex/etc/wsdl/ShipService_v10.wsdl +++ b/app/code/Magento/Fedex/etc/wsdl/ShipService_v10.wsdl @@ -3811,7 +3811,7 @@ </xs:simpleType> <xs:simpleType name="ReturnEMailAllowedSpecialServiceType"> <xs:annotation> - <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment.</xs:documentation> + <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the email label link to create a return shipment.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SATURDAY_DELIVERY"/> @@ -4410,7 +4410,7 @@ </xs:element> <xs:element name="PendingShipmentDetail" type="ns:PendingShipmentDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> + <xs:documentation>This field should be populated for pending shipments (e.g. email label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ShipmentDryIceDetail" type="ns:ShipmentDryIceDetail" minOccurs="0"> @@ -4490,7 +4490,7 @@ </xs:element> <xs:element name="EMailDetail" type="ns:ShippingDocumentEMailDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>Specifies how to e-mail document images.</xs:documentation> + <xs:documentation>Specifies how to email document images.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="PrintDetail" type="ns:ShippingDocumentPrintDetail" minOccurs="0"> @@ -4516,17 +4516,17 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailDetail"> <xs:annotation> - <xs:documentation>Specifies how to e-mail shipping documents.</xs:documentation> + <xs:documentation>Specifies how to email shipping documents.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="EMailRecipients" type="ns:ShippingDocumentEMailRecipient" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation>Provides the roles and email addresses for e-mail recipients.</xs:documentation> + <xs:documentation>Provides the roles and email addresses for email recipients.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Grouping" type="ns:ShippingDocumentEMailGroupingType" minOccurs="0"> <xs:annotation> - <xs:documentation>Identifies the convention by which documents are to be grouped as e-mail attachments.</xs:documentation> + <xs:documentation>Identifies the convention by which documents are to be grouped as email attachments.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -4539,7 +4539,7 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailRecipient"> <xs:annotation> - <xs:documentation>Specifies an individual recipient of e-mailed shipping document(s).</xs:documentation> + <xs:documentation>Specifies an individual recipient of emailed shipping document(s).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="RecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0"> diff --git a/app/code/Magento/Fedex/etc/wsdl/ShipService_v9.wsdl b/app/code/Magento/Fedex/etc/wsdl/ShipService_v9.wsdl index d2a670661dd827fd251d143bbfafd669d357a57c..8c11a5f660351d1f7e5d15b435ab10e25f4052e0 100644 --- a/app/code/Magento/Fedex/etc/wsdl/ShipService_v9.wsdl +++ b/app/code/Magento/Fedex/etc/wsdl/ShipService_v9.wsdl @@ -3811,7 +3811,7 @@ </xs:simpleType> <xs:simpleType name="ReturnEMailAllowedSpecialServiceType"> <xs:annotation> - <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment.</xs:documentation> + <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the email label link to create a return shipment.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SATURDAY_DELIVERY"/> @@ -4410,7 +4410,7 @@ </xs:element> <xs:element name="PendingShipmentDetail" type="ns:PendingShipmentDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> + <xs:documentation>This field should be populated for pending shipments (e.g. email label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ShipmentDryIceDetail" type="ns:ShipmentDryIceDetail" minOccurs="0"> @@ -4490,7 +4490,7 @@ </xs:element> <xs:element name="EMailDetail" type="ns:ShippingDocumentEMailDetail" minOccurs="0"> <xs:annotation> - <xs:documentation>Specifies how to e-mail document images.</xs:documentation> + <xs:documentation>Specifies how to email document images.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="PrintDetail" type="ns:ShippingDocumentPrintDetail" minOccurs="0"> @@ -4516,17 +4516,17 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailDetail"> <xs:annotation> - <xs:documentation>Specifies how to e-mail shipping documents.</xs:documentation> + <xs:documentation>Specifies how to email shipping documents.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="EMailRecipients" type="ns:ShippingDocumentEMailRecipient" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation>Provides the roles and email addresses for e-mail recipients.</xs:documentation> + <xs:documentation>Provides the roles and email addresses for email recipients.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Grouping" type="ns:ShippingDocumentEMailGroupingType" minOccurs="0"> <xs:annotation> - <xs:documentation>Identifies the convention by which documents are to be grouped as e-mail attachments.</xs:documentation> + <xs:documentation>Identifies the convention by which documents are to be grouped as email attachments.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -4539,7 +4539,7 @@ </xs:simpleType> <xs:complexType name="ShippingDocumentEMailRecipient"> <xs:annotation> - <xs:documentation>Specifies an individual recipient of e-mailed shipping document(s).</xs:documentation> + <xs:documentation>Specifies an individual recipient of emailed shipping document(s).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="RecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0"> diff --git a/app/code/Magento/GiftMessage/Setup/InstallSchema.php b/app/code/Magento/GiftMessage/Setup/InstallSchema.php index 139148434ccbade948188056f993f91e9df7c7e3..2c4c10593df2219b830f76cd75a0408257ee9638 100644 --- a/app/code/Magento/GiftMessage/Setup/InstallSchema.php +++ b/app/code/Magento/GiftMessage/Setup/InstallSchema.php @@ -51,7 +51,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], - 'Recipient' + 'Registrant' )->addColumn( 'message', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, diff --git a/app/code/Magento/GiftMessage/view/frontend/templates/Cart/item/renderer/actions/gift_options.phtml b/app/code/Magento/GiftMessage/view/frontend/templates/Cart/item/renderer/actions/gift_options.phtml index 18086f43ed9dae7c913a9b9ed48d7afa98a43d28..10388eabe38174c6c1d0cc9fff8ede649067f860 100644 --- a/app/code/Magento/GiftMessage/view/frontend/templates/Cart/item/renderer/actions/gift_options.phtml +++ b/app/code/Magento/GiftMessage/view/frontend/templates/Cart/item/renderer/actions/gift_options.phtml @@ -10,7 +10,8 @@ ?> <?php if (!$block->isVirtual()): ?> <div id="gift-options-cart-item-<?php echo $block->getItem()->getId() ?>" - data-bind="scope:'giftOptionsCartItem-<?php echo $block->getItem()->getId() ?>'"> + data-bind="scope:'giftOptionsCartItem-<?php echo $block->getItem()->getId() ?>'" + class="gift-options-cart-item"> <!-- ko template: getTemplate() --><!-- /ko --> <script type="text/x-magento-init"> { diff --git a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml index a96a4a70a02efb74659b65dbe835f49be9bebbea..7e363d665d582352ce34cbb188aa67f811e5027e 100644 --- a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml +++ b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml @@ -32,7 +32,7 @@ <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#allow-gift-messages-for-order-container"}}'><?php echo __('Gift Message') ?></a> <div id="allow-gift-messages-for-order-container" class="gift-messages-order hidden"> <fieldset class="fieldset"> - <p><?php echo __('If you don\'t want to leave a gift message for the entire order, leave this box blank.') ?></p> + <p><?php echo __('Leave this box blank if you don\'t want to leave a gift message for the entire order.') ?></p> <div class="field from"> <label for="gift-message-whole-from" class="label"><span><?php echo __('From') ?></span></label> <div class="control"> @@ -92,7 +92,7 @@ require(['jquery'], function(jQuery){ <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a> <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> - <p><?php echo __('You can leave a box blank if you don\'t wish to add a gift message for the item.') ?></p> + <p><?php echo __('Leave a box blank if you don\'t want to add a gift message for that item.') ?></p> <div class="field from"> <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label> <div class="control"> @@ -153,7 +153,7 @@ require(['jquery'], function(jQuery){ <dt id="add-gift-options-for-order-<?php echo $block->getEntity()->getId() ?>" class="order-title"> <div class="field choice"> <input type="checkbox" name="allow_gift_options_for_order_<?php echo $block->getEntity()->getId() ?>" id="allow_gift_options_for_order_<?php echo $block->getEntity()->getId() ?>" data-mage-init='{"giftOptions":{}}' value="1" data-selector='{"id":"#allow-gift-options-for-order-container-<?php echo $block->getEntity()->getId() ?>"}'<?php if ($block->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" /> - <label for="allow_gift_options_for_order_<?php echo $block->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options for the Entire Order') ?></span></label> + <label for="allow_gift_options_for_order_<?php echo $block->getEntity()->getId() ?>" class="label"><span><?php echo __('Add Gift Options for the Entire Order') ?></span></label> </div> </dt> @@ -164,7 +164,7 @@ require(['jquery'], function(jQuery){ <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-order-container-<?php echo $block->getEntity()->getId() ?>"}}'><?php echo __('Gift Message') ?></a> <div id="gift-messages-for-order-container-<?php echo $block->getEntity()->getId() ?>" class="gift-messages-order hidden"> <fieldset class="fieldset"> - <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for this address.') ?></p> + <p><?php echo __('You can leave this box blank if you don\'t want to add a gift message for this address.') ?></p> <div class="field from"> <label for="gift-message-<?php echo $block->getEntity()->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label> <div class="control"> @@ -218,7 +218,7 @@ require(['jquery'], function(jQuery){ <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a> <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> - <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for the item.') ?></p> + <p><?php echo __('You can leave this box blank if you don\'t want to add a gift message for the item.') ?></p> <input type="hidden" name="giftmessage[quote_address_item][<?php echo $_item->getId() ?>][address]" value="<?php echo $block->getEntity()->getId()?>" /> <div class="field from"> <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label> diff --git a/app/code/Magento/GoogleOptimizer/Helper/Form.php b/app/code/Magento/GoogleOptimizer/Helper/Form.php index 0bd1972f87ef2a8ac9af5af992e4f338f8caf693..ba6780e4298567cc6bae558e539a265fc8d88781 100644 --- a/app/code/Magento/GoogleOptimizer/Helper/Form.php +++ b/app/code/Magento/GoogleOptimizer/Helper/Form.php @@ -35,7 +35,7 @@ class Form extends \Magento\Framework\App\Helper\AbstractHelper 'value' => $experimentCodeModel ? $experimentCodeModel->getExperimentScript() : '', 'class' => 'textarea googleoptimizer', 'required' => false, - 'note' => __('Note: Experiment code should be added to the original page only.') + 'note' => __('Experiment code should be added to the original page only.') ] ); diff --git a/app/code/Magento/GoogleOptimizer/Test/Unit/Helper/FormTest.php b/app/code/Magento/GoogleOptimizer/Test/Unit/Helper/FormTest.php index 4c4d6be988c6c4893c7c8bd41264a60d120ff127..5c020011f3d2bc7bbfe90aae5f115c7867dd46bd 100644 --- a/app/code/Magento/GoogleOptimizer/Test/Unit/Helper/FormTest.php +++ b/app/code/Magento/GoogleOptimizer/Test/Unit/Helper/FormTest.php @@ -118,7 +118,7 @@ class FormTest extends \PHPUnit_Framework_TestCase 'value' => $experimentCode, 'class' => 'textarea googleoptimizer', 'required' => false, - 'note' => 'Note: Experiment code should be added to the original page only.' + 'note' => 'Experiment code should be added to the original page only.' ] ); diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php index 073826ff9ebb613492bb4daafbb1fb5753f67310..b8e26b0aa1c0723345ebc8bc1543a1417e77a1a1 100644 --- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php +++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php @@ -112,7 +112,7 @@ class Item extends \Magento\Backend\Block\Widget\Grid\Extended 'label' => __('Synchronize'), 'url' => $this->getUrl('adminhtml/*/refresh', ['_current' => true]), 'confirm' => __( - 'This action will update items\' attributes and remove items that are not available in Google Content. If an attribute was deleted from the mapping, it will also be deleted from Google. Do you want to continue?' + 'Are you sure you want to synchronize Google Content? This action will delete all items and attributes from Google Content that were deleted in Magento Admin so that the content is identical.' ) ] ); diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/MassAdd.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/MassAdd.php index 4f101189769876999ba8e662e2bb2f711a653dda..5b06a7c58fcec673e2978e2d17e3dff02edabe07 100644 --- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/MassAdd.php +++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/MassAdd.php @@ -40,7 +40,7 @@ class MassAdd extends \Magento\GoogleShopping\Controller\Adminhtml\Googleshoppin } catch (\Exception $e) { $flag->unlock(); $this->notifier->addMajor( - __('An error has occurred while adding products to google shopping account.'), + __('Something went wrong while adding products to the Google shopping account.'), $e->getMessage() ); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/Refresh.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/Refresh.php index 60795768337b509e918aa33877ee4f8b5df2b447..bd3cc24f21b5db774775acfc475b975653a8f80a 100644 --- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/Refresh.php +++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items/Refresh.php @@ -50,9 +50,9 @@ class Refresh extends \Magento\GoogleShopping\Controller\Adminhtml\Googleshoppin } catch (\Exception $e) { $flag->unlock(); $this->notifier->addMajor( - __('An error has occurred while deleting products from google shopping account.'), + __('Something went wrong while deleting products from the Google shopping account.'), __( - 'One or more products were not deleted from google shopping account. Refer to the log file for details.' + 'One or more products were not deleted from the Google shopping account. Please review the log file for details.' ) ); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Edit.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Edit.php index e3f5eb02d2406786e6222f31416041c308bf5f9e..ae6cbce96e755983e55906208b5abe87cdddff7b 100644 --- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Edit.php +++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Edit.php @@ -44,7 +44,7 @@ class Edit extends \Magento\GoogleShopping\Controller\Adminhtml\Googleshopping\T return $resultPage; } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $this->messageManager->addError(__("We can't edit Attribute Set Mapping.")); + $this->messageManager->addError(__('We can\'t edit Attribute Set Mapping right now.')); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(\Magento\Framework\Controller\ResultFactory::TYPE_REDIRECT); return $resultRedirect->setPath('adminhtml/*/index'); diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/LoadAttributes.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/LoadAttributes.php index 0d817329dd869c3b8563c784190729ce2a04a394..ff46793c0eb185126a3ebe2b95836c8792a392de 100644 --- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/LoadAttributes.php +++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/LoadAttributes.php @@ -48,7 +48,7 @@ class LoadAttributes extends \Magento\GoogleShopping\Controller\Adminhtml\Google } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); // just need to output text with error - $this->messageManager->addError(__("We can't load attributes.")); + $this->messageManager->addError(__('We can\'t load attributes right now.')); } return $resultRaw; } diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Save.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Save.php index 696781f94287fb875c72f0d4e873cde22a87a6fa..64ae13d9fb359c3b189011a354002833d06288c2 100644 --- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Save.php +++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types/Save.php @@ -60,7 +60,7 @@ class Save extends \Magento\GoogleShopping\Controller\Adminhtml\Googleshopping\T } } - $this->messageManager->addSuccess(__('The attribute mapping has been saved.')); + $this->messageManager->addSuccess(__('You saved the attribute mapping.')); if (!empty($requiredAttributes)) { $this->messageManager->addSuccess( $this->_objectManager->get('Magento\GoogleShopping\Helper\Category')->getMessage() diff --git a/app/code/Magento/GoogleShopping/Model/Attribute/Tax.php b/app/code/Magento/GoogleShopping/Model/Attribute/Tax.php index e99b7cdd7ba1b9b4ce8e5ae7e6ec15994ddf1c2b..2a8a0912ce9e08d9bbe9514fe618d37e2214465b 100644 --- a/app/code/Magento/GoogleShopping/Model/Attribute/Tax.php +++ b/app/code/Magento/GoogleShopping/Model/Attribute/Tax.php @@ -165,7 +165,7 @@ class Tax extends \Magento\GoogleShopping\Model\Attribute\DefaultAttribute $ratesTotal += count($regions); if ($ratesTotal > self::RATES_MAX) { throw new \Magento\Framework\Exception\LocalizedException( - __('Google shopping only supports %1 tax rates per product', self::RATES_MAX) + __('Google shopping only supports %1 tax rates per product.', self::RATES_MAX) ); } foreach ($regions as $region) { diff --git a/app/code/Magento/GoogleShopping/Model/MassOperations.php b/app/code/Magento/GoogleShopping/Model/MassOperations.php index d34fb365ed593685ea553db9bc966960c8295e5f..3be591c6e1a47d5c5f8494692ed5df1572281c2e 100644 --- a/app/code/Magento/GoogleShopping/Model/MassOperations.php +++ b/app/code/Magento/GoogleShopping/Model/MassOperations.php @@ -180,13 +180,13 @@ class MassOperations $errors[] = $message; } catch (CoreException $e) { $errors[] = __( - 'The product "%1" cannot be added to Google Content. %2', + 'We can\'t add product "%1" to Google Content right now. %2', $product->getName(), $e->getMessage() ); } catch (\Exception $e) { $this->_logger->critical($e); - $errors[] = __('The product "%1" hasn\'t been added to Google Content.', $product->getName()); + $errors[] = __('We can\'t add product "%1" to Google Content right now.', $product->getName()); } } if (empty($productIds)) { @@ -196,19 +196,19 @@ class MassOperations if ($totalAdded > 0) { $this->_notifier->addNotice( - __('Products were added to Google Shopping account.'), - __('A total of %1 product(s) have been added to Google Content.', $totalAdded) + __('You added products to the Google Shopping account.'), + __('You added a total of %1 product(s) to the Google Content.', $totalAdded) ); } if (count($errors)) { - $this->_notifier->addMajor(__('Errors happened while adding products to Google Shopping.'), $errors); + $this->_notifier->addMajor(__('Something went wrong while adding products to Google Shopping.'), $errors); } if ($this->_flag->isExpired()) { $this->_notifier->addMajor( __('Operation of adding products to Google Shopping expired.'), - __('Some products may have not been added to Google Shopping bacause of expiration') + __('Some products may have not been added to Google Shopping because of expiration.') ); } @@ -275,7 +275,7 @@ class MassOperations $totalFailed++; } catch (\Exception $e) { $this->_logger->critical($e); - $errors[] = __('The item "%1" hasn\'t been updated.', $item->getProduct()->getName()); + $errors[] = __('We can\'t update item "%1" right now.', $item->getProduct()->getName()); $totalFailed++; } } @@ -284,7 +284,7 @@ class MassOperations } $this->_notifier->addNotice( - __('Product synchronization with Google Shopping completed'), + __('The product synchronization with Google Shopping is finished.'), __( 'A total of %1 items(s) have been deleted; a total of %2 items(s) have been updated.', $totalDeleted, @@ -292,9 +292,9 @@ class MassOperations ) ); if ($totalFailed > 0 || count($errors)) { - array_unshift($errors, __("We cannot update %1 items.", $totalFailed)); + array_unshift($errors, __('We can\'t update %1 item(s).', $totalFailed)); $this->_notifier->addMajor( - __('Errors happened during synchronization with Google Shopping'), + __('Something went wrong during synchronization with Google Shopping.'), $errors ); } @@ -337,7 +337,7 @@ class MassOperations ); } catch (\Exception $e) { $this->_logger->critical($e); - $errors[] = __('The item "%1" hasn\'t been deleted.', $item->getProduct()->getName()); + $errors[] = __('We can\'t update item "%1" right now.', $item->getProduct()->getName()); } } } else { @@ -346,12 +346,12 @@ class MassOperations if ($totalDeleted > 0) { $this->_notifier->addNotice( - __('Google Shopping item removal process succeded'), - __('Total of %1 items(s) have been removed from Google Shopping.', $totalDeleted) + __('The Google Shopping item removal process succeeded.'), + __('You removed %1 items(s) from Google Shopping.', $totalDeleted) ); } if (count($errors)) { - $this->_notifier->addMajor(__('Errors happened while deleting items from Google Shopping'), $errors); + $this->_notifier->addMajor(__('Something went wrong while deleting items from Google Shopping.'), $errors); } return $this; diff --git a/app/code/Magento/GoogleShopping/Test/Unit/Model/MassOperationsTest.php b/app/code/Magento/GoogleShopping/Test/Unit/Model/MassOperationsTest.php index fa6854a990f3b44eec48499b1285c6cb9debe660..836e23c97f1f0162ad6baf775d32037dc1100a7b 100644 --- a/app/code/Magento/GoogleShopping/Test/Unit/Model/MassOperationsTest.php +++ b/app/code/Magento/GoogleShopping/Test/Unit/Model/MassOperationsTest.php @@ -160,7 +160,7 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase $this->notificationInterface->expects($this->once())->method('addNotice') ->with( - 'Product synchronization with Google Shopping completed', + 'The product synchronization with Google Shopping is finished.', 'A total of 0 items(s) have been deleted; a total of 1 items(s) have been updated.' )->will($this->returnSelf()); @@ -182,9 +182,9 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase $product = $this->getMockBuilder('Magento\Catalog\Model\Product')->disableOriginalConstructor() ->setMethods(['getName', '__sleep', '__wakeup'])->getMock(); - $product->expects($this->once())->method('getName')->will($this->returnValue('Product Name')); + $product->expects($this->any())->method('getName')->will($this->returnValue('Product Name')); - $item->expects($this->once())->method('getProduct')->will($this->returnValue($product)); + $item->expects($this->any())->method('getProduct')->will($this->returnValue($product)); $iterator = new \ArrayIterator([$item]); $collection->expects($this->once())->method('getIterator')->will($this->returnValue($iterator)); @@ -192,8 +192,11 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase $this->notificationInterface->expects($this->once())->method('addMajor') ->with( - 'Errors happened during synchronization with Google Shopping', - ['We cannot update 1 items.', 'The item "Product Name" hasn\'t been updated.'] + 'Something went wrong during synchronization with Google Shopping.', + [ + __('We can\'t update %1 item(s).', [1]), + __('We can\'t update item "%1" right now.', [$item->getProduct()->getName()]), + ] )->will($this->returnSelf()); $this->massOperations->synchronizeItems([1]); } @@ -218,8 +221,8 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase $this->notificationInterface->expects($this->once())->method('addNotice') ->with( - 'Google Shopping item removal process succeded', - 'Total of 1 items(s) have been removed from Google Shopping.' + 'The Google Shopping item removal process succeeded.', + 'You removed 1 items(s) from Google Shopping.' )->will($this->returnSelf()); $this->massOperations->deleteItems([1]); @@ -232,10 +235,10 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase { $product = $this->getMockBuilder('Magento\Catalog\Model\Product')->disableOriginalConstructor() ->setMethods(['getName', '__sleep', '__wakeup'])->getMock(); - $product->expects($this->once())->method('getName')->will($this->returnValue('Product Name')); + $product->expects($this->any())->method('getName')->will($this->returnValue('Product Name')); $item = $this->getMockBuilder('Magento\GoogleShopping\Model\Item')->disableOriginalConstructor()->getMock(); - $item->expects($this->once())->method('getProduct')->will($this->returnValue($product)); + $item->expects($this->any())->method('getProduct')->will($this->returnValue($product)); $item->expects($this->once())->method('deleteItem') ->will($this->throwException(new \Exception('Test exception'))); @@ -250,8 +253,8 @@ class MassOperationsTest extends \PHPUnit_Framework_TestCase $this->notificationInterface->expects($this->once())->method('addMajor') ->with( - 'Errors happened while deleting items from Google Shopping', - ['The item "Product Name" hasn\'t been deleted.'] + 'Something went wrong while deleting items from Google Shopping.', + [__('We can\'t update item "%1" right now.', [$item->getProduct()->getName()])] )->will($this->returnSelf()); $this->massOperations->deleteItems([1]); } diff --git a/app/code/Magento/GoogleShopping/etc/config.xml b/app/code/Magento/GoogleShopping/etc/config.xml index 82d68fde8927948a6bbdd118a543e1628a100f25..86a242ec1431d143cfb67199e0d45cae975c1c55 100644 --- a/app/code/Magento/GoogleShopping/etc/config.xml +++ b/app/code/Magento/GoogleShopping/etc/config.xml @@ -187,7 +187,7 @@ <required>1</required> </gender> <mpn translate="name"> - <name>Manufacturer\'s Part Number (MPN)</name> + <name>Manufacturer Part Number (MPN)</name> <required>1</required> </mpn> <online_only translate="name"> diff --git a/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit.phtml b/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit.phtml index f322f744c26dae60ed0a6216c6cc0435e1798516..9b272ee3255c848afad579aaa7d09de17b4bf47a 100644 --- a/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit.phtml +++ b/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit.phtml @@ -43,7 +43,7 @@ var itemType = function() { } } ); - $("attributes_details").innerHTML = "<?php echo __('Please, select Attribute Set and Google Item Type to load attributes') ?>"; + $("attributes_details").innerHTML = "<?php echo __('Please select Attribute Set and Google Item Type to load attributes.') ?>"; } }, diff --git a/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit/attributes.phtml b/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit/attributes.phtml index d40677511d741fe02cbbfbdb61a2acc2fdaa5736..f968eed629c779dbdca7479e74090d1c78c9550d 100644 --- a/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit/attributes.phtml +++ b/app/code/Magento/GoogleShopping/view/adminhtml/templates/types/edit/attributes.phtml @@ -115,5 +115,5 @@ gContentAttribute = new Gcontent.Attribute(attributesSelectTemplate); </div> <?php else: ?> - <?php echo __("Please, select Attribute Set to load attributes") ?> + <?php echo __('Please select the attribute set you want to load.') ?> <?php endif; ?> diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php index 57845f2a27ec12a5c029fb5ce22bf044dba38ff1..4e963662ae03106f2d827b93b56c6522a32f3c34 100644 --- a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php +++ b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php @@ -163,7 +163,7 @@ class Filter extends \Magento\Backend\Block\Widget\Grid\Extended ); return $selectBlock->setOptions($options)->setValue($value)->getHtml(); } else { - return __('Attribute does not has options, so filtering is impossible'); + return __('We can\'t filter an attribute with no attribute options.'); } } @@ -246,7 +246,7 @@ class Filter extends \Magento\Backend\Block\Widget\Grid\Extended ); return $selectBlock->setOptions($options)->setValue($value)->getHtml(); } else { - return __('Attribute does not has options, so filtering is impossible'); + return __('We can\'t filter an attribute with no attribute options.'); } } diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/Export.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/Export.php index 1995511a4987617cba4710e4958196299a5c8c7a..a223c72ccd190a334da45cb15bd6a51d6b89ff82 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/Export.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/Export.php @@ -55,10 +55,10 @@ class Export extends ExportController $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $this->messageManager->addError(__('Please correct the data sent.')); + $this->messageManager->addError(__('Please correct the data sent value.')); } } else { - $this->messageManager->addError(__('Please correct the data sent.')); + $this->messageManager->addError(__('Please correct the data sent value.')); } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/GetFilter.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/GetFilter.php index 38296ff530dc60fa94814ac35d9ae3de97dba204..7e50e5fca3062d7feb807a0a8888ab2502af6c74 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/GetFilter.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/GetFilter.php @@ -36,7 +36,7 @@ class GetFilter extends ExportController $this->messageManager->addError($e->getMessage()); } } else { - $this->messageManager->addError(__('Please correct the data sent.')); + $this->messageManager->addError(__('Please correct the data sent value.')); } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Import/Validate.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Import/Validate.php index 76e47f3b50e45a9ddccd0cadb530bf0b22534608..e09c555b4cce7a71605a75d50f97ec36adbcad5f 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Import/Validate.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Import/Validate.php @@ -26,21 +26,27 @@ class Validate extends ImportController ImportResultBlock $resultBlock ) { if ($import->getProcessedRowsCount() == $import->getInvalidRowsCount()) { - $resultBlock->addNotice(__('File is totally invalid. Please fix errors and re-upload file.')); + $resultBlock->addNotice(__('This file is invalid. Please fix errors and re-upload the file.')); } elseif ($import->getErrorsCount() >= $import->getErrorsLimit()) { $resultBlock->addNotice( - __('Errors limit (%1) reached. Please fix errors and re-upload file.', $import->getErrorsLimit()) + __( + 'You\'ve reached an error limit (%1). Please fix errors and re-upload the file.', + $import->getErrorsLimit() + ) ); } else { if ($import->isImportAllowed()) { $resultBlock->addNotice( __( - 'Please fix errors and re-upload file or simply press "Import" button to skip rows with errors' + 'Please fix errors and re-upload the file. Or press "Import" to skip rows with errors.' ), true ); } else { - $resultBlock->addNotice(__('File is partially valid, but import is not possible'), false); + $resultBlock->addNotice( + __('The file is partially valid, but we can\'t import it for some reason.'), + false + ); } } // errors info @@ -81,7 +87,7 @@ class Validate extends ImportController $validationResult = $import->validateSource($source); if (!$import->getProcessedRowsCount()) { - $resultBlock->addError(__('File does not contain data. Please upload another one')); + $resultBlock->addError(__('This file is empty. Please try another one.')); } else { if (!$validationResult) { $this->processValidationError($import, $resultBlock); @@ -92,7 +98,10 @@ class Validate extends ImportController true ); } else { - $resultBlock->addError(__('File is valid, but import is not possible'), false); + $resultBlock->addError( + __('The file is valid, but we can\'t import it for some reason.'), + false + ); } } $resultBlock->addNotice($import->getNotices()); @@ -107,14 +116,15 @@ class Validate extends ImportController ); } } catch (\Exception $e) { - $resultBlock->addNotice(__('Please fix errors and re-upload file.'))->addError($e->getMessage()); + $resultBlock->addNotice(__('Please fix errors and re-upload the file.')) + ->addError($e->getMessage()); } return $resultLayout; } elseif ($this->getRequest()->isPost() && empty($_FILES)) { - $resultBlock->addError(__('File was not uploaded')); + $resultBlock->addError(__('The file was not uploaded.')); return $resultLayout; } - $this->messageManager->addError(__('Data is invalid or file is not uploaded')); + $this->messageManager->addError(__('Sorry, but the data is invalid or the file is not uploaded.')); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('adminhtml/*/index'); diff --git a/app/code/Magento/ImportExport/Helper/Data.php b/app/code/Magento/ImportExport/Helper/Data.php index 462fd7f424b3e4d76d838191ed09efb7700227e0..0e81094f9713135d1d018f22b5571e2d6dd1effd 100644 --- a/app/code/Magento/ImportExport/Helper/Data.php +++ b/app/code/Magento/ImportExport/Helper/Data.php @@ -52,9 +52,9 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper { $maxImageSize = $this->_fileSize->getMaxFileSizeInMb(); if ($maxImageSize) { - $message = __('The total size of the uploadable files can\'t be more than %1M', $maxImageSize); + $message = __('Make sure your file isn\'t more than %1M.', $maxImageSize); } else { - $message = __('System doesn\'t allow to get file upload settings'); + $message = __('We can\'t provide the upload settings right now.'); } return $message; } diff --git a/app/code/Magento/ImportExport/Model/Export.php b/app/code/Magento/ImportExport/Model/Export.php index b445d0239e0a99a1694039dfd88a0284b7909a65..1c2095c5d2c5924ae955854d4b221a23044a5f53 100644 --- a/app/code/Magento/ImportExport/Model/Export.php +++ b/app/code/Magento/ImportExport/Model/Export.php @@ -99,7 +99,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel } catch (\Exception $e) { $this->_logger->critical($e); throw new \Magento\Framework\Exception\LocalizedException( - __('Please enter a correct entity model') + __('Please enter a correct entity model.') ); } if (!$this->_entityAdapter instanceof \Magento\ImportExport\Model\Export\Entity\AbstractEntity && @@ -107,7 +107,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel ) { throw new \Magento\Framework\Exception\LocalizedException( __( - 'Entity adapter object must be an instance of %1 or %2', + 'The entity adapter object must be an instance of %1 or %2.', 'Magento\ImportExport\Model\Export\Entity\AbstractEntity', 'Magento\ImportExport\Model\Export\AbstractEntity' ) @@ -145,13 +145,13 @@ class Export extends \Magento\ImportExport\Model\AbstractModel } catch (\Exception $e) { $this->_logger->critical($e); throw new \Magento\Framework\Exception\LocalizedException( - __('Please enter a correct entity model') + __('Please enter a correct entity model.') ); } if (!$this->_writer instanceof \Magento\ImportExport\Model\Export\Adapter\AbstractAdapter) { throw new \Magento\Framework\Exception\LocalizedException( __( - 'Adapter object must be an instance of %1', + 'The adapter object must be an instance of %1.', 'Magento\ImportExport\Model\Export\Adapter\AbstractAdapter' ) ); @@ -176,10 +176,10 @@ class Export extends \Magento\ImportExport\Model\AbstractModel $result = $this->_getEntityAdapter()->setWriter($this->_getWriter())->export(); $countRows = substr_count(trim($result), "\n"); if (!$countRows) { - throw new \Magento\Framework\Exception\LocalizedException(__('There is no data for export')); + throw new \Magento\Framework\Exception\LocalizedException(__('There is no data for the export.')); } if ($result) { - $this->addLogComment([__('Exported %1 rows.', $countRows), __('Export has been done.')]); + $this->addLogComment([__('Exported %1 rows.', $countRows), __('The export is finished.')]); } return $result; } else { @@ -219,7 +219,9 @@ class Export extends \Magento\ImportExport\Model\AbstractModel } elseif ($attribute->isStatic()) { return self::getStaticAttributeFilterType($attribute); } else { - throw new \Magento\Framework\Exception\LocalizedException(__('Cannot determine attribute filter type')); + throw new \Magento\Framework\Exception\LocalizedException( + __('We can\'t determine the attribute filter type.') + ); } } @@ -295,7 +297,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel public function getFileFormat() { if (empty($this->_data['file_format'])) { - throw new \Magento\Framework\Exception\LocalizedException(__('File format is unknown')); + throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t identify this file format.')); } return $this->_data['file_format']; } diff --git a/app/code/Magento/ImportExport/Model/Export/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Export/AbstractEntity.php index 643d3aa3ab938b2d42f7a3e62bbee331dc9c4c35..e11145a53667d09f5b988158cb783883f61c5e05 100644 --- a/app/code/Magento/ImportExport/Model/Export/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Export/AbstractEntity.php @@ -390,7 +390,7 @@ abstract class AbstractEntity ) ? __( $this->_messageTemplates[$errorCode] ) : __( - "Please correct the value for '%1' column", + 'Please correct the value for "%1" column.', $errorCode ); $message = (string)$message; @@ -449,7 +449,7 @@ abstract class AbstractEntity public function getWriter() { if (!$this->_writer) { - throw new \Magento\Framework\Exception\LocalizedException(__('Please specify writer.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Please specify the writer.')); } return $this->_writer; diff --git a/app/code/Magento/ImportExport/Model/Export/Adapter/AbstractAdapter.php b/app/code/Magento/ImportExport/Model/Export/Adapter/AbstractAdapter.php index a83e0cc3bf6bc645dc115fe15ee6d6db725bdbf9..20a92c0f6c9432a1e807029f458d7c4150caa0bd 100644 --- a/app/code/Magento/ImportExport/Model/Export/Adapter/AbstractAdapter.php +++ b/app/code/Magento/ImportExport/Model/Export/Adapter/AbstractAdapter.php @@ -49,11 +49,13 @@ abstract class AbstractAdapter $this->_directoryHandle->touch($destination); } if (!is_string($destination)) { - throw new \Magento\Framework\Exception\LocalizedException(__('Destination file path must be a string')); + throw new \Magento\Framework\Exception\LocalizedException( + __('The destination file path must be a string.') + ); } if (!$this->_directoryHandle->isWritable()) { - throw new \Magento\Framework\Exception\LocalizedException(__('Destination directory is not writable')); + throw new \Magento\Framework\Exception\LocalizedException(__('The destination directory is not writable.')); } if ($this->_directoryHandle->isFile($destination) && !$this->_directoryHandle->isWritable($destination)) { throw new \Magento\Framework\Exception\LocalizedException(__('Destination file is not writable')); diff --git a/app/code/Magento/ImportExport/Model/Export/Adapter/Csv.php b/app/code/Magento/ImportExport/Model/Export/Adapter/Csv.php index fe1d00d2c6503d5b2b16c94dc2b734ff92792769..652079422b2e5d5fe965268df2d94198436d2a4c 100644 --- a/app/code/Magento/ImportExport/Model/Export/Adapter/Csv.php +++ b/app/code/Magento/ImportExport/Model/Export/Adapter/Csv.php @@ -84,7 +84,7 @@ class Csv extends \Magento\ImportExport\Model\Export\Adapter\AbstractAdapter public function setHeaderCols(array $headerColumns) { if (null !== $this->_headerCols) { - throw new \Magento\Framework\Exception\LocalizedException(__('Header column names already set')); + throw new \Magento\Framework\Exception\LocalizedException(__('The header column names are already set.')); } if ($headerColumns) { foreach ($headerColumns as $columnName) { diff --git a/app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php index 1cbca0d192b6f0297b975540842476ad9712642b..a4a43e8ba839dde2979267c3a3627f964f52175f 100644 --- a/app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php @@ -442,7 +442,7 @@ abstract class AbstractEntity ) ? __( $this->_messageTemplates[$errorCode] ) : __( - "Please correct the value for '%1' column", + 'Please correct the value for "%1" column.', $errorCode ); $messages[$message] = $errorRows; @@ -499,7 +499,7 @@ abstract class AbstractEntity public function getWriter() { if (!$this->_writer) { - throw new \Magento\Framework\Exception\LocalizedException(__('Please specify writer.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Please specify the writer.')); } return $this->_writer; } diff --git a/app/code/Magento/ImportExport/Model/Import.php b/app/code/Magento/ImportExport/Model/Import.php index eaea84beddeb0612ea8db14d071aed9cc782d75b..4bf31650dcdba5386f7c44b868ded03e2e2d1a36 100644 --- a/app/code/Magento/ImportExport/Model/Import.php +++ b/app/code/Magento/ImportExport/Model/Import.php @@ -197,14 +197,16 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $this->_entityAdapter = $this->_entityFactory->create($entities[$this->getEntity()]['model']); } catch (\Exception $e) { $this->_logger->critical($e); - throw new \Magento\Framework\Exception\LocalizedException(__('Please enter a correct entity model')); + throw new \Magento\Framework\Exception\LocalizedException( + __('Please enter a correct entity model.') + ); } if (!$this->_entityAdapter instanceof \Magento\ImportExport\Model\Import\Entity\AbstractEntity && !$this->_entityAdapter instanceof \Magento\ImportExport\Model\Import\AbstractEntity ) { throw new \Magento\Framework\Exception\LocalizedException( __( - 'Entity adapter object must be an instance of %1 or %2', + 'The entity adapter object must be an instance of %1 or %2.', 'Magento\ImportExport\Model\Import\Entity\AbstractEntity', 'Magento\ImportExport\Model\Import\AbstractEntity' ) @@ -252,17 +254,17 @@ class Import extends \Magento\ImportExport\Model\AbstractModel if ($this->getProcessedRowsCount()) { if (!$validationResult) { if ($this->getProcessedRowsCount() == $this->getInvalidRowsCount()) { - $messages[] = __('File is totally invalid. Please fix errors and re-upload file.'); + $messages[] = __('This file is invalid. Please fix errors and re-upload the file.'); } elseif ($this->getErrorsCount() >= $this->getErrorsLimit()) { $messages[] = __( - 'Errors limit (%1) reached. Please fix errors and re-upload file.', + 'You\'ve reached an error limit (%1). Please fix errors and re-upload the file.', $this->getErrorsLimit() ); } else { if ($this->isImportAllowed()) { - $messages[] = __('Please fix errors and re-upload file.'); + $messages[] = __('Please fix errors and re-upload the file.'); } else { - $messages[] = __('File is partially valid, but import is not possible'); + $messages[] = __('The file is partially valid, but we can\'t import it for some reason.'); } } // errors info @@ -272,9 +274,9 @@ class Import extends \Magento\ImportExport\Model\AbstractModel } } else { if ($this->isImportAllowed()) { - $messages[] = __('Validation finished successfully'); + $messages[] = __('The validation is complete.'); } else { - $messages[] = __('File is valid, but import is not possible'); + $messages[] = __('The file is valid, but we can\'t import it for some reason.'); } } $notices = $this->getNotices(); @@ -289,7 +291,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $this->getErrorsCount() ); } else { - $messages[] = __('File does not contain data.'); + $messages[] = __('This file does not contain any data.'); } return $messages; } @@ -449,7 +451,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $this->getInvalidRowsCount(), $this->getErrorsCount() ), - __('Import has been done successfuly.'), + __('The import was successful.'), ] ); @@ -481,7 +483,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel if ($errors[0] == \Zend_Validate_File_Upload::INI_SIZE) { $errorMessage = $this->_importExportData->getMaxUploadSizeMessage(); } else { - $errorMessage = __('File was not uploaded.'); + $errorMessage = __('The file was not uploaded.'); } throw new \Magento\Framework\Exception\LocalizedException($errorMessage); } @@ -496,7 +498,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $uploadedFile = $result['path'] . $result['file']; if (!$extension) { $this->_varDirectory->delete($uploadedFile); - throw new \Magento\Framework\Exception\LocalizedException(__('Uploaded file has no extension')); + throw new \Magento\Framework\Exception\LocalizedException(__('The file you uploaded has no extension.')); } $sourceFile = $this->getWorkingDir() . $entity; @@ -514,7 +516,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $sourceFileRelative ); } catch (\Magento\Framework\Exception\FileSystemException $e) { - throw new \Magento\Framework\Exception\LocalizedException(__('Source file moving failed')); + throw new \Magento\Framework\Exception\LocalizedException(__('The source file moving process failed.')); } } $this->_removeBom($sourceFile); @@ -559,7 +561,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel $messages = $this->getOperationResultMessages($result); $this->addLogComment($messages); if ($result) { - $this->addLogComment(__('Done import data validation')); + $this->addLogComment(__('Import data validation is complete.')); } return $result; } @@ -614,7 +616,9 @@ class Import extends \Magento\ImportExport\Model\AbstractModel 'code' => $behavior->getCode() . '_behavior', ]; } else { - throw new \Magento\Framework\Exception\LocalizedException(__('Invalid behavior token for %1', $entityCode)); + throw new \Magento\Framework\Exception\LocalizedException( + __('The behavior token for %1 is invalid.', $entityCode) + ); } } return $behaviourData; diff --git a/app/code/Magento/ImportExport/Model/Import/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Import/AbstractEntity.php index e512c99ce330200b703b69e1e82a05b370f5e920..f791c1fd67c0c4ab919b3744fad88ab913429d02 100644 --- a/app/code/Magento/ImportExport/Model/Import/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Import/AbstractEntity.php @@ -549,7 +549,7 @@ abstract class AbstractEntity public function getSource() { if (!$this->_source) { - throw new \Magento\Framework\Exception\LocalizedException(__('Source is not set')); + throw new \Magento\Framework\Exception\LocalizedException(__('The source is not set.')); } return $this->_source; } @@ -719,7 +719,7 @@ abstract class AbstractEntity $absentColumns = array_diff($this->_permanentAttributes, $this->getSource()->getColNames()); if ($absentColumns) { throw new \Magento\Framework\Exception\LocalizedException( - __('Cannot find required columns: %1', implode(', ', $absentColumns)) + __('We can\'t find required columns: %1.', implode(', ', $absentColumns)) ); } diff --git a/app/code/Magento/ImportExport/Model/Import/Adapter.php b/app/code/Magento/ImportExport/Model/Import/Adapter.php index 3b364f6daea8af9809b7ec3647c50065d873a5d6..dc53d89186943ae80f8e077110015a5aa5030b8b 100644 --- a/app/code/Magento/ImportExport/Model/Import/Adapter.php +++ b/app/code/Magento/ImportExport/Model/Import/Adapter.php @@ -30,7 +30,7 @@ class Adapter { if (!is_string($type) || !$type) { throw new \Magento\Framework\Exception\LocalizedException( - __('The adapter type must be a non empty string.') + __('The adapter type must be a non-empty string.') ); } $adapterClass = 'Magento\ImportExport\Model\Import\Source\\' . ucfirst(strtolower($type)); diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php index 2d74a95768d34fc9189dbdf2109b6cb1408b20d6..6b407e88df101fd2c8a12b48287905e42e22e3d0 100644 --- a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php @@ -545,7 +545,7 @@ abstract class AbstractEntity public function getSource() { if (!$this->_source) { - throw new \Magento\Framework\Exception\LocalizedException(__('Source is not set')); + throw new \Magento\Framework\Exception\LocalizedException(__('The source is not set.')); } return $this->_source; } @@ -706,7 +706,7 @@ abstract class AbstractEntity // do all permanent columns exist? if ($absentColumns = array_diff($this->_permanentAttributes, $this->getSource()->getColNames())) { throw new \Magento\Framework\Exception\LocalizedException( - __('Cannot find required columns: %1', implode(', ', $absentColumns)) + __('We can\'t find required columns: %1.', implode(', ', $absentColumns)) ); } diff --git a/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassChangelog.php b/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassChangelog.php index 9c6457056fbc604682bbdc8b6eb042ac7d77b300..e39cc3cc5fa637a878dc5f41a87459dce58b3c9a 100644 --- a/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassChangelog.php +++ b/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassChangelog.php @@ -26,7 +26,7 @@ class MassChangelog extends \Magento\Indexer\Controller\Adminhtml\Indexer $model->setScheduled(true); } $this->messageManager->addSuccess( - __('A total of %1 indexer(s) have been turned Update by Schedule mode on.', count($indexerIds)) + __('%1 indexer(s) are in "Update by Schedule" mode.', count($indexerIds)) ); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassOnTheFly.php b/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassOnTheFly.php index 5490a56d0d6b0b53f0c57f2f54616ae44ef8f00c..27def97e6b15409dea0570d99eb3372d12e21322 100644 --- a/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassOnTheFly.php +++ b/app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassOnTheFly.php @@ -26,7 +26,7 @@ class MassOnTheFly extends \Magento\Indexer\Controller\Adminhtml\Indexer $model->setScheduled(false); } $this->messageManager->addSuccess( - __('A total of %1 indexer(s) have been turned Update on Save mode on.', count($indexerIds)) + __('%1 indexer(s) are in "Update on Save" mode.', count($indexerIds)) ); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); diff --git a/app/code/Magento/Integration/Model/AuthorizationService.php b/app/code/Magento/Integration/Model/AuthorizationService.php index 4eb1b5fb0151ac9b85e7029be03a9d6579ad9404..58e9f87a3d161e3431db1fc93b9b12adde555dd4 100644 --- a/app/code/Magento/Integration/Model/AuthorizationService.php +++ b/app/code/Magento/Integration/Model/AuthorizationService.php @@ -104,7 +104,7 @@ class AuthorizationService implements \Magento\Integration\Api\AuthorizationServ } catch (\Exception $e) { $this->_logger->critical($e); throw new LocalizedException( - __('Error happened while granting permissions. Check exception log for details.') + __('Sorry, something went wrong granting permissions. You can find out more in the exceptions log.') ); } } @@ -127,7 +127,10 @@ class AuthorizationService implements \Magento\Integration\Api\AuthorizationServ } catch (\Exception $e) { $this->_logger->critical($e); throw new LocalizedException( - __('Error happened while deleting role and permissions. Check exception log for details.') + __( + 'Something went wrong while deleting roles and permissions.' + . ' You can find out more in the exceptions log.' + ) ); } } diff --git a/app/code/Magento/Integration/Test/Unit/Model/AuthorizationServiceTest.php b/app/code/Magento/Integration/Test/Unit/Model/AuthorizationServiceTest.php index 50943355d83682a7bbb890f59e6964c2dbd16c85..fc0ee3e4fb0840bd497071c5001240f7654bc6b7 100644 --- a/app/code/Magento/Integration/Test/Unit/Model/AuthorizationServiceTest.php +++ b/app/code/Magento/Integration/Test/Unit/Model/AuthorizationServiceTest.php @@ -126,7 +126,7 @@ class AuthorizationServiceTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Error happened while deleting role and permissions. Check exception log for details. + * @expectedExceptionMessage Something went wrong while deleting roles and permissions. */ public function testRemovePermissionsException() { @@ -190,7 +190,7 @@ class AuthorizationServiceTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Error happened while granting permissions. Check exception log for details. + * @expectedExceptionMessage Sorry, something went wrong granting permissions. */ public function testGrantPermissionsException() { diff --git a/app/code/Magento/LayeredNavigation/view/frontend/templates/layer/state.phtml b/app/code/Magento/LayeredNavigation/view/frontend/templates/layer/state.phtml index 0881ce5b79925de4f3d6f5072211061a8bd57ec5..57633279a47fce8585d7ba948f668c41ad48c09d 100644 --- a/app/code/Magento/LayeredNavigation/view/frontend/templates/layer/state.phtml +++ b/app/code/Magento/LayeredNavigation/view/frontend/templates/layer/state.phtml @@ -20,7 +20,7 @@ <strong class="block-subtitle filter-current-subtitle" role="heading" aria-level="2" - data-count="<?php echo count($_filters); ?>"><?php echo __('Currently Shopping by') ?></strong> + data-count="<?php echo count($_filters); ?>"><?php echo __('Now Shopping by') ?></strong> <ol class="items"> <?php foreach ($_filters as $_filter): ?> <li class="item"> diff --git a/app/code/Magento/MediaStorage/App/Media.php b/app/code/Magento/MediaStorage/App/Media.php index f7c60c1a4eef7c5bf3f6c0fe21232b96c3118bc8..59754755a89d55ca235ccb60d430ddf3b874122f 100644 --- a/app/code/Magento/MediaStorage/App/Media.php +++ b/app/code/Magento/MediaStorage/App/Media.php @@ -7,149 +7,131 @@ */ namespace Magento\MediaStorage\App; -use Magento\MediaStorage\Model\File\Storage\Request; +use Magento\Framework\Filesystem; +use Magento\MediaStorage\Model\File\Storage\ConfigFactory; use Magento\MediaStorage\Model\File\Storage\Response; use Magento\Framework\App; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\AppInterface; -use Magento\Framework\ObjectManagerInterface; +use Magento\MediaStorage\Model\File\Storage\SynchronizationFactory; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class Media implements AppInterface { - /** - * @var \Magento\Framework\ObjectManagerInterface - */ - protected $_objectManager; - - /** - * @var \Magento\MediaStorage\Model\File\Storage\Request - */ - protected $_request; - /** * Authorization function * * @var \Closure */ - protected $_isAllowed; + private $isAllowed; /** * Media directory path * * @var string */ - protected $_mediaDirectory; + private $mediaDirectoryPath; /** * Configuration cache file path * * @var string */ - protected $_configCacheFile; + private $configCacheFile; /** * Requested file name relative to working directory * * @var string */ - protected $_relativeFileName; + private $relativeFileName; /** - * Working directory - * - * @var string + * @var Response */ - protected $_workingDirectory; + private $response; /** - * @var \Magento\MediaStorage\Model\File\Storage\Response + * @var \Magento\Framework\Filesystem\Directory\WriteInterface */ - protected $_response; + private $directory; /** - * @var \Magento\Framework\Filesystem $filesystem + * @var ConfigFactory */ - protected $filesystem; + private $configFactory; /** - * @var \Magento\Framework\Filesystem\Directory\Read $directory + * @var SynchronizationFactory */ - protected $directory; + private $syncFactory; /** - * @param ObjectManagerInterface $objectManager - * @param Request $request + * @param ConfigFactory $configFactory + * @param SynchronizationFactory $syncFactory * @param Response $response * @param \Closure $isAllowed - * @param string $workingDirectory * @param string $mediaDirectory * @param string $configCacheFile * @param string $relativeFileName - * @param \Magento\Framework\Filesystem $filesystem + * @param Filesystem $filesystem */ public function __construct( - ObjectManagerInterface $objectManager, - Request $request, + ConfigFactory $configFactory, + SynchronizationFactory $syncFactory, Response $response, \Closure $isAllowed, - $workingDirectory, $mediaDirectory, $configCacheFile, $relativeFileName, - \Magento\Framework\Filesystem $filesystem + Filesystem $filesystem ) { - $this->_objectManager = $objectManager; - $this->_request = $request; - $this->_response = $response; - $this->_isAllowed = $isAllowed; - $this->_workingDirectory = $workingDirectory; - $this->_mediaDirectory = $mediaDirectory; - $this->_configCacheFile = $configCacheFile; - $this->_relativeFileName = $relativeFileName; - $this->filesystem = $filesystem; - $this->directory = $this->filesystem->getDirectoryRead(DirectoryList::MEDIA); + $this->response = $response; + $this->isAllowed = $isAllowed; + $this->directory = $filesystem->getDirectoryWrite(DirectoryList::MEDIA); + $mediaDirectory = trim($mediaDirectory); + if (!empty($mediaDirectory)) { + $this->mediaDirectoryPath = str_replace('\\', '/', realpath($mediaDirectory)); + } + $this->configCacheFile = $configCacheFile; + $this->relativeFileName = $relativeFileName; + $this->configFactory = $configFactory; + $this->syncFactory = $syncFactory; } /** * Run application * - * @return \Magento\Framework\App\ResponseInterface + * @return Response * @throws \LogicException */ public function launch() { - if (!$this->_mediaDirectory) { - $config = $this->_objectManager->create( - 'Magento\MediaStorage\Model\File\Storage\Config', - ['cacheFile' => $this->_configCacheFile] - ); + if ($this->mediaDirectoryPath !== $this->directory->getAbsolutePath()) { + // Path to media directory changed or absent - update the config + /** @var \Magento\MediaStorage\Model\File\Storage\Config $config */ + $config = $this->configFactory->create(['cacheFile' => $this->configCacheFile]); $config->save(); - $this->_mediaDirectory = str_replace($this->_workingDirectory, '', $config->getMediaDirectory()); + $this->mediaDirectoryPath = $config->getMediaDirectory(); $allowedResources = $config->getAllowedResources(); - $this->_relativeFileName = str_replace( - $this->_mediaDirectory . '/', - '', - $this->_request->getPathInfo() - ); - $isAllowed = $this->_isAllowed; - if (!$isAllowed($this->_relativeFileName, $allowedResources)) { + $isAllowed = $this->isAllowed; + if (!$isAllowed($this->relativeFileName, $allowedResources)) { throw new \LogicException('The specified path is not allowed.'); } } - if (0 !== stripos($this->_request->getPathInfo(), $this->_mediaDirectory . '/')) { - throw new \LogicException('The specified path is not within media directory.'); - } - - $sync = $this->_objectManager->get('Magento\MediaStorage\Model\File\Storage\Synchronization'); - $sync->synchronize($this->_relativeFileName, $this->_request->getFilePath()); + /** @var \Magento\MediaStorage\Model\File\Storage\Synchronization $sync */ + $sync = $this->syncFactory->create(['directory' => $this->directory]); + $sync->synchronize($this->relativeFileName); - if ($this->directory->isReadable($this->directory->getRelativePath($this->_request->getFilePath()))) { - $this->_response->setFilePath($this->_request->getFilePath()); + if ($this->directory->isReadable($this->relativeFileName)) { + $this->response->setFilePath($this->directory->getAbsolutePath($this->relativeFileName)); } else { - $this->_response->setHttpResponseCode(404); + $this->response->setHttpResponseCode(404); } - return $this->_response; + return $this->response; } /** @@ -157,8 +139,12 @@ class Media implements AppInterface */ public function catchException(App\Bootstrap $bootstrap, \Exception $exception) { - $this->_response->setHttpResponseCode(404); - $this->_response->sendHeaders(); + $this->response->setHttpResponseCode(404); + if ($bootstrap->isDeveloperMode()) { + $this->response->setHeader('Content-Type', 'text/plain'); + $this->response->setBody($exception->getMessage() . "\n" . $exception->getTraceAsString()); + } + $this->response->sendResponse(); return true; } } diff --git a/app/code/Magento/MediaStorage/Model/File/Storage/Config.php b/app/code/Magento/MediaStorage/Model/File/Storage/Config.php index 404434584903b317a9d6d6958e6449b0ade8e8b0..e57770297f829a551cd601c72fb4558e1eb3717c 100644 --- a/app/code/Magento/MediaStorage/Model/File/Storage/Config.php +++ b/app/code/Magento/MediaStorage/Model/File/Storage/Config.php @@ -31,7 +31,7 @@ class Config * * @var DirectoryWrite */ - protected $pubDirectory; + protected $rootDirectory; /** * @param \Magento\MediaStorage\Model\File\Storage $storage @@ -44,7 +44,7 @@ class Config $cacheFile ) { $this->config = $storage->getScriptConfig(); - $this->pubDirectory = $filesystem->getDirectoryWrite(DirectoryList::PUB); + $this->rootDirectory = $filesystem->getDirectoryWrite(DirectoryList::ROOT); $this->cacheFilePath = $cacheFile; } @@ -76,7 +76,7 @@ class Config public function save() { /** @var Write $file */ - $file = $this->pubDirectory->openFile($this->pubDirectory->getRelativePath($this->cacheFilePath), 'w'); + $file = $this->rootDirectory->openFile($this->rootDirectory->getRelativePath($this->cacheFilePath), 'w'); try { $file->lock(); $file->write(json_encode($this->config)); diff --git a/app/code/Magento/MediaStorage/Model/File/Storage/Database/AbstractDatabase.php b/app/code/Magento/MediaStorage/Model/File/Storage/Database/AbstractDatabase.php index ff1a6db2e212ed1fbd5574145876d3c611b152a6..ad57bd14addd33d119fe4d6b97ae42bf164a5ace 100644 --- a/app/code/Magento/MediaStorage/Model/File/Storage/Database/AbstractDatabase.php +++ b/app/code/Magento/MediaStorage/Model/File/Storage/Database/AbstractDatabase.php @@ -11,11 +11,9 @@ namespace Magento\MediaStorage\Model\File\Storage\Database; abstract class AbstractDatabase extends \Magento\Framework\Model\AbstractModel { /** - * Store media base directory path - * - * @var string + * Default connection */ - protected $_mediaBaseDirectory = null; + const CONNECTION_DEFAULT = 'default_setup'; /** * Core file storage database @@ -36,6 +34,13 @@ abstract class AbstractDatabase extends \Magento\Framework\Model\AbstractModel */ protected $_configuration; + /** + * Connection name + * + * @var string + */ + private $connectionName = self::CONNECTION_DEFAULT; + /** * @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Registry $registry @@ -81,7 +86,7 @@ abstract class AbstractDatabase extends \Magento\Framework\Model\AbstractModel 'default' ); if (empty($connectionName)) { - $connectionName = 'default_setup'; + $connectionName = self::CONNECTION_DEFAULT; } return $connectionName; } @@ -120,10 +125,20 @@ abstract class AbstractDatabase extends \Magento\Framework\Model\AbstractModel public function setConnectionName($connectionName) { if (!empty($connectionName)) { - $this->setData('connection_name', $connectionName); - $this->_getResource()->setConnectionName($connectionName); + $this->connectionName = $connectionName; + $this->_getResource()->setConnectionName($this->connectionName); } return $this; } + + /** + * Get connection name + * + * @return null|string + */ + public function getConnectionName() + { + return $this->connectionName; + } } diff --git a/app/code/Magento/MediaStorage/Model/File/Storage/Request.php b/app/code/Magento/MediaStorage/Model/File/Storage/Request.php index 890d2f8ad16af6fc12125c011fa0a0d672e8fc70..72bb21ba7330581275f076a1ca377500a1414e94 100644 --- a/app/code/Magento/MediaStorage/Model/File/Storage/Request.php +++ b/app/code/Magento/MediaStorage/Model/File/Storage/Request.php @@ -14,26 +14,14 @@ class Request * * @var string */ - protected $_pathInfo; + private $pathInfo; /** - * Requested file path - * - * @var string - */ - protected $_filePath; - - /** - * @param string $workingDir * @param HttpRequest $request */ - public function __construct($workingDir, HttpRequest $request = null) + public function __construct(HttpRequest $request) { - $request = $request ?: new HttpRequest( - new \Magento\Framework\Stdlib\Cookie\PhpCookieReader() - ); - $this->_pathInfo = str_replace('..', '', ltrim($request->getPathInfo(), '/')); - $this->_filePath = $workingDir . '/' . $this->_pathInfo; + $this->pathInfo = str_replace('..', '', ltrim($request->getPathInfo(), '/')); } /** @@ -43,16 +31,6 @@ class Request */ public function getPathInfo() { - return $this->_pathInfo; - } - - /** - * Retrieve file path - * - * @return string - */ - public function getFilePath() - { - return $this->_filePath; + return $this->pathInfo; } } diff --git a/app/code/Magento/MediaStorage/Model/File/Storage/Synchronization.php b/app/code/Magento/MediaStorage/Model/File/Storage/Synchronization.php index 88a72ad5c6e6bfb12f5d9165fa7860ff283b4e44..97ef3597b2d5acd175a639dff3022fa393253f39 100644 --- a/app/code/Magento/MediaStorage/Model/File/Storage/Synchronization.php +++ b/app/code/Magento/MediaStorage/Model/File/Storage/Synchronization.php @@ -5,7 +5,6 @@ */ namespace Magento\MediaStorage\Model\File\Storage; -use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\Filesystem\Directory\WriteInterface as DirectoryWrite; use Magento\Framework\Filesystem\File\Write; use Magento\Framework\Exception\FileSystemException; @@ -27,29 +26,28 @@ class Synchronization * * @var DirectoryWrite */ - protected $pubDirectory; + protected $mediaDirectory; /** * @param \Magento\MediaStorage\Model\File\Storage\DatabaseFactory $storageFactory - * @param \Magento\Framework\Filesystem $filesystem + * @param DirectoryWrite $directory */ public function __construct( \Magento\MediaStorage\Model\File\Storage\DatabaseFactory $storageFactory, - \Magento\Framework\Filesystem $filesystem + DirectoryWrite $directory ) { $this->storageFactory = $storageFactory; - $this->pubDirectory = $filesystem->getDirectoryWrite(DirectoryList::PUB); + $this->mediaDirectory = $directory; } /** * Synchronize file * * @param string $relativeFileName - * @param string $filePath * @return void * @throws \LogicException */ - public function synchronize($relativeFileName, $filePath) + public function synchronize($relativeFileName) { /** @var $storage \Magento\MediaStorage\Model\File\Storage\Database */ $storage = $this->storageFactory->create(); @@ -59,7 +57,7 @@ class Synchronization } if ($storage->getId()) { /** @var Write $file */ - $file = $this->pubDirectory->openFile($this->pubDirectory->getRelativePath($filePath), 'w'); + $file = $this->mediaDirectory->openFile($relativeFileName, 'w'); try { $file->lock(); $file->write($storage->getContent()); diff --git a/app/code/Magento/MediaStorage/Test/Unit/App/MediaTest.php b/app/code/Magento/MediaStorage/Test/Unit/App/MediaTest.php index 78a2ae48f753d6bde57aedcdc6f1153a34686dcf..8e33723f8de6564345d1d9134886ab9d872d5f9b 100644 --- a/app/code/Magento/MediaStorage/Test/Unit/App/MediaTest.php +++ b/app/code/Magento/MediaStorage/Test/Unit/App/MediaTest.php @@ -9,138 +9,139 @@ use Magento\Framework\App\Filesystem\DirectoryList; class MediaTest extends \PHPUnit_Framework_TestCase { + const MEDIA_DIRECTORY = 'mediaDirectory'; + const RELATIVE_FILE_PATH = 'test/file.png'; + const CACHE_FILE_PATH = 'var'; + /** * @var \Magento\MediaStorage\App\Media */ - protected $_model; + private $model; /** - * @var \PHPUnit_Framework_MockObject_MockObject + * @var \Magento\MediaStorage\Model\File\Storage\ConfigFactory|\PHPUnit_Framework_MockObject_MockObject */ - protected $_objectManagerMock; + private $configFactoryMock; /** - * @var \PHPUnit_Framework_MockObject_MockObject + * @var \Magento\MediaStorage\Model\File\Storage\SynchronizationFactory|\PHPUnit_Framework_MockObject_MockObject */ - protected $_requestMock; + private $syncFactoryMock; /** * @var callable */ - protected $_closure; + private $closure; /** * @var \PHPUnit_Framework_MockObject_MockObject */ - protected $_configMock; + private $configMock; /** * @var \PHPUnit_Framework_MockObject_MockObject */ - protected $_sync; - - /** - * @var string - */ - protected $_mediaDirectory = 'mediaDirectory'; + private $sync; /** - * @var \PHPUnit_Framework_MockObject_MockObject + * @var \Magento\MediaStorage\Model\File\Storage\Response|\PHPUnit_Framework_MockObject_MockObject */ - protected $_responseMock; + private $responseMock; /** * @var \Magento\Framework\Filesystem|\PHPUnit_Framework_MockObject_MockObject */ - protected $filesystemMock; + private $filesystemMock; /** * @var \Magento\Framework\Filesystem\Directory\Read|\PHPUnit_Framework_MockObject_MockObject */ - protected $directoryReadMock; + private $directoryMock; protected function setUp() { - $this->_requestMock = $this->getMock('Magento\MediaStorage\Model\File\Storage\Request', [], [], '', false); - $this->_closure = function () { + $this->closure = function () { return true; }; - $this->_objectManagerMock = $this->getMock('Magento\Framework\ObjectManagerInterface'); - $this->_configMock = $this->getMock('Magento\MediaStorage\Model\File\Storage\Config', [], [], '', false); - $this->_sync = $this->getMock('Magento\MediaStorage\Model\File\Storage\Synchronization', [], [], '', false); - - $this->filesystemMock = $this->getMock('Magento\Framework\Filesystem', [], [], '', false); - $this->directoryReadMock = $this->getMock( - 'Magento\Framework\Filesystem\Directory\Read', - [], + $this->configMock = $this->getMock('Magento\MediaStorage\Model\File\Storage\Config', [], [], '', false); + $this->sync = $this->getMock('Magento\MediaStorage\Model\File\Storage\Synchronization', [], [], '', false); + $this->configFactoryMock = $this->getMock( + 'Magento\MediaStorage\Model\File\Storage\ConfigFactory', + ['create'], [], '', false ); - - $this->filesystemMock->expects( - $this->any() - )->method( - 'getDirectoryRead' - )->with( - DirectoryList::MEDIA - )->will( - $this->returnValue($this->directoryReadMock) + $this->configFactoryMock->expects($this->any()) + ->method('create') + ->will($this->returnValue($this->configMock)); + $this->syncFactoryMock = $this->getMock( + 'Magento\MediaStorage\Model\File\Storage\SynchronizationFactory', + ['create'], + [], + '', + false ); + $this->syncFactoryMock->expects($this->any()) + ->method('create') + ->will($this->returnValue($this->sync)); - $this->_responseMock = $this->getMock('Magento\MediaStorage\Model\File\Storage\Response', [], [], '', false); - - $map = [ - ['Magento\MediaStorage\Model\File\Storage\Request', $this->_requestMock], - ['Magento\MediaStorage\Model\File\Storage\Synchronization', $this->_sync], - ]; - $this->_model = new \Magento\MediaStorage\App\Media( - $this->_objectManagerMock, - $this->_requestMock, - $this->_responseMock, - $this->_closure, - 'baseDir', - 'mediaDirectory', - 'var', - 'params', + $this->filesystemMock = $this->getMock('Magento\Framework\Filesystem', [], [], '', false); + $this->directoryMock = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\WriteInterface'); + + $this->filesystemMock->expects($this->any()) + ->method('getDirectoryWrite') + ->with(DirectoryList::MEDIA) + ->will($this->returnValue($this->directoryMock)); + + $this->responseMock = $this->getMock('Magento\MediaStorage\Model\File\Storage\Response', [], [], '', false); + + $this->model = new \Magento\MediaStorage\App\Media( + $this->configFactoryMock, + $this->syncFactoryMock, + $this->responseMock, + $this->closure, + self::MEDIA_DIRECTORY, + self::CACHE_FILE_PATH, + self::RELATIVE_FILE_PATH, $this->filesystemMock ); - $this->_objectManagerMock->expects($this->any())->method('get')->will($this->returnValueMap($map)); } protected function tearDown() { - unset($this->_model); + unset($this->model); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage The specified path is not within media directory. - */ public function testProcessRequestCreatesConfigFileMediaDirectoryIsNotProvided() { - $this->_model = new \Magento\MediaStorage\App\Media( - $this->_objectManagerMock, - $this->_requestMock, - $this->_responseMock, - $this->_closure, - 'baseDir', + $this->model = new \Magento\MediaStorage\App\Media( + $this->configFactoryMock, + $this->syncFactoryMock, + $this->responseMock, + $this->closure, false, - 'var', - 'params', + self::CACHE_FILE_PATH, + self::RELATIVE_FILE_PATH, $this->filesystemMock ); - $this->_objectManagerMock->expects( - $this->once() - )->method( - 'create' - )->with( - 'Magento\MediaStorage\Model\File\Storage\Config' - )->will( - $this->returnValue($this->_configMock) - ); - $this->_configMock->expects($this->once())->method('save'); - $this->_model->launch(); + $filePath = '/absolute/path/to/test/file.png'; + $this->directoryMock->expects($this->any()) + ->method('getAbsolutePath') + ->will($this->returnValueMap( + [ + [null, self::MEDIA_DIRECTORY], + [self::RELATIVE_FILE_PATH, $filePath], + ] + )); + $this->configMock->expects($this->once())->method('save'); + $this->sync->expects($this->once())->method('synchronize')->with(self::RELATIVE_FILE_PATH); + $this->directoryMock->expects($this->once()) + ->method('isReadable') + ->with(self::RELATIVE_FILE_PATH) + ->will($this->returnValue(true)); + $this->responseMock->expects($this->once())->method('setFilePath')->with($filePath); + $this->model->launch(); } /** @@ -149,101 +150,90 @@ class MediaTest extends \PHPUnit_Framework_TestCase */ public function testProcessRequestReturnsNotFoundResponseIfResourceIsNotAllowed() { - $this->_closure = function () { + $this->closure = function () { return false; }; - $this->_model = new \Magento\MediaStorage\App\Media( - $this->_objectManagerMock, - $this->_requestMock, - $this->_responseMock, - $this->_closure, - 'baseDir', + $this->model = new \Magento\MediaStorage\App\Media( + $this->configFactoryMock, + $this->syncFactoryMock, + $this->responseMock, + $this->closure, false, - 'var', - 'params', + self::CACHE_FILE_PATH, + self::RELATIVE_FILE_PATH, $this->filesystemMock ); - $this->_requestMock->expects($this->once())->method('getPathInfo'); - $this->_objectManagerMock->expects( - $this->once() - )->method( - 'create' - )->with( - 'Magento\MediaStorage\Model\File\Storage\Config' - )->will( - $this->returnValue($this->_configMock) - ); - $this->_configMock->expects($this->once())->method('getAllowedResources')->will($this->returnValue(false)); - $this->_model->launch(); + $this->directoryMock->expects($this->once()) + ->method('getAbsolutePath') + ->with() + ->will($this->returnValue(self::MEDIA_DIRECTORY)); + $this->configMock->expects($this->once())->method('getAllowedResources')->will($this->returnValue(false)); + $this->model->launch(); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage The specified path is not within media directory. - */ - public function testProcessRequestReturnsNotFoundIfFileIsNotAllowed() + public function testProcessRequestReturnsFileIfItsProperlySynchronized() { - $this->_configMock->expects($this->never())->method('save'); - $this->_requestMock->expects($this->once())->method('getPathInfo'); - $this->_requestMock->expects($this->never())->method('getFilePath'); - $this->_model->launch(); + $filePath = '/absolute/path/to/test/file.png'; + $this->sync->expects($this->once())->method('synchronize')->with(self::RELATIVE_FILE_PATH); + $this->directoryMock->expects($this->once()) + ->method('isReadable') + ->with(self::RELATIVE_FILE_PATH) + ->will($this->returnValue(true)); + $this->directoryMock->expects($this->any()) + ->method('getAbsolutePath') + ->will($this->returnValueMap( + [ + [null, self::MEDIA_DIRECTORY], + [self::RELATIVE_FILE_PATH, $filePath], + ] + )); + $this->responseMock->expects($this->once())->method('setFilePath')->with($filePath); + $this->assertSame($this->responseMock, $this->model->launch()); } - public function testProcessRequestReturnsFileIfItsProperlySynchronized() + public function testProcessRequestReturnsNotFoundIfFileIsNotSynchronized() { - $relativeFilePath = '_files'; - $filePath = str_replace('\\', '/', __DIR__ . '/' . $relativeFilePath); - $this->_requestMock->expects( - $this->any() - )->method( - 'getPathInfo' - )->will( - $this->returnValue($this->_mediaDirectory . '/') - ); - $this->_sync->expects($this->once())->method('synchronize'); - $this->_requestMock->expects($this->any())->method('getFilePath')->will($this->returnValue($filePath)); - - $this->directoryReadMock->expects( - $this->once() - )->method( - 'getRelativePath' - )->with( - $filePath - )->will( - $this->returnValue($relativeFilePath) - ); + $this->sync->expects($this->once())->method('synchronize')->with(self::RELATIVE_FILE_PATH); + $this->directoryMock->expects($this->once()) + ->method('getAbsolutePath') + ->with() + ->will($this->returnValue(self::MEDIA_DIRECTORY)); + $this->directoryMock->expects($this->once()) + ->method('isReadable') + ->with(self::RELATIVE_FILE_PATH) + ->will($this->returnValue(false)); + $this->responseMock->expects($this->once())->method('setHttpResponseCode')->with(404); + $this->assertSame($this->responseMock, $this->model->launch()); + } - $this->directoryReadMock->expects( - $this->once() - )->method( - 'isReadable' - )->with( - $relativeFilePath - )->will( - $this->returnValue(true) - ); - $this->_responseMock->expects($this->once())->method('setFilePath')->with($filePath); - $this->assertSame($this->_responseMock, $this->_model->launch()); + /** + * @param bool $isDeveloper + * @param int $setBodyCalls + * + * @dataProvider catchExceptionDataProvider + */ + public function testCatchException($isDeveloper, $setBodyCalls) + { + $bootstrap = $this->getMock('Magento\Framework\App\Bootstrap', [], [], '', false); + $exception = $this->getMock('Exception', [], [], '', false); + $this->responseMock->expects($this->once()) + ->method('setHttpResponseCode') + ->with(404); + $bootstrap->expects($this->once()) + ->method('isDeveloperMode') + ->will($this->returnValue($isDeveloper)); + $this->responseMock->expects($this->exactly($setBodyCalls)) + ->method('setBody'); + $this->responseMock->expects($this->once()) + ->method('sendResponse'); + $this->model->catchException($bootstrap, $exception); } - public function testProcessRequestReturnsNotFoundIfFileIsNotSynchronized() + public function catchExceptionDataProvider() { - $this->_requestMock->expects( - $this->any() - )->method( - 'getPathInfo' - )->will( - $this->returnValue($this->_mediaDirectory . '/') - ); - $this->_sync->expects($this->once())->method('synchronize'); - $this->_requestMock->expects( - $this->any() - )->method( - 'getFilePath' - )->will( - $this->returnValue('non_existing_file_name') - ); - $this->_responseMock->expects($this->once())->method('setHttpResponseCode')->with(404); - $this->assertSame($this->_responseMock, $this->_model->launch()); + return [ + 'default mode' => [false, 0], + 'developer mode' => [true, 1], + ]; } } diff --git a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/ConfigTest.php b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/ConfigTest.php index 77da8d96f340fca9e03f35a8f1935175ab8073b0..33e9215f5684a93c4f63407652c9f7acd3c17f48 100644 --- a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/ConfigTest.php +++ b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/ConfigTest.php @@ -50,7 +50,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase )->method( 'getDirectoryWrite' )->with( - DirectoryList::PUB + DirectoryList::ROOT )->will( $this->returnValue($directory) ); diff --git a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/Directory/DatabaseTest.php b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/Directory/DatabaseTest.php index 20478318e093800ef1a163024c293ac1a5f1e53d..f9f55588c98cbf5b19111277115327e5f861c9ab 100644 --- a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/Directory/DatabaseTest.php +++ b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/Directory/DatabaseTest.php @@ -192,4 +192,13 @@ class DatabaseTest extends \PHPUnit_Framework_TestCase $this->directoryDatabase->importDirectories('not an array'); } + + public function testSetGetConnectionName() + { + $this->assertSame($this->customConnectionName, $this->directoryDatabase->getConnectionName()); + $this->directoryDatabase->setConnectionName('test'); + $this->assertSame('test', $this->directoryDatabase->getConnectionName()); + $this->directoryDatabase->unsetData(); + $this->assertSame('test', $this->directoryDatabase->getConnectionName()); + } } diff --git a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/RequestTest.php b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/RequestTest.php index 8c4f374dce42643e2be185e0c9d1e9c2dc099718..8ae7c41dd901831b4a83a2c0940adfe122082fc4 100644 --- a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/RequestTest.php +++ b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/RequestTest.php @@ -17,11 +17,6 @@ class RequestTest extends \PHPUnit_Framework_TestCase */ protected $_requestMock; - /** - * @var string - */ - protected $_workingDir = '..var'; - /** * @var string */ @@ -32,7 +27,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase $path = '..PathInfo'; $this->_requestMock = $this->getMock('\Magento\Framework\App\Request\Http', [], [], '', false); $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue($path)); - $this->_model = new \Magento\MediaStorage\Model\File\Storage\Request($this->_workingDir, $this->_requestMock); + $this->_model = new \Magento\MediaStorage\Model\File\Storage\Request($this->_requestMock); } protected function tearDown() @@ -45,9 +40,4 @@ class RequestTest extends \PHPUnit_Framework_TestCase { $this->assertEquals($this->_pathInfo, $this->_model->getPathInfo()); } - - public function testGetFilePath() - { - $this->assertEquals($this->_workingDir . '/' . $this->_pathInfo, $this->_model->getFilePath()); - } } diff --git a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/SynchronizationTest.php b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/SynchronizationTest.php index 8d43e4e281f70eefad2c1d7bbbf1439231157ca1..6d41dff21fab30113eed1860819e196a2762cf5b 100644 --- a/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/SynchronizationTest.php +++ b/app/code/Magento/MediaStorage/Test/Unit/Model/File/Storage/SynchronizationTest.php @@ -5,18 +5,12 @@ */ namespace Magento\MediaStorage\Test\Unit\Model\File\Storage; -use Magento\Framework\App\Filesystem\DirectoryList; - class SynchronizationTest extends \PHPUnit_Framework_TestCase { - /** - * Test fir synchronize method - */ public function testSynchronize() { $content = 'content'; $relativeFileName = 'config.xml'; - $filePath = realpath(__DIR__ . '/_files/'); $storageFactoryMock = $this->getMock( 'Magento\MediaStorage\Model\File\Storage\DatabaseFactory', @@ -49,33 +43,13 @@ class SynchronizationTest extends \PHPUnit_Framework_TestCase $file->expects($this->once())->method('write')->with($content); $file->expects($this->once())->method('unlock'); $file->expects($this->once())->method('close'); - $directory = $this->getMock( - 'Magento\Framework\Filesystem\Direcoty\Write', - ['openFile', 'getRelativePath'], - [], - '', - false - ); - $directory->expects($this->once())->method('getRelativePath')->will($this->returnArgument(0)); - $directory->expects($this->once())->method('openFile')->with($filePath)->will($this->returnValue($file)); - $filesystem = $this->getMock( - 'Magento\Framework\Filesystem', - ['getDirectoryWrite'], - [], - '', - false - ); - $filesystem->expects( - $this->once() - )->method( - 'getDirectoryWrite' - )->with( - DirectoryList::PUB - )->will( - $this->returnValue($directory) - ); + $directory = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\WriteInterface'); + $directory->expects($this->once()) + ->method('openFile') + ->with($relativeFileName) + ->will($this->returnValue($file)); - $model = new \Magento\MediaStorage\Model\File\Storage\Synchronization($storageFactoryMock, $filesystem); - $model->synchronize($relativeFileName, $filePath); + $model = new \Magento\MediaStorage\Model\File\Storage\Synchronization($storageFactoryMock, $directory); + $model->synchronize($relativeFileName); } } diff --git a/app/code/Magento/Msrp/etc/adminhtml/system.xml b/app/code/Magento/Msrp/etc/adminhtml/system.xml index 9e9f459c56948639418c4e4515a22a983d7ac6ee..bc779be0f268d0c62b099f3d38ae8b74ad666b41 100644 --- a/app/code/Magento/Msrp/etc/adminhtml/system.xml +++ b/app/code/Magento/Msrp/etc/adminhtml/system.xml @@ -14,7 +14,7 @@ <label>Enable MAP</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <comment> - <![CDATA[<strong style="color:red">Warning!</strong> Enabling MAP by default will hide all product prices on the front end.]]> + <![CDATA[<strong style="color:red">Warning!</strong> Enabling MAP by default will hide all product prices on Storefront.]]> </comment> </field> <field id="display_price_type" translate="label" type="select" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="0"> diff --git a/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping.php b/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping.php index b788293e230d31cd69f765ebcedcf335c141e45f..74f396ea18a7f94fe70e22c057994c2422fe83cd 100644 --- a/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping.php +++ b/app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping.php @@ -593,10 +593,10 @@ class Multishipping extends \Magento\Framework\Object public function setPaymentMethod($payment) { if (!isset($payment['method'])) { - throw new \Magento\Framework\Exception\LocalizedException(__('Payment method is not defined')); + throw new \Magento\Framework\Exception\LocalizedException(__('A payment method is not defined.')); } if (!$this->paymentSpecification->isSatisfiedBy($payment['method'])) { - throw new \Magento\Framework\Exception\LocalizedException(__('The requested Payment Method is not available for multishipping.')); + throw new \Magento\Framework\Exception\LocalizedException(__('The requested payment method is not available for multishipping.')); } $quote = $this->getQuote(); $quote->getPayment()->importData($payment); diff --git a/app/code/Magento/Multishipping/view/frontend/layout/multishipping_checkout_success.xml b/app/code/Magento/Multishipping/view/frontend/layout/multishipping_checkout_success.xml index e9bca9477d829c01fe0c92260310c6378b5a71ac..a7ebd5157d6fbed7db9d5999a03bc3c5686ad4aa 100644 --- a/app/code/Magento/Multishipping/view/frontend/layout/multishipping_checkout_success.xml +++ b/app/code/Magento/Multishipping/view/frontend/layout/multishipping_checkout_success.xml @@ -13,7 +13,7 @@ <body> <referenceBlock name="page.main.title"> <action method="setPageTitle"> - <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument> + <argument translate="true" name="title" xsi:type="string">We received your order!</argument> </action> </referenceBlock> <referenceContainer name="content"> diff --git a/app/code/Magento/Multishipping/view/frontend/templates/checkout/addresses.phtml b/app/code/Magento/Multishipping/view/frontend/templates/checkout/addresses.phtml index 6250a70104ff44d5bb0081d0a44d6e319108a0a6..f1085b397eedc3a458c401678b2165e7d1b0aeb3 100644 --- a/app/code/Magento/Multishipping/view/frontend/templates/checkout/addresses.phtml +++ b/app/code/Magento/Multishipping/view/frontend/templates/checkout/addresses.phtml @@ -48,7 +48,7 @@ </td> <td class="col address" data-th="<?php echo $block->escapeHtml(__('Send To'));?>"> <?php if ($_item->getProduct()->getIsVirtual()): ?> - <div class="applicable"><?php echo __('Shipping selection is not applicable.'); ?></div> + <div class="applicable"><?php echo __('A shipping selection is not applicable.'); ?></div> <?php else: ?> <div class="field address"> <label for="ship_<?php echo $_index ?>_<?php echo $_item->getQuoteItemId() ?>_address" class="label"> @@ -73,7 +73,7 @@ </div> <div class="actions-toolbar"> <div class="primary"> - <button type="submit" title="<?php echo __('Continue to Shipping Information') ?>" class="action primary continue<?php if ($block->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($block->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><?php echo __('Continue to Shipping Information') ?></span></button> + <button type="submit" title="<?php echo __('Go to Shipping Information') ?>" class="action primary continue<?php if ($block->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($block->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><?php echo __('Go to Shipping Information') ?></span></button> </div> <div class="secondary"> <button type="submit" class="action update" data-role="can-continue" data-flag="0"><span><?php echo __('Update Qty & Addresses') ?></span></button> diff --git a/app/code/Magento/Multishipping/view/frontend/templates/checkout/billing.phtml b/app/code/Magento/Multishipping/view/frontend/templates/checkout/billing.phtml index c8071150dfe61b91a53195435cba019ddd42e670..434502fba3a781b72776122f22eabcb101ec8d01 100644 --- a/app/code/Magento/Multishipping/view/frontend/templates/checkout/billing.phtml +++ b/app/code/Magento/Multishipping/view/frontend/templates/checkout/billing.phtml @@ -63,7 +63,7 @@ </div> <div class="actions-toolbar"> <div class="primary"> - <button id="payment-continue" type="submit" class="action primary continue"><span><?php echo __('Continue to Review Your Order') ?></span></button> + <button id="payment-continue" type="submit" class="action primary continue"><span><?php echo __('Go to Review Your Order') ?></span></button> </div> <div class="secondary"> <a href="<?php echo $block->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Shipping Information') ?></span></a> diff --git a/app/code/Magento/Multishipping/view/frontend/templates/checkout/link.phtml b/app/code/Magento/Multishipping/view/frontend/templates/checkout/link.phtml index d48cb7b0720c91ae7409dbbb50e138e51b636e49..7af7299bc13a15e4a9e970aacd491da7595d64d3 100644 --- a/app/code/Magento/Multishipping/view/frontend/templates/checkout/link.phtml +++ b/app/code/Magento/Multishipping/view/frontend/templates/checkout/link.phtml @@ -7,4 +7,4 @@ // @codingStandardsIgnoreFile ?> -<a class="action multicheckout" href="<?php echo $block->getCheckoutUrl()?>" title="<?php echo __('Checkout with Multiple Addresses');?>"><span><?php echo __('Checkout with Multiple Addresses');?></span></a> +<a class="action multicheckout" href="<?php echo $block->getCheckoutUrl()?>" title="<?php echo __('Check Out with Multiple Addresses');?>"><span><?php echo __('Check Out with Multiple Addresses');?></span></a> diff --git a/app/code/Magento/Multishipping/view/frontend/templates/checkout/shipping.phtml b/app/code/Magento/Multishipping/view/frontend/templates/checkout/shipping.phtml index 105b8b416e6e2377301e29890febaeb957e2a3e1..95f29ab40105d76c7aa00a9d4eb87909a236c7e9 100644 --- a/app/code/Magento/Multishipping/view/frontend/templates/checkout/shipping.phtml +++ b/app/code/Magento/Multishipping/view/frontend/templates/checkout/shipping.phtml @@ -34,7 +34,7 @@ </strong> <div class="box-content"> <?php if (!($_shippingRateGroups = $block->getShippingRates($_address))): ?> - <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p> + <p><?php echo __('Sorry, no quotes are available for this order right now.') ?></p> <?php else: ?> <dl class="items methods-shipping"> <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?> diff --git a/app/code/Magento/Multishipping/view/frontend/templates/checkout/success.phtml b/app/code/Magento/Multishipping/view/frontend/templates/checkout/success.phtml index aeb0de21440b71764a706d296c22b13cd64a4cc2..a2371c2b40efaf7e205fd42a00838ac682199cd3 100644 --- a/app/code/Magento/Multishipping/view/frontend/templates/checkout/success.phtml +++ b/app/code/Magento/Multishipping/view/frontend/templates/checkout/success.phtml @@ -9,7 +9,7 @@ ?> <div class="multicheckout success"> <h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2> - <p><?php echo __('Thanks for your order. We\'ll send you emails with order details and tracking information.') ?></p> + <p><?php echo __('Thanks for your order. We\'ll email you order details and tracking information.') ?></p> <?php if ($_orderIds = $block->getOrderIds()): ?> <p class="order-number"> <?php $flag = false ?> diff --git a/app/code/Magento/Newsletter/Block/Adminhtml/Template/Grid/Renderer/Action.php b/app/code/Magento/Newsletter/Block/Adminhtml/Template/Grid/Renderer/Action.php index c099dde6c068405e7a62a4d2569c8d6d40d51c70..14cc03317248bc6257aa8813377f5c918d4d7ee3 100644 --- a/app/code/Magento/Newsletter/Block/Adminhtml/Template/Grid/Renderer/Action.php +++ b/app/code/Magento/Newsletter/Block/Adminhtml/Template/Grid/Renderer/Action.php @@ -24,7 +24,7 @@ class Action extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Action if ($row->isValidForSend()) { $actions[] = [ 'url' => $this->getUrl('*/queue/edit', ['template_id' => $row->getId()]), - 'caption' => __('Queue Newsletter...'), + 'caption' => __('Queue Newsletter'), ]; } diff --git a/app/code/Magento/Newsletter/Controller/Adminhtml/Queue/Save.php b/app/code/Magento/Newsletter/Controller/Adminhtml/Queue/Save.php index 39535cd89af534429b189e75fe5251e93541602e..33fd2052a42056497f4e1be99d1571952a9aa210 100644 --- a/app/code/Magento/Newsletter/Controller/Adminhtml/Queue/Save.php +++ b/app/code/Magento/Newsletter/Controller/Adminhtml/Queue/Save.php @@ -80,7 +80,7 @@ class Save extends \Magento\Newsletter\Controller\Adminhtml\Queue $queue->save(); - $this->messageManager->addSuccess(__('The newsletter queue has been saved.')); + $this->messageManager->addSuccess(__('You saved the newsletter queue.')); $this->_getSession()->setFormData(false); $this->_redirect('*/*'); diff --git a/app/code/Magento/Newsletter/Controller/Adminhtml/Subscriber/MassDelete.php b/app/code/Magento/Newsletter/Controller/Adminhtml/Subscriber/MassDelete.php index a16b3bfcf34b4ae676c572e287cc771d893a3e2a..4ea5f85728efdd7f2df57bf5d8ff742382774950 100644 --- a/app/code/Magento/Newsletter/Controller/Adminhtml/Subscriber/MassDelete.php +++ b/app/code/Magento/Newsletter/Controller/Adminhtml/Subscriber/MassDelete.php @@ -28,7 +28,7 @@ class MassDelete extends \Magento\Newsletter\Controller\Adminhtml\Subscriber ); $subscriber->delete(); } - $this->messageManager->addSuccess(__('Total of %1 record(s) were deleted', count($subscribersIds))); + $this->messageManager->addSuccess(__('Total of %1 record(s) were deleted.', count($subscribersIds))); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); } diff --git a/app/code/Magento/Newsletter/Controller/Adminhtml/Template/Save.php b/app/code/Magento/Newsletter/Controller/Adminhtml/Template/Save.php index 3e83573ff78c5f9fafe4b5cb64df4c6c64d8a4ba..e70b3a8809cf3467639203076f626ca9e0a7c046 100644 --- a/app/code/Magento/Newsletter/Controller/Adminhtml/Template/Save.php +++ b/app/code/Magento/Newsletter/Controller/Adminhtml/Template/Save.php @@ -67,7 +67,7 @@ class Save extends \Magento\Newsletter\Controller\Adminhtml\Template $this->messageManager->addError(nl2br($e->getMessage())); $this->_getSession()->setData('newsletter_template_form_data', $this->getRequest()->getParams()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('An error occurred while saving this template.')); + $this->messageManager->addException($e, __('Something went wrong while saving this template.')); $this->_getSession()->setData('newsletter_template_form_data', $this->getRequest()->getParams()); } diff --git a/app/code/Magento/Newsletter/Controller/Subscriber/Unsubscribe.php b/app/code/Magento/Newsletter/Controller/Subscriber/Unsubscribe.php index bb28a220d8769077814271d59d23898fde4647a1..9fb7575699a4958000ca564134fcb3569e0440bb 100644 --- a/app/code/Magento/Newsletter/Controller/Subscriber/Unsubscribe.php +++ b/app/code/Magento/Newsletter/Controller/Subscriber/Unsubscribe.php @@ -20,11 +20,11 @@ class Unsubscribe extends \Magento\Newsletter\Controller\Subscriber if ($id && $code) { try { $this->_subscriberFactory->create()->load($id)->setCheckCode($code)->unsubscribe(); - $this->messageManager->addSuccess(__('You have been unsubscribed.')); + $this->messageManager->addSuccess(__('You unsubscribed.')); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addException($e, $e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('Something went wrong with the un-subscription.')); + $this->messageManager->addException($e, __('Something went wrong while unsubscribing you.')); } } $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl()); diff --git a/app/code/Magento/Newsletter/Setup/InstallSchema.php b/app/code/Magento/Newsletter/Setup/InstallSchema.php index f567558d0550f4ad4987a2b13d3418093c147c7c..85a6f6a249f17d78cc64bb17aa6894067fba09ce 100644 --- a/app/code/Magento/Newsletter/Setup/InstallSchema.php +++ b/app/code/Magento/Newsletter/Setup/InstallSchema.php @@ -107,7 +107,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], - 'Template Id' + 'Template ID' ) ->addColumn( 'template_code', @@ -218,7 +218,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], - 'Template Id' + 'Template ID' ) ->addColumn( 'newsletter_type', diff --git a/app/code/Magento/Newsletter/view/adminhtml/templates/template/edit.phtml b/app/code/Magento/Newsletter/view/adminhtml/templates/template/edit.phtml index 1f7fad5b10004259a0fb2d33d69baf0ca6b36bdc..e7700bf62f8551519a11c03032a8148392d449bb 100644 --- a/app/code/Magento/Newsletter/view/adminhtml/templates/template/edit.phtml +++ b/app/code/Magento/Newsletter/view/adminhtml/templates/template/edit.phtml @@ -126,7 +126,7 @@ require([ } if($F('code').blank() || $F('code')==templateControl.templateName) { - value = prompt('<?php echo __('Please enter new template name.') ?>', templateControl.templateName + '<?php echo __(' Copy') ?>'); + value = prompt('<?php echo __('Please enter a new template name.') ?>', templateControl.templateName + '<?php echo __(' Copy') ?>'); if(!value) { if(value !== null) { $('code').value = ''; @@ -174,7 +174,7 @@ require([ }, deleteTemplate: function() { - if(window.confirm("<?php echo __('Are you sure that you want to delete this template?') ?>")) { + if(window.confirm("<?php echo __('Are you sure you want to delete this template?') ?>")) { window.location.href = '<?php echo $block->getDeleteUrl() ?>'; } }, diff --git a/app/code/Magento/OfflinePayments/view/adminhtml/templates/info/purchaseorder.phtml b/app/code/Magento/OfflinePayments/view/adminhtml/templates/info/purchaseorder.phtml index 38ba36e0fe15b832850403b94da282ce4da1dac2..27497613b01f93653abf2f71d16d55be9db292f3 100644 --- a/app/code/Magento/OfflinePayments/view/adminhtml/templates/info/purchaseorder.phtml +++ b/app/code/Magento/OfflinePayments/view/adminhtml/templates/info/purchaseorder.phtml @@ -4,5 +4,10 @@ * See COPYING.txt for license details. */ ?> -<p><?php echo $block->escapeHtml($block->getMethod()->getTitle()) ?></p> -<p><?php echo __('Purchase Order Number: %1', $block->escapeHtml($block->getInfo()->getPoNumber())) ?></p> +<div class="order-payment-method-name"><?php echo $block->escapeHtml($block->getMethod()->getTitle()); ?></div> +<table class="data-table admin__table-secondary"> + <tr> + <th><?php echo $block->escapeHtml(__('Purchase Order Number')); ?>:</th> + <td><?php echo $block->escapeHtml($block->getInfo()->getPoNumber()); ?></td> + </tr> +</table> diff --git a/app/code/Magento/Payment/Model/Method/AbstractMethod.php b/app/code/Magento/Payment/Model/Method/AbstractMethod.php index 441547499d81b937367dc408fda83270171d32e4..69b8dcf74d20e9baca5a55ec4bff44df945f5be1 100644 --- a/app/code/Magento/Payment/Model/Method/AbstractMethod.php +++ b/app/code/Magento/Payment/Model/Method/AbstractMethod.php @@ -676,7 +676,7 @@ abstract class AbstractMethod extends \Magento\Framework\Model\AbstractExtensibl public function void(\Magento\Payment\Model\InfoInterface $payment) { if (!$this->canVoid()) { - throw new \Magento\Framework\Exception\LocalizedException(__('Void action is not available.')); + throw new \Magento\Framework\Exception\LocalizedException(__('The void action is not available.')); } return $this; } diff --git a/app/code/Magento/Payment/Model/Method/Cc.php b/app/code/Magento/Payment/Model/Method/Cc.php index dd8bd650bc73b33a23a681a9ad2d4a41403562a3..9f84700d7dac8dedbc315a32e180b655aa4338cc 100644 --- a/app/code/Magento/Payment/Model/Method/Cc.php +++ b/app/code/Magento/Payment/Model/Method/Cc.php @@ -191,13 +191,13 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod $ccType = $ccNumAndTypeMatches ? $info->getCcType() : 'OT'; if (!$ccNumAndTypeMatches && !$this->otherCcType($info->getCcType())) { - $errorMsg = __('Credit card number mismatch with credit card type.'); + $errorMsg = __('The credit card number doesn\'t match the credit card type.'); } } else { $errorMsg = __('Invalid Credit Card Number'); } } else { - $errorMsg = __('Credit card type is not allowed for this payment method.'); + $errorMsg = __('This credit card type is not allowed for this payment method.'); } //validate credit card verification number @@ -210,7 +210,7 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod } if ($ccType != 'SS' && !$this->_validateExpDate($info->getCcExpYear(), $info->getCcExpMonth())) { - $errorMsg = __('We found an incorrect credit card expiration date.'); + $errorMsg = __('Please enter a valid credit card expiration date.'); } if ($errorMsg) { diff --git a/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml b/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml index b4538bd9f23f7bf3079c601a5c43288ca21c5456..b9540f98df28b19ba3fa79fc1b53c9712bf144eb 100644 --- a/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml +++ b/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml @@ -15,7 +15,7 @@ <?php echo $block->escapeHtml($block->getMethod()->getTitle()) ?> <?php if ($_specificInfo = $block->getSpecificInformation()):?> -<table class="data-table"> +<table class="data-table admin__table-secondary"> <?php foreach ($_specificInfo as $_label => $_value):?> <tr> <th><?php echo $block->escapeHtml($_label)?>:</th> diff --git a/app/code/Magento/Payment/view/adminhtml/templates/transparent/info.phtml b/app/code/Magento/Payment/view/adminhtml/templates/transparent/info.phtml index badfd92d13a478cb0c409eccb4f9f3af9210e150..6eccac93aca2e5c93c35167f630d0971cd7ab0d3 100644 --- a/app/code/Magento/Payment/view/adminhtml/templates/transparent/info.phtml +++ b/app/code/Magento/Payment/view/adminhtml/templates/transparent/info.phtml @@ -9,5 +9,5 @@ */ ?> <fieldset id="payment_form_<?php echo $block->getMethodCode() ?>" style="display:none" class="fieldset items redirect"> - <div><?php echo __('You\'ll be asked for your payment details before placing an order.') ?></div> + <div><?php echo __('We\'ll ask for your payment details before you place an order.') ?></div> </fieldset> diff --git a/app/code/Magento/Payment/view/frontend/templates/transparent/info.phtml b/app/code/Magento/Payment/view/frontend/templates/transparent/info.phtml index badfd92d13a478cb0c409eccb4f9f3af9210e150..6eccac93aca2e5c93c35167f630d0971cd7ab0d3 100644 --- a/app/code/Magento/Payment/view/frontend/templates/transparent/info.phtml +++ b/app/code/Magento/Payment/view/frontend/templates/transparent/info.phtml @@ -9,5 +9,5 @@ */ ?> <fieldset id="payment_form_<?php echo $block->getMethodCode() ?>" style="display:none" class="fieldset items redirect"> - <div><?php echo __('You\'ll be asked for your payment details before placing an order.') ?></div> + <div><?php echo __('We\'ll ask for your payment details before you place an order.') ?></div> </fieldset> diff --git a/app/code/Magento/Persistent/Model/Observer/PreventExpressCheckout.php b/app/code/Magento/Persistent/Model/Observer/PreventExpressCheckout.php index 6b2614c23a2f3be73ed5b3a4e60291c2614ec6dd..e6f0f3a7a745bae1bfeda28bc19e83e42bb9e9d3 100644 --- a/app/code/Magento/Persistent/Model/Observer/PreventExpressCheckout.php +++ b/app/code/Magento/Persistent/Model/Observer/PreventExpressCheckout.php @@ -79,7 +79,7 @@ class PreventExpressCheckout return; } - $this->messageManager->addNotice(__('To check out, please log in using your email address.')); + $this->messageManager->addNotice(__('To check out, please sign in using your email address.')); $customerBeforeAuthUrl = $this->_url->getUrl('persistent/index/expressCheckout'); $this->_expressRedirectHelper->redirectLogin($controllerAction, $customerBeforeAuthUrl); diff --git a/app/code/Magento/Persistent/etc/adminhtml/system.xml b/app/code/Magento/Persistent/etc/adminhtml/system.xml index 777373b142266898782503b60c14135bb015047a..6e04f0a06410bf5c37b349aa8d512351abe29e90 100644 --- a/app/code/Magento/Persistent/etc/adminhtml/system.xml +++ b/app/code/Magento/Persistent/etc/adminhtml/system.xml @@ -40,7 +40,7 @@ </depends> </field> <field id="logout_clear" translate="label" type="select" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="0"> - <label>Clear Persistence on Log Out</label> + <label>Clear Persistence on Sign Out</label> <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <depends> <field id="enabled">1</field> diff --git a/app/code/Magento/Persistent/view/frontend/templates/remember_me.phtml b/app/code/Magento/Persistent/view/frontend/templates/remember_me.phtml index 0546274aaf16eba284e7aaeab390d739ddfe2e1d..24542d32a06ec98cbde201ab7eb3dd8f2719c995 100644 --- a/app/code/Magento/Persistent/view/frontend/templates/remember_me.phtml +++ b/app/code/Magento/Persistent/view/frontend/templates/remember_me.phtml @@ -21,7 +21,7 @@ <span class="tooltip wrapper"> <a class="link tooltip toggle" href="#"><?php echo __('What\'s this?') ?></a> <span class="tooltip content"> - <?php echo __('Check "Remember Me" to access your shopping cart on this computer when you are logged out')?> + <?php echo __('Check "Remember Me" to access your shopping cart on this computer even if you are not signed in.')?> </span> </span> </div> diff --git a/app/code/Magento/Persistent/view/frontend/web/template/remember-me.html b/app/code/Magento/Persistent/view/frontend/web/template/remember-me.html index 086ba1e3b1afecea5d2e0bd9a2e1f0fc7f8032ef..12ebb8ec864c9cc1b77b9b9831f1cc407c6aa2f0 100644 --- a/app/code/Magento/Persistent/view/frontend/web/template/remember-me.html +++ b/app/code/Magento/Persistent/view/frontend/web/template/remember-me.html @@ -10,7 +10,7 @@ <label for="persistent_remember_me" class="label"><span data-bind="text: $t('Remember Me')"></span></label> <span class="tooltip wrapper"> <a class="link tooltip toggle" href="#" data-bind="text: $t('What\'s this?')"></a> - <span class="tooltip content" data-bind="text: $t('Check \'Remember Me\' to access your shopping cart on this computer when you are logged out')"></span> + <span class="tooltip content" data-bind="text: $t('Check \'Remember Me\' to access your shopping cart on this computer even if you are not signed in.')"></span> </span> </div> <!-- /ko --> diff --git a/app/code/Magento/ProductAlert/Controller/Add/Price.php b/app/code/Magento/ProductAlert/Controller/Add/Price.php index 9e1a6d21fb27072e2ef43d70e4ddebb62368e82f..7ee60ebf79966894a1d6f86911ddeadfc00afa1b 100644 --- a/app/code/Magento/ProductAlert/Controller/Add/Price.php +++ b/app/code/Magento/ProductAlert/Controller/Add/Price.php @@ -98,7 +98,7 @@ class Price extends AddController } return $resultRedirect; } catch (\Exception $e) { - $this->messageManager->addException($e, __('Unable to update the alert subscription.')); + $this->messageManager->addException($e, __('We can\'t update the alert subscription right now.')); } $resultRedirect->setUrl($this->_redirect->getRedirectUrl()); return $resultRedirect; diff --git a/app/code/Magento/ProductAlert/Controller/Add/Stock.php b/app/code/Magento/ProductAlert/Controller/Add/Stock.php index c0a5ff8801c72b5cdcfabce50bd53d59c25182ba..ea0cb55cc15848258372be9acc726a42c0ab5101 100644 --- a/app/code/Magento/ProductAlert/Controller/Add/Stock.php +++ b/app/code/Magento/ProductAlert/Controller/Add/Stock.php @@ -67,7 +67,7 @@ class Stock extends AddController $resultRedirect->setUrl($backUrl); return $resultRedirect; } catch (\Exception $e) { - $this->messageManager->addException($e, __('Unable to update the alert subscription.')); + $this->messageManager->addException($e, __('We can\'t update the alert subscription right now.')); } $resultRedirect->setUrl($this->_redirect->getRedirectUrl()); return $resultRedirect; diff --git a/app/code/Magento/ProductAlert/Controller/Unsubscribe/Price.php b/app/code/Magento/ProductAlert/Controller/Unsubscribe/Price.php index 0f2c5334a099d667fd9ae696b1635d48de16b6cc..46ba80f4b3a55cf98baf0fecfaad40f92b2432b1 100644 --- a/app/code/Magento/ProductAlert/Controller/Unsubscribe/Price.php +++ b/app/code/Magento/ProductAlert/Controller/Unsubscribe/Price.php @@ -72,7 +72,7 @@ class Price extends UnsubscribeController $resultRedirect->setPath('customer/account/'); return $resultRedirect; } catch (\Exception $e) { - $this->messageManager->addException($e, __('Unable to update the alert subscription.')); + $this->messageManager->addException($e, __('We can\'t update the alert subscription right now.')); } $resultRedirect->setUrl($product->getProductUrl()); return $resultRedirect; diff --git a/app/code/Magento/ProductAlert/Controller/Unsubscribe/Stock.php b/app/code/Magento/ProductAlert/Controller/Unsubscribe/Stock.php index 703bb606f16878353249cafc2e9663cc2acc88bb..3052fcfe0abefb78c1138f0da0c5ea86d2607db1 100644 --- a/app/code/Magento/ProductAlert/Controller/Unsubscribe/Stock.php +++ b/app/code/Magento/ProductAlert/Controller/Unsubscribe/Stock.php @@ -70,7 +70,7 @@ class Stock extends UnsubscribeController $resultRedirect->setPath('customer/account/'); return $resultRedirect; } catch (\Exception $e) { - $this->messageManager->addException($e, __('Unable to update the alert subscription.')); + $this->messageManager->addException($e, __('We can\'t update the alert subscription right now.')); } $resultRedirect->setUrl($product->getProductUrl()); return $resultRedirect; diff --git a/app/code/Magento/ProductAlert/view/frontend/templates/email/price.phtml b/app/code/Magento/ProductAlert/view/frontend/templates/email/price.phtml index 19a060cd4c27d8e1dedd7d3dc6a1adb71e5b3050..f0e9c131837ff212a5380f47476cb08a55367a1a 100644 --- a/app/code/Magento/ProductAlert/view/frontend/templates/email/price.phtml +++ b/app/code/Magento/ProductAlert/view/frontend/templates/email/price.phtml @@ -9,7 +9,7 @@ /** @var $block \Magento\ProductAlert\Block\Email\Price */ ?> <?php if ($_products = $block->getProducts()): ?> -<p><?php echo __('You are receiving this notification because you subscribed to receive alerts when the prices for the following products changed:') ?></p> +<p><?php echo __('Price change alert! We wanted you to know that prices have changed for these products:') ?></p> <table> <?php /** @var $_product \Magento\Catalog\Model\Product */ ?> <?php foreach ($_products as $_product): ?> @@ -38,7 +38,7 @@ ); ?> </p> - <p><small><a href="<?php echo $block->getProductUnsubscribeUrl($_product->getId()) ?>"><?php echo __('Click here not to receive alerts for this product.') ?></a></small></p> + <p><small><a href="<?php echo $block->getProductUnsubscribeUrl($_product->getId()) ?>"><?php echo __('Click here to stop alerts for this product.') ?></a></small></p> </td> </tr> <?php endforeach; ?> diff --git a/app/code/Magento/ProductAlert/view/frontend/templates/email/stock.phtml b/app/code/Magento/ProductAlert/view/frontend/templates/email/stock.phtml index afe06fa6ed8fb50a05f7d2121285b3cabf03df8e..7c2a812b970e2fd40d40948024f27aa226835713 100644 --- a/app/code/Magento/ProductAlert/view/frontend/templates/email/stock.phtml +++ b/app/code/Magento/ProductAlert/view/frontend/templates/email/stock.phtml @@ -9,7 +9,7 @@ /** @var $block \Magento\ProductAlert\Block\Email\Stock */ ?> <?php if ($_products = $block->getProducts()): ?> -<p><?php echo __('You are receiving this notification because you subscribed to receive alerts when the following products are back in stock:') ?></p> +<p><?php echo __('In stock alert! We wanted you to know that these products are now available:') ?></p> <table> <?php foreach ($_products as $_product): ?> <tr> @@ -37,7 +37,7 @@ ); ?> </p> - <p><small><a href="<?php echo $block->getProductUnsubscribeUrl($_product->getId()) ?>"><?php echo __('Click here not to receive alerts for this product.') ?></a></small></p> + <p><small><a href="<?php echo $block->getProductUnsubscribeUrl($_product->getId()) ?>"><?php echo __('Click here to stop alerts for this product.') ?></a></small></p> </td> </tr> <?php endforeach; ?> diff --git a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php index f9fe3f7290440886646b29df65165e0aa76bc81c..335952ca4de8b007e49860881a68faea0f09d3dc 100644 --- a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php +++ b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php @@ -136,7 +136,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic [ 'name' => 'report_type', 'options' => $this->_reportTypeOptions, - 'label' => __('Match Period To') + 'label' => __('Date Used') ] ); diff --git a/app/code/Magento/Reports/Block/Adminhtml/Grid/AbstractGrid.php b/app/code/Magento/Reports/Block/Adminhtml/Grid/AbstractGrid.php index 39813ec48946af6e05b0aae0d7fdc8ed516e2a65..f169dd2c8e5dea332af923133738b55536462e34 100644 --- a/app/code/Magento/Reports/Block/Adminhtml/Grid/AbstractGrid.php +++ b/app/code/Magento/Reports/Block/Adminhtml/Grid/AbstractGrid.php @@ -84,7 +84,7 @@ class AbstractGrid extends \Magento\Backend\Block\Widget\Grid\Extended if (isset($this->_columnGroupBy)) { $this->isColumnGrouped($this->_columnGroupBy, true); } - $this->setEmptyCellLabel(__('We couldn\'t find records for this period.')); + $this->setEmptyCellLabel(__('We can\'t find records for this period.')); } /** diff --git a/app/code/Magento/Reports/Controller/Adminhtml/Report/Statistics/RefreshLifetime.php b/app/code/Magento/Reports/Controller/Adminhtml/Report/Statistics/RefreshLifetime.php index 119375fb9ca5c12f9a23526249eec804d448c52f..35222afc53af688cd31d3c83078ad074bdc5d8ea 100644 --- a/app/code/Magento/Reports/Controller/Adminhtml/Report/Statistics/RefreshLifetime.php +++ b/app/code/Magento/Reports/Controller/Adminhtml/Report/Statistics/RefreshLifetime.php @@ -21,7 +21,7 @@ class RefreshLifetime extends \Magento\Reports\Controller\Adminhtml\Report\Stati foreach ($collectionsNames as $collectionName) { $this->_objectManager->create($collectionName)->aggregate(); } - $this->messageManager->addSuccess(__('We updated lifetime statistics.')); + $this->messageManager->addSuccess(__('You refreshed lifetime statistics.')); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_grid.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_grid.xml index 9bed8390ecb4b1fd6325c9dd188cb7b8119b8d62..54e6a1f160b832aeaccbb69bc532f8ad31e7a676 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_grid.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_grid.xml @@ -46,8 +46,8 @@ <block class="Magento\Backend\Block\Widget\Grid\ColumnSet" as="grid.columnSet" name="adminhtml.report.grid.columnSet"> <arguments> <argument name="filter_visibility" xsi:type="string">0</argument> - <argument name="empty_text" xsi:type="string" translate="true">We couldn't find records for this period.</argument> - <argument name="empty_cell_label" xsi:type="string" translate="true">We couldn't find records for this period.</argument> + <argument name="empty_text" xsi:type="string" translate="true">We can't find records for this period.</argument> + <argument name="empty_cell_label" xsi:type="string" translate="true">We can't find records for this period.</argument> </arguments> <block class="Magento\Backend\Block\Widget\Grid\Column" as="period"> <arguments> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_product_viewed.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_product_viewed.xml index a6934ca9a62a6d8ad0e15de0b3f1473eb57e54a6..fd28a5b1e15edbb99f804fc5fb295e6e5561f881 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_product_viewed.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_product_viewed.xml @@ -9,7 +9,7 @@ <body> <referenceBlock name="messages"> <action method="addNotice"> - <argument translate="true" name="message" xsi:type="string">This report uses timezone configuration data. Be sure to refresh lifetime statistics any time you change store timezone.</argument> + <argument translate="true" name="message" xsi:type="string">For accurate reporting, be sure to refresh lifetime statistics whenever you change the time zone.</argument> </action> </referenceBlock> <referenceContainer name="page.main.actions"> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_coupons.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_coupons.xml index 9fad06da5ac336d781ca77d03fb2cee77c7ef3bc..d9492bf13287413446c5899ed87af1ac5cc55b4a 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_coupons.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_coupons.xml @@ -26,16 +26,16 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form\Coupon" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">updated_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Updated Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Updated</argument> </action> <action method="setFieldOption"> <argument name="field" xsi:type="string">report_type</argument> <argument name="option" xsi:type="string">note</argument> - <argument translate="true" name="value" xsi:type="string">The Order Updated Date report is displayed in real-time, and does not need to be refreshed.</argument> + <argument translate="true" name="value" xsi:type="string">The Order Updated report is created in real time and does not require a refresh.</argument> </action> </block> </block> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_invoiced.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_invoiced.xml index abeb8254e927eb2dd1c4081fbc42d9139432e6c6..ad48c082cfe6e21b3e2153275c89cd26485b4a64 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_invoiced.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_invoiced.xml @@ -26,7 +26,7 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_invoice</argument> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_refunded.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_refunded.xml index 7191b7bae098ea7b2de1d7f83482dba389e257c5..174cbb1960dafa5ff32176c6c219fd85875d628a 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_refunded.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_refunded.xml @@ -26,7 +26,7 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_refunded</argument> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_sales.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_sales.xml index 20c787a6010ffdc9bb8f5352c0e7282b95c93e1c..b4ce0c4f80af034e0358c518e358e5ac15099e89 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_sales.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_sales.xml @@ -26,16 +26,16 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form\Order" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">updated_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Updated Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Updated</argument> </action> <action method="setFieldOption"> <argument name="field" xsi:type="string">report_type</argument> <argument name="option" xsi:type="string">note</argument> - <argument translate="true" name="value" xsi:type="string">The Order Updated Date report is displayed in real-time, and does not need to be refreshed.</argument> + <argument translate="true" name="value" xsi:type="string">The Order Updated report is created in real time and does not require a refresh.</argument> </action> </block> </block> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_shipping.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_shipping.xml index 3093e769e52c38d7a2016eb84234fdb7f98cec0c..c959aef4d9c7cd9a6f671fd4321b15273d81a7cc 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_shipping.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_shipping.xml @@ -26,7 +26,7 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_shipment</argument> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_tax.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_tax.xml index 96fecf243b9f8432431563d1b74fdfe6ed3ed363..09b29d402578de8d016e0b708da8855f3fbbcb69 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_tax.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_sales_tax.xml @@ -26,16 +26,16 @@ <block class="Magento\Sales\Block\Adminhtml\Report\Filter\Form" name="grid.filter.form"> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">created_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Created Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Created</argument> </action> <action method="addReportTypeOption"> <argument name="key" xsi:type="string">updated_at_order</argument> - <argument translate="true" name="value" xsi:type="string">Order Updated Date</argument> + <argument translate="true" name="value" xsi:type="string">Order Updated</argument> </action> <action method="setFieldOption"> <argument name="field" xsi:type="string">report_type</argument> <argument name="option" xsi:type="string">note</argument> - <argument translate="true" name="value" xsi:type="string">The Order Updated Date report is displayed in real-time, and does not need to be refreshed.</argument> + <argument translate="true" name="value" xsi:type="string">The Order Updated report is created in real time and does not require a refresh.</argument> </action> </block> </block> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_statistics_index.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_statistics_index.xml index 38f42a0c5b7fce801e88783577ca91c65cc3a5a4..23ae6eece72ea06a4f257280f5db6eafdac92a7b 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_report_statistics_index.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_report_statistics_index.xml @@ -26,12 +26,12 @@ <item name="refresh_lifetime" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Refresh Lifetime Statistics</item> <item name="url" xsi:type="string">*/*/refreshLifetime</item> - <item name="confirm" xsi:type="string" translate="true">Are you sure you want to refresh lifetime statistics? There can be performance impact during this operation.</item> + <item name="confirm" xsi:type="string" translate="true">Are you sure you want to refresh lifetime statistics right now? This operation may slow down your customers' shopping experience.</item> </item> <item name="refresh_recent" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Refresh Statistics for the Last Day</item> <item name="url" xsi:type="string">*/*/refreshRecent</item> - <item name="confirm" xsi:type="string" translate="true">Are you sure you want to refresh statistics for last day?</item> + <item name="confirm" xsi:type="string" translate="true">Are you sure you want to refresh statistics for the last day?</item> <item name="selected" xsi:type="string">1</item> </item> </argument> diff --git a/app/code/Magento/Reports/view/adminhtml/layout/reports_sales.xml b/app/code/Magento/Reports/view/adminhtml/layout/reports_sales.xml index 3b1c1e58ef687ef7994c96f3c9f64f778ca7accb..e0f2f895b510d22d78394c19ae11545268fb25cd 100644 --- a/app/code/Magento/Reports/view/adminhtml/layout/reports_sales.xml +++ b/app/code/Magento/Reports/view/adminhtml/layout/reports_sales.xml @@ -9,7 +9,7 @@ <body> <referenceBlock name="messages"> <action method="addNotice"> - <argument translate="true" name="message" xsi:type="string">This report uses timezone configuration data. Be sure to refresh lifetime statistics any time you change store timezone.</argument> + <argument translate="true" name="message" xsi:type="string">For accurate reporting, be sure to refresh lifetime statistics whenever you change the time zone.</argument> </action> </referenceBlock> </body> diff --git a/app/code/Magento/Review/Block/Adminhtml/Add.php b/app/code/Magento/Review/Block/Adminhtml/Add.php index 448ae442a99418545889e135253ac597f2999a8d..95d67d4765033ee62410eeaf43de6c01bcb0eeff 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Add.php +++ b/app/code/Magento/Review/Block/Adminhtml/Add.php @@ -124,6 +124,6 @@ class Add extends \Magento\Backend\Block\Widget\Form\Container */ public function getHeaderText() { - return __('Add New Review'); + return __('New Review'); } } diff --git a/app/code/Magento/Review/Block/Adminhtml/Add/Form.php b/app/code/Magento/Review/Block/Adminhtml/Add/Form.php index ef18b5786913d006ecc81f2b1870731cb9140440..92b8ba3a926417974a614064ea86af45c54c13ca 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Add/Form.php +++ b/app/code/Magento/Review/Block/Adminhtml/Add/Form.php @@ -93,7 +93,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'select_stores', 'multiselect', [ - 'label' => __('Visible In'), + 'label' => __('Visibility'), 'required' => true, 'name' => 'select_stores[]', 'values' => $this->_systemStore->getStoreValuesForForm() diff --git a/app/code/Magento/Review/Block/Adminhtml/Edit/Form.php b/app/code/Magento/Review/Block/Adminhtml/Edit/Form.php index e5904fd543c42c30bb50f9689fce036319b5b2c5..14abe1ebe9214c573529a3844af0a4d4f0f3cbfc 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Edit/Form.php +++ b/app/code/Magento/Review/Block/Adminhtml/Edit/Form.php @@ -125,7 +125,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic ? __('Administrator') : __('Guest'); } - $fieldset->addField('customer', 'note', ['label' => __('Posted By'), 'text' => $customerText]); + $fieldset->addField('customer', 'note', ['label' => __('Author'), 'text' => $customerText]); $fieldset->addField( 'summary_rating', @@ -167,7 +167,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'select_stores', 'multiselect', [ - 'label' => __('Visible In'), + 'label' => __('Visibility'), 'required' => true, 'name' => 'stores[]', 'values' => $this->_systemStore->getStoreValuesForForm() diff --git a/app/code/Magento/Review/Block/Adminhtml/Main.php b/app/code/Magento/Review/Block/Adminhtml/Main.php index cdad4bd6d3a487f60a302aab64507aea554a3c1f..513d0bd1179c824fc90c08d72b6533e98ffe633a 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Main.php +++ b/app/code/Magento/Review/Block/Adminhtml/Main.php @@ -67,7 +67,7 @@ class Main extends \Magento\Backend\Block\Widget\Grid\Container */ protected function _construct() { - $this->_addButtonLabel = __('Add New Review'); + $this->_addButtonLabel = __('New Review'); parent::_construct(); $this->_blockGroup = 'Magento_Review'; diff --git a/app/code/Magento/Review/Block/Adminhtml/Rating/Edit/Tab/Form.php b/app/code/Magento/Review/Block/Adminhtml/Rating/Edit/Tab/Form.php index 57989416a511c112eb1fcf563da0c1a6856c39ac..ac13b56d00bc949c13350102a0af6dec75496624 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Rating/Edit/Tab/Form.php +++ b/app/code/Magento/Review/Block/Adminhtml/Rating/Edit/Tab/Form.php @@ -206,7 +206,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'stores', 'multiselect', [ - 'label' => __('Visible In'), + 'label' => __('Visibility'), 'name' => 'stores[]', 'values' => $this->systemStore->getStoreValuesForForm() ] diff --git a/app/code/Magento/Review/Block/Adminhtml/Rss.php b/app/code/Magento/Review/Block/Adminhtml/Rss.php index 42f9ef5583d60292d488c3cb571d2adc8025ce2a..c1b6724e142b37cee9eb8d412dd98f87444dca2d 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Rss.php +++ b/app/code/Magento/Review/Block/Adminhtml/Rss.php @@ -66,7 +66,7 @@ class Rss extends \Magento\Backend\Block\AbstractBlock implements DataProviderIn $description = '<p>' . __('Product: <a href="%1" target="_blank">%2</a> <br/>', $url, $item->getName()) . __('Summary of review: %1 <br/>', $item->getTitle()) . __('Review: %1 <br/>', $item->getDetail()) . __('Store: %1 <br/>', $storeName) - . __('Click <a href="%1">here</a> to view the review.', $reviewUrl) + . __('Click <a href="%1">here</a> to see the review.', $reviewUrl) . '</p>'; $data['entries'][] = [ diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/JsonProductInfo.php b/app/code/Magento/Review/Controller/Adminhtml/Product/JsonProductInfo.php index c3f6aac9880b686116571e7f8b4f810c218fec9c..0e6cf178d82dc4407d1666f5fcc453917bf681b9 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/JsonProductInfo.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/JsonProductInfo.php @@ -53,7 +53,7 @@ class JsonProductInfo extends ProductController $response->setError(0); } else { $response->setError(1); - $response->setMessage(__('We can\'t get the product ID.')); + $response->setMessage(__('We can\'t retrieve the product ID.')); } /** @var \Magento\Framework\Controller\Result\Json $resultJson */ $resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON); diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php b/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php index 0783cec7e24ad8eed8a57281407ae1af04fcdfa1..6a64c6cf54982c84dfc5aff6be22f7f185db6a75 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php @@ -31,7 +31,7 @@ class MassDelete extends ProductController } catch (LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('An error occurred while deleting record(s).')); + $this->messageManager->addException($e, __('Something went wrong while deleting these records.')); } } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php b/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php index 422806f2a6fbe4227ae53f92d75b077ae5806567..285503a236500d506b746217ec92bdfc685457c1 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php @@ -34,7 +34,7 @@ class MassUpdateStatus extends ProductController } catch (\Exception $e) { $this->messageManager->addException( $e, - __('An error occurred while updating the selected review(s).') + __('Something went wrong while updating these review(s).') ); } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/MassVisibleIn.php b/app/code/Magento/Review/Controller/Adminhtml/Product/MassVisibleIn.php index 5dbd33f8ee81c1616535466c1f236136f6144f36..4e65891133acef664ab66b80293888f2a9246a9d 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/MassVisibleIn.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/MassVisibleIn.php @@ -35,7 +35,7 @@ class MassVisibleIn extends ProductController } catch (\Exception $e) { $this->messageManager->addException( $e, - __('An error occurred while updating the selected review(s).') + __('Something went wrong while updating these review(s).') ); } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php index 6a332eb52ef8f5197c6de7190220fca0e1e32869..f6b7f24bffdbfb9bad62511a7a0a4df1c2d95f9d 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php @@ -59,7 +59,7 @@ class Post extends ProductController } catch (LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('An error occurred while saving review.')); + $this->messageManager->addException($e, __('Something went wrong while saving this review.')); } } $resultRedirect->setPath('review/*/'); diff --git a/app/code/Magento/Review/Controller/Product/Post.php b/app/code/Magento/Review/Controller/Product/Post.php index 56260350b878f2e4186693d3abc56961cc5cfd5b..a68f0d18c3bc56a807f46cb6596a2e6324a67ee0 100644 --- a/app/code/Magento/Review/Controller/Product/Post.php +++ b/app/code/Magento/Review/Controller/Product/Post.php @@ -62,10 +62,10 @@ class Post extends ProductController } $review->aggregate(); - $this->messageManager->addSuccess(__('Your review has been accepted for moderation.')); + $this->messageManager->addSuccess(__('You submitted your review for moderation.')); } catch (\Exception $e) { $this->reviewSession->setFormData($data); - $this->messageManager->addError(__('We cannot post the review.')); + $this->messageManager->addError(__('We can\'t post your review right now.')); } } else { $this->reviewSession->setFormData($data); @@ -74,7 +74,7 @@ class Post extends ProductController $this->messageManager->addError($errorMessage); } } else { - $this->messageManager->addError(__('We cannot post the review.')); + $this->messageManager->addError(__('We can\'t post your review right now.')); } } } diff --git a/app/code/Magento/Review/Model/Review.php b/app/code/Magento/Review/Model/Review.php index 82e5fd6abc996310802fd5871bbbff62cbcbfdab..ec1d84b348e0b880a2b46e05827654c7dbc9b176 100644 --- a/app/code/Magento/Review/Model/Review.php +++ b/app/code/Magento/Review/Model/Review.php @@ -264,15 +264,15 @@ class Review extends \Magento\Framework\Model\AbstractModel implements IdentityI $errors = []; if (!\Zend_Validate::is($this->getTitle(), 'NotEmpty')) { - $errors[] = __('The review summary field can\'t be empty.'); + $errors[] = __('Please enter a review summary.'); } if (!\Zend_Validate::is($this->getNickname(), 'NotEmpty')) { - $errors[] = __('The nickname field can\'t be empty.'); + $errors[] = __('Please enter a nickname.'); } if (!\Zend_Validate::is($this->getDetail(), 'NotEmpty')) { - $errors[] = __('The review field can\'t be empty.'); + $errors[] = __('Please enter a review.'); } if (empty($errors)) { diff --git a/app/code/Magento/Review/Setup/InstallSchema.php b/app/code/Magento/Review/Setup/InstallSchema.php index 147688bdf15e3b7dbab52eefab5c1104c547a77a..a4cf7d27db30e0a3e21f21d66611353d442f1688 100644 --- a/app/code/Magento/Review/Setup/InstallSchema.php +++ b/app/code/Magento/Review/Setup/InstallSchema.php @@ -390,7 +390,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], - 'Rating Position On Frontend' + 'Rating Position On Storefront' ) ->addColumn( 'is_active', @@ -460,7 +460,7 @@ class InstallSchema implements InstallSchemaInterface \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], - 'Ration option position on frontend' + 'Ration option position on Storefront' ) ->addIndex( $installer->getIdxName('rating_option', ['rating_id']), diff --git a/app/code/Magento/Review/Test/Unit/Controller/Product/PostTest.php b/app/code/Magento/Review/Test/Unit/Controller/Product/PostTest.php index 5d1c1884335c7876991395067ccd25f9d84e81d6..9cedb87e15afe212c3dd428b623a7d1c95a3f1c5 100644 --- a/app/code/Magento/Review/Test/Unit/Controller/Product/PostTest.php +++ b/app/code/Magento/Review/Test/Unit/Controller/Product/PostTest.php @@ -309,7 +309,7 @@ class PostTest extends \PHPUnit_Framework_TestCase $this->review->expects($this->once())->method('aggregate') ->willReturnSelf(); $this->messageManager->expects($this->once())->method('addSuccess') - ->with(__('Your review has been accepted for moderation.')) + ->with(__('You submitted your review for moderation.')) ->willReturnSelf(); $this->reviewSession->expects($this->once())->method('getRedirectUrl') ->with(true) diff --git a/app/code/Magento/Review/view/frontend/templates/customer/list.phtml b/app/code/Magento/Review/view/frontend/templates/customer/list.phtml index e90990095151a90e6277319328689994401f1534..4bd18e568a214634543a9d7ceb706ca8af18865e 100644 --- a/app/code/Magento/Review/view/frontend/templates/customer/list.phtml +++ b/app/code/Magento/Review/view/frontend/templates/customer/list.phtml @@ -44,7 +44,7 @@ </td> <td data-th="<?php echo $block->escapeHtml(__('Actions')) ?>" class="col actions"> <a href="<?php echo $block->getReviewLink() ?>id/<?php echo $_review->getReviewId() ?>" class="action more"> - <span><?php echo __('View Details') ?></span> + <span><?php echo __('See Details') ?></span> </a> </td> </tr> diff --git a/app/code/Magento/Review/view/frontend/templates/form.phtml b/app/code/Magento/Review/view/frontend/templates/form.phtml index 958cbe2e1de960919bc515c33f5f310b3a28ef20..9d98fdeef3d853bd3606f136c84f8f8b9a15aad4 100644 --- a/app/code/Magento/Review/view/frontend/templates/form.phtml +++ b/app/code/Magento/Review/view/frontend/templates/form.phtml @@ -109,7 +109,7 @@ require([ <?php else: ?> <div class="message info notlogged" id="review-form"> <div> - <?php echo __('Only registered users can write reviews. Please, <a href="%1">log in</a> or <a href="%2">register</a>', $block->getLoginLink(), $block->getRegisterUrl()) ?> + <?php echo __('Only registered users can write reviews. Please, <a href="%1">Sign in</a> or <a href="%2">create an account</a>', $block->getLoginLink(), $block->getRegisterUrl()) ?> </div> </div> <?php endif ?> diff --git a/app/code/Magento/Rule/Model/AbstractModel.php b/app/code/Magento/Rule/Model/AbstractModel.php index ce15aad634bed7a86551a2b483fc8039e2edb679..375c4180106991ac0a47ee2b5c069d84c11dd2b9 100644 --- a/app/code/Magento/Rule/Model/AbstractModel.php +++ b/app/code/Magento/Rule/Model/AbstractModel.php @@ -111,7 +111,7 @@ abstract class AbstractModel extends \Magento\Framework\Model\AbstractModel // Check if discount amount not negative if ($this->hasDiscountAmount()) { if ((int)$this->getDiscountAmount() < 0) { - throw new \Magento\Framework\Exception\LocalizedException(__('Invalid discount amount.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Please choose a valid discount amount.')); } } @@ -377,13 +377,13 @@ abstract class AbstractModel extends \Magento\Framework\Model\AbstractModel if ($object->hasWebsiteIds()) { $websiteIds = $object->getWebsiteIds(); if (empty($websiteIds)) { - $result[] = __('Websites must be specified.'); + $result[] = __('Please specify a website.'); } } if ($object->hasCustomerGroupIds()) { $customerGroupIds = $object->getCustomerGroupIds(); if (empty($customerGroupIds)) { - $result[] = __('Customer Groups must be specified.'); + $result[] = __('Please specify Customer Groups.'); } } diff --git a/app/code/Magento/Rule/Model/Condition/Product/AbstractProduct.php b/app/code/Magento/Rule/Model/Condition/Product/AbstractProduct.php index 79c0ebe18c8af49cb581e0a354194430cf65d83d..8b2df7adff1f6a830ec0ecf77e90625a4f2a0f31 100644 --- a/app/code/Magento/Rule/Model/Condition/Product/AbstractProduct.php +++ b/app/code/Magento/Rule/Model/Condition/Product/AbstractProduct.php @@ -153,7 +153,7 @@ abstract class AbstractProduct extends \Magento\Rule\Model\Condition\AbstractCon */ protected function _addSpecialAttributes(array &$attributes) { - $attributes['attribute_set_id'] = __('Attribute Set'); + $attributes['attribute_set_id'] = __('Product Template'); $attributes['category_ids'] = __('Category'); } diff --git a/app/code/Magento/Rule/view/adminhtml/web/rules.js b/app/code/Magento/Rule/view/adminhtml/web/rules.js index 066ef829a2797abad1a1feb86d71e4fd7f51a1fb..262d155a53cd14cec982876aa37396a31a403b37 100644 --- a/app/code/Magento/Rule/view/adminhtml/web/rules.js +++ b/app/code/Magento/Rule/view/adminhtml/web/rules.js @@ -265,7 +265,7 @@ define([ var new_type = elem.value; var new_elem = document.createElement('LI'); new_elem.className = 'rule-param-wait'; - new_elem.innerHTML = jQuery.mage.__('Please wait, loading...'); + new_elem.innerHTML = jQuery.mage.__('This won\'t take long . . .'); children_ul.insertBefore(new_elem, $(elem).up('li')); new Ajax.Request(this.newChildUrl, { diff --git a/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php b/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php index b1b0a7de53bf916bde93fcbde76c208375b660e5..dc79dd5a7de51b758c6e037abd92bf8956cb9a98 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php @@ -10,6 +10,7 @@ use Magento\Sales\Model\Order\Creditmemo\Item; /** * Abstract items renderer + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class AbstractItems extends \Magento\Backend\Block\Template { @@ -227,7 +228,7 @@ class AbstractItems extends \Magento\Backend\Block\Template return $this->getItem()->getOrder(); } - throw new \Magento\Framework\Exception\LocalizedException(__('We cannot get the order instance.')); + throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t get the order instance right now.')); } /** diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php b/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php index 20fc1d42baaf68d9af98cc251c31e81d424d0fc7..0539d5cb195dc651095c3c48b629284cf63ac7b2 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php @@ -62,7 +62,7 @@ class AbstractOrder extends \Magento\Backend\Block\Widget if ($this->_coreRegistry->registry('order')) { return $this->_coreRegistry->registry('order'); } - throw new \Magento\Framework\Exception\LocalizedException(__('We cannot get the order instance.')); + throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t get the order instance right now.')); } /** diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php index b83a8eb2ef0b9b3427f0ec74b868f3d34c7f23aa..57c74c61cb16d769c5245e2f1e4cc6cf9cf56ee6 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php @@ -72,7 +72,7 @@ class View extends \Magento\Backend\Block\Widget\Form\Container 'label' => __('Send Email'), 'class' => 'send-email', 'onclick' => 'confirmSetLocation(\'' . __( - 'Are you sure you want to send a Credit memo email to customer?' + 'Are you sure you want to send a credit memo email to customer?' ) . '\', \'' . $this->getEmailUrl() . '\')' ] ); @@ -130,9 +130,9 @@ class View extends \Magento\Backend\Block\Widget\Form\Container public function getHeaderText() { if ($this->getCreditmemo()->getEmailSent()) { - $emailSent = __('The credit memo email was sent'); + $emailSent = __('The credit memo email was sent.'); } else { - $emailSent = __('the credit memo email is not sent'); + $emailSent = __('The credit memo email wasn\'t sent.'); } return __( 'Credit Memo #%1 | %3 | %2 (%4)', diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php index eb1570d96db2dd355d0c29e3f930a659754ae494..c3f359585a804a18286aea87a44a58c0203f0b8f 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php @@ -98,7 +98,7 @@ class View extends \Magento\Backend\Block\Widget\Form\Container 'label' => __('Send Email'), 'class' => 'send-email', 'onclick' => 'confirmSetLocation(\'' . __( - 'Are you sure you want to send an Invoice email to customer?' + 'Are you sure you want to send an invoice email to customer?' ) . '\', \'' . $this->getEmailUrl() . '\')' ] ); @@ -189,9 +189,9 @@ class View extends \Magento\Backend\Block\Widget\Form\Container public function getHeaderText() { if ($this->getInvoice()->getEmailSent()) { - $emailSent = __('the invoice email was sent'); + $emailSent = __('The invoice email was sent.'); } else { - $emailSent = __('the invoice email is not sent'); + $emailSent = __('The invoice email wasn\'t sent.'); } return __( 'Invoice #%1 | %2 | %4 (%3)', diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php index f99d6e2e6eaa936257690f3d33a8fab084822f3d..b27fa8fdb163cfb29290caecff90471bc088cf5b 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php @@ -107,7 +107,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic $fieldset->addField( 'visible_on_front', 'checkbox', - ['name' => 'visible_on_front', 'label' => __('Visible On Frontend'), 'value' => 1] + ['name' => 'visible_on_front', 'label' => __('Visible On Storefront'), 'value' => 1] ); $form->setAction($this->getUrl('sales/order_status/assignPost')); diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php index 4f1ce86eafb4f2aa1a0ae96b3cf238f0aa0e350c..b8ecb49e9a4f1f5cd204ed76b44f0f930d37da7b 100644 --- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php +++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php @@ -52,7 +52,7 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs if ($this->_coreRegistry->registry('order')) { return $this->_coreRegistry->registry('order'); } - throw new \Magento\Framework\Exception\LocalizedException(__('We cannot get the order instance.')); + throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t get the order instance right now.')); } /** diff --git a/app/code/Magento/Sales/Controller/AbstractController/Reorder.php b/app/code/Magento/Sales/Controller/AbstractController/Reorder.php index d2a5e2d42be54c0831b2c47fb201d948cb2d3811..bf86825d8b4739e20c19dd481efd5e03ec0e3ed8 100644 --- a/app/code/Magento/Sales/Controller/AbstractController/Reorder.php +++ b/app/code/Magento/Sales/Controller/AbstractController/Reorder.php @@ -65,7 +65,7 @@ abstract class Reorder extends Action\Action } return $resultRedirect->setPath('*/*/history'); } catch (\Exception $e) { - $this->messageManager->addException($e, __('We can\'t add this item to your cart right now.')); + $this->messageManager->addException($e, __('We can\'t add this item to your shopping cart right now.')); return $resultRedirect->setPath('checkout/cart'); } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/Email.php b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/Email.php index 34dc5bbb8af0e9882bf3cc447954b74272739f91..98a3b5200f70fdae06bee13288a077e8363c2fd6 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/Email.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/Email.php @@ -38,7 +38,7 @@ class Email extends \Magento\Backend\App\Action $this->_objectManager->create('Magento\Sales\Model\Order\CreditmemoNotifier') ->notify($creditmemo); - $this->messageManager->addSuccess(__('We sent the message.')); + $this->messageManager->addSuccess(__('You sent the message.')); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('sales/order_creditmemo/view', ['creditmemo_id' => $creditmemoId]); return $resultRedirect; diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice/Email.php b/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice/Email.php index 99e666227efba778c92577ae1523591edd420b5e..8436c8f1ceb3b036052d60d19891094bd9e8d1cc 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice/Email.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice/Email.php @@ -59,7 +59,7 @@ abstract class Email extends \Magento\Backend\App\Action $this->_objectManager->create('Magento\Sales\Model\Order\InvoiceNotifier') ->notify($invoice); - $this->messageManager->addSuccess(__('We sent the message.')); + $this->messageManager->addSuccess(__('You sent the message.')); return $this->resultRedirectFactory->create()->setPath( 'sales/invoice/view', ['order_id' => $invoice->getOrder()->getId(), 'invoice_id' => $invoiceId] diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order.php b/app/code/Magento/Sales/Controller/Adminhtml/Order.php index 4685341ddef97abe8fb366fb3eaa6c50dd351d30..0bf5c59a46e1c4b5b5fd50b90fc951e7059960a9 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order.php @@ -124,47 +124,10 @@ class Order extends \Magento\Backend\App\Action } /** - * Acl check for admin - * * @return bool - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ protected function _isAllowed() { - $action = strtolower($this->getRequest()->getActionName()); - switch ($action) { - case 'hold': - $aclResource = 'Magento_Sales::hold'; - break; - case 'unhold': - $aclResource = 'Magento_Sales::unhold'; - break; - case 'email': - $aclResource = 'Magento_Sales::email'; - break; - case 'cancel': - $aclResource = 'Magento_Sales::cancel'; - break; - case 'view': - $aclResource = 'Magento_Sales::actions_view'; - break; - case 'addcomment': - $aclResource = 'Magento_Sales::comment'; - break; - case 'creditmemos': - $aclResource = 'Magento_Sales::creditmemo'; - break; - case 'reviewpayment': - $aclResource = 'Magento_Sales::review_payment'; - break; - case 'address': - case 'addresssave': - $aclResource = 'Magento_Sales::actions_edit'; - break; - default: - $aclResource = 'Magento_Sales::sales_order'; - break; - } - return $this->_authorization->isAllowed($aclResource); + return $this->_authorization->isAllowed('Magento_Sales::sales_order'); } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php index c88e58bfe004ebb0278ba5883e0479eb953f6cf1..29729f850bb64f28e2975694d24893c6eb428f66 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php @@ -23,7 +23,7 @@ class AddComment extends \Magento\Sales\Controller\Adminhtml\Order try { $data = $this->getRequest()->getPost('history'); if (empty($data['comment']) && $data['status'] == $order->getDataByKey('status')) { - throw new \Magento\Framework\Exception\LocalizedException(__('Comment text cannot be empty.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Please enter a comment.')); } $notify = isset($data['is_customer_notified']) ? $data['is_customer_notified'] : false; @@ -57,4 +57,12 @@ class AddComment extends \Magento\Sales\Controller\Adminhtml\Order } return $this->resultRedirectFactory->create()->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::comment'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php index 0b5697e7c48df8dde275940d77a5f396f0f223e9..18fdf29cf80249ca881eee3e90267467492e7627 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php @@ -31,4 +31,12 @@ class Address extends \Magento\Sales\Controller\Adminhtml\Order return $this->resultRedirectFactory->create()->setPath('sales/*/'); } } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_edit'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php index 6e0b2251ced14346b0fdc6be79a76da4f440b21d..e3d15fd93cdd6765c1c3aa3739603db07ac23f95 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php @@ -28,11 +28,19 @@ class AddressSave extends \Magento\Sales\Controller\Adminhtml\Order } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addException($e, __('Something went wrong updating the order address.')); + $this->messageManager->addException($e, __('We can\'t update the order address right now.')); } return $resultRedirect->setPath('sales/*/address', ['address_id' => $address->getId()]); } else { return $resultRedirect->setPath('sales/*/'); } } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_edit'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php index 54b3294c89d0d9ee6b67b402a3857874e3d2e3e4..263edb51310c26e05ee7d0284f5e776df89ca6a8 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php @@ -31,4 +31,12 @@ class Cancel extends \Magento\Sales\Controller\Adminhtml\Order } return $resultRedirect->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::cancel'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/AddComment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/AddComment.php index 832aed45797e962b32264d1681ca979fee5cfe8c..a3cf6e6a308daa223a30d5eebc42634866858835 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/AddComment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/AddComment.php @@ -79,7 +79,7 @@ class AddComment extends \Magento\Backend\App\Action $data = $this->getRequest()->getPost('comment'); if (empty($data['comment'])) { throw new \Magento\Framework\Exception\LocalizedException( - __('The Comment Text field cannot be empty.') + __('Please enter a comment.') ); } $this->creditmemoLoader->setOrderId($this->getRequest()->getParam('order_id')); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/Save.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/Save.php index dbbd9dd55e33e64ae70286cadd0111f9a54d363b..b9eff656be6728ebb9c4cad5fe1905af2de73556 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/Save.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/Save.php @@ -77,7 +77,7 @@ class Save extends \Magento\Backend\App\Action if ($creditmemo) { if (!$creditmemo->isValidGrandTotal()) { throw new \Magento\Framework\Exception\LocalizedException( - __('Credit memo\'s total must be positive.') + __('The credit memo\'s total must be positive.') ); } @@ -138,7 +138,7 @@ class Save extends \Magento\Backend\App\Action $this->_getSession()->setFormData($data); } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $this->messageManager->addError(__('Cannot save the credit memo.')); + $this->messageManager->addError(__('We can\'t save the credit memo right now.')); } $resultRedirect->setPath('sales/*/new', ['_current' => true]); return $resultRedirect; diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/UpdateQty.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/UpdateQty.php index 1757fdfb80248f31624fc10e1207faddee02f27d..38068b10918bbcaf2fcf5fbeb1d9e808b059d7e8 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/UpdateQty.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/UpdateQty.php @@ -76,7 +76,7 @@ class UpdateQty extends \Magento\Backend\App\Action } catch (\Magento\Framework\Exception\LocalizedException $e) { $response = ['error' => true, 'message' => $e->getMessage()]; } catch (\Exception $e) { - $response = ['error' => true, 'message' => __('Cannot update the item\'s quantity.')]; + $response = ['error' => true, 'message' => __('We can\'t update the item\'s quantity right now.')]; } if (is_array($response)) { $resultJson = $this->resultJsonFactory->create(); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/CreditmemoLoader.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/CreditmemoLoader.php index 4468f01f7e68ce0a11579e15313013d6491dac8a..c40b1b99506b0bb9a98c0e356e299b60f9665434 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/CreditmemoLoader.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/CreditmemoLoader.php @@ -144,7 +144,7 @@ class CreditmemoLoader extends Object * Check creditmemo create availability */ if (!$order->canCreditmemo()) { - $this->messageManager->addError(__('Cannot create credit memo for the order.')); + $this->messageManager->addError(__('We can\'t create credit memo for the order.')); return false; } return true; diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php index 47634d33a81630d3a05cc467e1e8e7eecbd5f89c..46571b222f35c858a46f05b4f39f9abca3524cab 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php @@ -18,4 +18,12 @@ class Creditmemos extends \Magento\Sales\Controller\Adminhtml\Order $resultLayout = $this->resultLayoutFactory->create(); return $resultLayout; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::creditmemo'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php index e83f6436f4715e18fb3df663a5709f956ddf23a9..e2dce6e111b8e8f20ae63957db473560fffbfc6e 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php @@ -22,11 +22,19 @@ class Email extends \Magento\Sales\Controller\Adminhtml\Order } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addError(__('We couldn\'t send the email order.')); + $this->messageManager->addError(__('We can\'t send the email order right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } return $this->resultRedirectFactory->create()->setPath('sales/order/view', ['order_id' => $order->getId()]); } return $this->resultRedirectFactory->create()->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::email'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php index 3f295b391bd4f56ce4b1502114297d80727b7d53..58a54b87f0ed9820b4a98acbaa5ca16692118603 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php @@ -31,4 +31,12 @@ class Hold extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::hold'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/AddComment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/AddComment.php index 74011a35d81ec6170dfb86c740101e0db0e89736..2be526b212971230a0754cb3008333f23699c2ed 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/AddComment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/AddComment.php @@ -74,7 +74,7 @@ class AddComment extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInv $this->getRequest()->setParam('invoice_id', $this->getRequest()->getParam('id')); $data = $this->getRequest()->getPost('comment'); if (empty($data['comment'])) { - throw new LocalizedException(__('The Comment Text field cannot be empty.')); + throw new LocalizedException(__('Please enter a comment.')); } $invoice = $this->getInvoice(); if (!$invoice) { diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/NewAction.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/NewAction.php index f7db6d19da3c1cea5dc45817cf69a1972eac2bd6..b0a7f1ed4d2ad0a7f258f8ff483685d9aa1bcfe3 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/NewAction.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/NewAction.php @@ -89,7 +89,7 @@ class NewAction extends \Magento\Backend\App\Action if (!$invoice->getTotalQty()) { throw new \Magento\Framework\Exception\LocalizedException( - __('Cannot create an invoice without products.') + __('You can\'t create an invoice without products.') ); } $this->registry->register('current_invoice', $invoice); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Save.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Save.php index 3758ad060f0dcb4c6714cac12fa1ad9d41b7540e..a30fcb59b995ecf63884f5cb9b435aef624000c2 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Save.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Save.php @@ -134,12 +134,12 @@ class Save extends \Magento\Backend\App\Action ->prepareInvoice($invoiceItems); if (!$invoice) { - throw new LocalizedException(__('We can\'t save the invoice.')); + throw new LocalizedException(__('We can\'t save the invoice right now.')); } if (!$invoice->getTotalQty()) { throw new \Magento\Framework\Exception\LocalizedException( - __('Cannot create an invoice without products.') + __('You can\'t create an invoice without products.') ); } $this->registry->register('current_invoice', $invoice); @@ -199,7 +199,7 @@ class Save extends \Magento\Backend\App\Action } } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $this->messageManager->addError(__('We can\'t send the invoice email.')); + $this->messageManager->addError(__('We can\'t send the invoice email right now.')); } if ($shipment) { try { @@ -208,7 +208,7 @@ class Save extends \Magento\Backend\App\Action } } catch (\Exception $e) { $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); - $this->messageManager->addError(__('We can\'t send the shipment.')); + $this->messageManager->addError(__('We can\'t send the shipment right now.')); } } $this->_objectManager->get('Magento\Backend\Model\Session')->getCommentText(true); @@ -216,7 +216,7 @@ class Save extends \Magento\Backend\App\Action } catch (LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addError(__('We can\'t save the invoice.')); + $this->messageManager->addError(__('We can\'t save the invoice right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } return $resultRedirect->setPath('sales/*/new', ['order_id' => $orderId]); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/UpdateQty.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/UpdateQty.php index 38d563101cb4f39051ddca879370da9b8e9fe45b..85c51e0934339b4fc35b6921240cea8dd9fe84b2 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/UpdateQty.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/UpdateQty.php @@ -82,7 +82,7 @@ class UpdateQty extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvo if (!$invoice->getTotalQty()) { throw new \Magento\Framework\Exception\LocalizedException( - __('Cannot create an invoice without products.') + __('You can\'t create an invoice without products.') ); } $this->registry->register('current_invoice', $invoice); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php index 83c87cd3c45b44e424168b4fdee2a7a3dc171411..5373f40402736e30b617017e230aad9e391caba0 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php @@ -47,10 +47,18 @@ class ReviewPayment extends \Magento\Sales\Controller\Adminhtml\Order } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addError(__('We couldn\'t update the payment.')); + $this->messageManager->addError(__('We can\'t update the payment right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } $resultRedirect->setPath('sales/order/view', ['order_id' => $order->getId()]); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::review_payment'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/AssignPost.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/AssignPost.php index 43cc5fd46cde3c18591b704602143a9c55cf167a..a77c6dc3cc642e6429785b8303ae4da801015f7b 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/AssignPost.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/AssignPost.php @@ -26,14 +26,14 @@ class AssignPost extends \Magento\Sales\Controller\Adminhtml\Order\Status if ($status && $status->getStatus()) { try { $status->assignState($state, $isDefault, $visibleOnFront); - $this->messageManager->addSuccess(__('You have assigned the order status.')); + $this->messageManager->addSuccess(__('You assigned the order status.')); return $resultRedirect->setPath('sales/*/'); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addException( $e, - __('An error occurred while assigning order status. Status has not been assigned.') + __('Something went wrong while assigning the order status.') ); } } else { diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Save.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Save.php index 65535942a16d6e35ff98957769fc6361589e4169..efd73d7a2b34ee9a655b618aebef0e5928b65e88 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Save.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Save.php @@ -45,14 +45,14 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Status try { $status->save(); - $this->messageManager->addSuccess(__('You have saved the order status.')); + $this->messageManager->addSuccess(__('You saved the order status.')); return $resultRedirect->setPath('sales/*/'); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addException( $e, - __('We couldn\'t add your order status because something went wrong saving.') + __('We can\'t add the order status right now.') ); } $this->_getSession()->setFormData($data); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Unassign.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Unassign.php index 6debca9cf31421407735213157c0d72761719f5e..e44b4f5e48eef040ded0a53c5a8ca9cfb6714d48 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Unassign.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status/Unassign.php @@ -24,7 +24,7 @@ class Unassign extends \Magento\Sales\Controller\Adminhtml\Order\Status } catch (\Exception $e) { $this->messageManager->addException( $e, - __('Something went wrong while we were unassigning the order.') + __('Something went wrong while unassigning the order.') ); } } else { diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php index 6ea9cd78e3bb6d341d785e7238450ccd3a636901..c57f4ca425146c72d93c3bc4741d6bf335cba1de 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php @@ -31,4 +31,12 @@ class Unhold extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::unhold'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php index 2242f7a6360b94bf22af7faba152f06e86f7d941..e4881766b1b0489afe81dd7329921dbe6b14976c 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php @@ -34,4 +34,12 @@ class View extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_view'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage/Save.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage/Save.php index 7e11a8481050ac95f6b294cca13b8c1d0c13eb3e..554935ed551ad55f72de3086fc220ab0a28f4a31 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage/Save.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage/Save.php @@ -26,7 +26,7 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\View\Giftmessage if ($this->getRequest()->getParam('type') == 'order_item') { $this->getResponse()->setBody($this->_getGiftmessageSaveModel()->getSaved() ? 'YES' : 'NO'); } else { - $this->getResponse()->setBody(__('The gift message has been saved.')); + $this->getResponse()->setBody(__('You saved the gift card message.')); } } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/VoidPayment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/VoidPayment.php index 86b1af24af06abf893292c440ee13c48facaa9a3..f3c2f2cee9d289f2b6392ac250a94dd78b4f6f75 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/VoidPayment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/VoidPayment.php @@ -24,7 +24,7 @@ class VoidPayment extends \Magento\Sales\Controller\Adminhtml\Order } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { - $this->messageManager->addError(__('We couldn\'t void the payment.')); + $this->messageManager->addError(__('We can\'t void the payment right now.')); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } $resultRedirect->setPath('sales/*/view', ['order_id' => $order->getId()]); diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php index 49b910be6a862ff0379be9adf7b365ba3babd40f..f3d31df87ac4b83298162ba337a60af65723285a 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php @@ -86,13 +86,6 @@ class Transactions extends \Magento\Backend\App\Action */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'fetch': - return $this->_authorization->isAllowed('Magento_Sales::transactions_fetch'); - break; - default: - return $this->_authorization->isAllowed('Magento_Sales::transactions'); - break; - } + return $this->_authorization->isAllowed('Magento_Sales::transactions'); } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php b/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php index 2afac87db489d6ab464ecf2bc1dfe291818d9899..6b2af6cc1dd5f22ccbecc355f71ccff08dde7957 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php @@ -38,4 +38,12 @@ class Fetch extends \Magento\Sales\Controller\Adminhtml\Transactions return $resultRedirect->setPath('sales/transactions/view', ['_current' => true]); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::transactions_fetch'); + } } diff --git a/app/code/Magento/Sales/Model/AdminOrder/Create.php b/app/code/Magento/Sales/Model/AdminOrder/Create.php index a661297a73aefa24fba9311093533cb2f8671bd0..ff8126c334213faa7f7c680ae86510558e3cddd9 100644 --- a/app/code/Magento/Sales/Model/AdminOrder/Create.php +++ b/app/code/Magento/Sales/Model/AdminOrder/Create.php @@ -819,7 +819,7 @@ class Create extends \Magento\Framework\Object implements \Magento\Checkout\Mode } if (!$wishlist) { throw new \Magento\Framework\Exception\LocalizedException( - __('We couldn\'t find this wish list.') + __('We can\'t find this wish list.') ); } $wishlist->setStore( @@ -1891,7 +1891,7 @@ class Create extends \Magento\Framework\Object implements \Magento\Checkout\Mode $items = $this->getQuote()->getAllItems(); if (count($items) == 0) { - $this->_errors[] = __('You need to specify order items.'); + $this->_errors[] = __('Please specify order items.'); } foreach ($items as $item) { @@ -1903,12 +1903,12 @@ class Create extends \Magento\Framework\Object implements \Magento\Checkout\Mode if (!$this->getQuote()->isVirtual()) { if (!$this->getQuote()->getShippingAddress()->getShippingMethod()) { - $this->_errors[] = __('You need to specify a shipping method.'); + $this->_errors[] = __('Please specify a shipping method.'); } } if (!$this->getQuote()->getPayment()->getMethod()) { - $this->_errors[] = __('A payment method must be specified.'); + $this->_errors[] = __('Please specify a payment method.'); } else { $method = $this->getQuote()->getPayment()->getMethodInstance(); if (!$method->isAvailable($this->getQuote())) { diff --git a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php index 17b73b17d60901aee38a946b98cb744c8ad8e86c..5d7a2efedd93f35bca87d852441edc3c1ac5e07a 100644 --- a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php +++ b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php @@ -892,7 +892,7 @@ class Transaction extends AbstractModel implements TransactionInterface protected function _verifyTxnId($txnId) { if (null !== $txnId && 0 == strlen($txnId)) { - throw new \Magento\Framework\Exception\LocalizedException(__('The Transaction ID field cannot be empty.')); + throw new \Magento\Framework\Exception\LocalizedException(__('Please enter a Transaction ID.')); } } diff --git a/app/code/Magento/Sales/Model/Order/Shipment/Item.php b/app/code/Magento/Sales/Model/Order/Shipment/Item.php index 6197a179feb81a05999a6df5b642f418a00523fd..381f7e5907bb5d4282a6b66ae2b35565bec3072f 100644 --- a/app/code/Magento/Sales/Model/Order/Shipment/Item.php +++ b/app/code/Magento/Sales/Model/Order/Shipment/Item.php @@ -164,7 +164,7 @@ class Item extends AbstractModel implements ShipmentItemInterface $this->setData('qty', $qty); } else { throw new \Magento\Framework\Exception\LocalizedException( - __('We found an invalid qty to ship for item "%1".', $this->getName()) + __('We found an invalid quantity to ship for item "%1".', $this->getName()) ); } return $this; diff --git a/app/code/Magento/Sales/Model/Resource/Order/Address.php b/app/code/Magento/Sales/Model/Resource/Order/Address.php index a8b2b3ca7376dc6599a232b91bae14dd57983ded..878bfdf6a8ad9fd6bbf30f71642c3f6fe8bf64d1 100644 --- a/app/code/Magento/Sales/Model/Resource/Order/Address.php +++ b/app/code/Magento/Sales/Model/Resource/Order/Address.php @@ -117,7 +117,7 @@ class Address extends SalesResource implements OrderAddressResourceInterface $warnings = $this->_validator->validate($object); if (!empty($warnings)) { throw new \Magento\Framework\Exception\LocalizedException( - __("Cannot save address:\n%1", implode("\n", $warnings)) + __("We can't save the address:\n%1", implode("\n", $warnings)) ); } return $this; diff --git a/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Status/Assign/FormTest.php b/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Status/Assign/FormTest.php index 9e1a5575328545c320f08775d6aed8c5f09524aa..b2f1555a3fc64da966fa6c8e03ac0d45f8586408 100644 --- a/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Status/Assign/FormTest.php +++ b/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Status/Assign/FormTest.php @@ -127,7 +127,7 @@ class FormTest extends \PHPUnit_Framework_TestCase ->with( 'visible_on_front', 'checkbox', - ['name' => 'visible_on_front', 'label' => __('Visible On Frontend'), 'value' => 1] + ['name' => 'visible_on_front', 'label' => __('Visible On Storefront'), 'value' => 1] ); $this->block->toHtml(); diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/EmailTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/EmailTest.php index bd9b80e880eb13d134d4d1ec7922aa1315a2e3ba..09554226bc356d95bf114b60a8b62b86dfe12441 100644 --- a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/EmailTest.php +++ b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Creditmemo/AbstractCreditmemo/EmailTest.php @@ -171,7 +171,7 @@ class EmailTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue(true)); $this->messageManager->expects($this->once()) ->method('addSuccess') - ->with('We sent the message.'); + ->with('You sent the message.'); $this->assertInstanceOf( 'Magento\Backend\Model\View\Result\Redirect', diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Invoice/AbstractInvoice/EmailTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Invoice/AbstractInvoice/EmailTest.php index 8493e58d858c62477f45677564d12397a25d2bf6..994cfca6db43260fcead0700b746a06485ba2bbd 100644 --- a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Invoice/AbstractInvoice/EmailTest.php +++ b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Invoice/AbstractInvoice/EmailTest.php @@ -182,7 +182,7 @@ class EmailTest extends \PHPUnit_Framework_TestCase ->willReturn(true); $this->messageManager->expects($this->once()) ->method('addSuccess') - ->with('We sent the message.'); + ->with('You sent the message.'); $this->resultRedirectFactory->expects($this->atLeastOnce()) ->method('create') diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/AddCommentTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/AddCommentTest.php index b7b8759dfc4016b42702cb84f7e7c5b7ed76bbba..b96f2254501abc8b280e52b4626abdd7c29d2478 100755 --- a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/AddCommentTest.php +++ b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/AddCommentTest.php @@ -212,7 +212,7 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase */ public function testExecuteNoComment() { - $message = 'The Comment Text field cannot be empty.'; + $message = 'Please enter a comment.'; $response = ['error' => true, 'message' => $message]; $data = []; diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/SaveTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/SaveTest.php index f834d01d208d5b7cfd885a92298e10018537d7aa..5549ee7f193ce5a5515571bff33de979e0afba47 100644 --- a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/SaveTest.php +++ b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/SaveTest.php @@ -235,7 +235,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase ->with('sales/*/new', ['_current' => true]) ->willReturnSelf(); - $this->_setSaveActionExpectationForMageCoreException($data, 'Credit memo\'s total must be positive.'); + $this->_setSaveActionExpectationForMageCoreException($data, 'The credit memo\'s total must be positive.'); $this->_controller->execute(); } diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/UpdateQtyTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/UpdateQtyTest.php index 7b6c366e5eceaa2e21cdb8ab146ffe1ac547a752..9e02c98b1c374df8f7263bfcf33733073e86d5d4 100644 --- a/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/UpdateQtyTest.php +++ b/app/code/Magento/Sales/Test/Unit/Controller/Adminhtml/Order/Creditmemo/UpdateQtyTest.php @@ -232,7 +232,7 @@ class UpdateQtyTest extends \PHPUnit_Framework_TestCase */ public function testExecuteException() { - $message = 'Cannot update the item\'s quantity.'; + $message = 'We can\'t update the item\'s quantity right now.'; $e = new \Exception($message); $response = ['error' => true, 'message' => $message]; diff --git a/app/code/Magento/Sales/Test/Unit/Model/Resource/Order/AddressTest.php b/app/code/Magento/Sales/Test/Unit/Model/Resource/Order/AddressTest.php index 92b3222098a503419e18d1978c44f998fb18c0e7..85d167520a3bbdff1809a69a82a284f79c76be32 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/Resource/Order/AddressTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/Resource/Order/AddressTest.php @@ -157,7 +157,7 @@ class AddressTest extends \PHPUnit_Framework_TestCase * test _beforeSaveMethod via save() with failed validation * * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Cannot save address: + * @expectedExceptionMessage We can't save the address: */ public function testSaveValidationFailed() { diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_grid_block.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_grid_block.xml index 50b483c1a82fd630732a79afb142cdefd02eeb35..2af914b40b22887d228c861397006dbd56db7606 100644 --- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_grid_block.xml +++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_grid_block.xml @@ -111,7 +111,7 @@ </block> <block class="Magento\Backend\Block\Widget\Grid\Column" as="created_at"> <arguments> - <argument name="header" xsi:type="string" translate="true">Purchase Date</argument> + <argument name="header" xsi:type="string" translate="true">Purchased</argument> <argument name="type" xsi:type="string">datetime</argument> <argument name="index" xsi:type="string">created_at</argument> <argument name="id" xsi:type="string">created_at</argument> diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_status_index.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_status_index.xml index 1403dd3158457039d2973319fd99482aca0140a9..5ea17f70a37f38060af91b969fd31ae1e24045da 100644 --- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_status_index.xml +++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_status_index.xml @@ -64,7 +64,7 @@ </block> <block class="Magento\Backend\Block\Widget\Grid\Column" as="visible_on_front"> <arguments> - <argument name="header" xsi:type="string" translate="true">Visible On Frontend</argument> + <argument name="header" xsi:type="string" translate="true">Visible On Storefront</argument> <argument name="index" xsi:type="string">visible_on_front</argument> <argument name="type" xsi:type="string">options</argument> <argument name="sortable" xsi:type="string">0</argument> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/comments/view.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/comments/view.phtml index a1e1c4b2ee36a09e902aadd08da68508e04d6c94..1d3eb30bd03bde66ae475b0d70cd8ff99353bf5d 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/comments/view.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/comments/view.phtml @@ -41,7 +41,7 @@ class="admin__control-checkbox" value="1" /> <label class="admin__field-label" - for="history_visible"> <?php echo __('Visible on Frontend') ?></label> + for="history_visible"> <?php echo __('Visible on Storefront') ?></label> </div> </div> <div class="order-history-comments-actions"> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/create/giftmessage.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/create/giftmessage.phtml index f06c41f3340a2c7714ccf8fabdd08cf6d59b5b84..bc1ee98518a0db17d968e6786ac1b3e3b2754438 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/create/giftmessage.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/create/giftmessage.phtml @@ -14,7 +14,7 @@ <legend class="admin__legend"><span><?php echo __('Gift Message for the Entire Order') ?></span></legend> <br> <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->isMessagesAllowed('main', $block->getQuote(), $block->getStoreId())): ?> - <p><?php echo __('If you don\'t want to leave a gift message for the entire order, leave this box blank.') ?></p> + <p><?php echo __('Leave this box blank if you don\'t want to leave a gift message for the entire order.') ?></p> <?php echo $block->getFormHtml($block->getQuote(), 'main') ?> <?php endif; ?> </fieldset> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/create/items/grid.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/create/items/grid.phtml index 6096ab772d288d0529dd3cd844cb3027a62882b7..35000ce39f11291d6cb9cd86e705c21b053bc0c4 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/create/items/grid.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/create/items/grid.phtml @@ -41,7 +41,7 @@ <div class="admin__table-wrapper" id="order-items_grid"> <?php if (count($_items)>10): ?> <div class="actions update actions-update"> - <?php echo $block->getButtonHtml(__('Update Items and Qty\'s'), 'order.itemsUpdate()', 'action-secondary'); ?> + <?php echo $block->getButtonHtml(__('Update Items and Quantities'), 'order.itemsUpdate()', 'action-secondary'); ?> </div> <?php endif; ?> <table class="data-table admin__table-primary order-tables"> @@ -199,7 +199,7 @@ </div> <div class="order-discounts"> - <?php echo $block->getButtonHtml(__('Update Items and Qty\'s'), 'order.itemsUpdate()', 'action-secondary'); ?> + <?php echo $block->getButtonHtml(__('Update Items and Quantities'), 'order.itemsUpdate()', 'action-secondary'); ?> <div id="order-coupons" class="order-coupons"><?php echo $block->getChildHtml();?></div> </div> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/creditmemo/view/form.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/creditmemo/view/form.phtml index ee8ec752df51752961a3b64a2bf415a4a3174ccb..8302837baefff21efc422094fafda910dd3b5c42 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/creditmemo/view/form.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/creditmemo/view/form.phtml @@ -25,7 +25,7 @@ <span class="title"><?php echo __('Payment Information') ?></span> </div> <div class="admin__page-section-item-content"> - <div><?php echo $block->getChildHtml('order_payment') ?></div> + <div class="order-payment-method-title"><?php echo $block->getChildHtml('order_payment') ?></div> <div class="order-payment-currency"><?php echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div> <div class="order-payment-additional"><?php echo $block->getChildHtml('order_payment_additional'); ?></div> </div> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/create/form.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/create/form.phtml index b0319ea9791f7b35afe27d1e647e6e9859448e03..4eb4ec12f19553a9e850206050c7a07a5a311169 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/create/form.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/create/form.phtml @@ -22,7 +22,7 @@ <span class="title"><?php echo __('Payment Information') ?></span> </div> <div class="admin__page-section-item-content"> - <div><?php echo $block->getChildHtml('order_payment') ?></div> + <div class="order-payment-method-title"><?php echo $block->getChildHtml('order_payment') ?></div> <div class="order-payment-currency"><?php echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div> <div class="order-payment-additional"><?php echo $block->getChildHtml('order_payment_additional'); ?></div> </div> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/view/form.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/view/form.phtml index cd625596b541da95d9d24de7069c0d33c71117af..e5a1f0617a49caf66492076cb2369e6462fa0cdb 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/view/form.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/invoice/view/form.phtml @@ -22,7 +22,7 @@ <span class="title"><?php echo __('Payment Information') ?></span> </div> <div class="admin__page-section-item-content"> - <div><?php echo $block->getChildHtml('order_payment') ?></div> + <div class="order-payment-method-title"><?php echo $block->getChildHtml('order_payment') ?></div> <div class="order-payment-currency"> <?php echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?> </div> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/view/history.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/view/history.phtml index 0a681e6c628072913217cac9985b7834f011a997..17d163c1f7d842c7fd977ea8b0a36aa23be8cef0 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/view/history.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/view/history.phtml @@ -57,7 +57,7 @@ class="admin__control-checkbox" value="1" /> <label class="admin__field-label" for="history_visible"> - <?php echo __('Visible on Frontend') ?> + <?php echo __('Visible on Storefront') ?> </label> </div> </div> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/view/info.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/view/info.phtml index f27dc9bd4345606b0c2f0bb364cc94ffe57d1fba..c7881ea98ced18b9f7c81f82781cb773a442bb21 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/view/info.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/view/info.phtml @@ -30,9 +30,9 @@ $orderStoreDate = $block->formatDate( <div class="admin__page-section-item order-information"> <?php /* Order Information */?> <?php if ($_order->getEmailSent()): - $_email = __('the order confirmation email was sent'); + $_email = __('The order confirmation email was sent'); else: - $_email = __('the order confirmation email is not sent'); + $_email = __('The order confirmation email is not sent'); endif; ?> <div class="admin__page-section-item-title"> <span class="title"> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/view/tab/info.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/view/tab/info.phtml index b315a0053976c6dac80fba6dcb579ee1782cea58..3a8b3cf29d08482c4f2568b89b482292ffbdab41 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/view/tab/info.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/view/tab/info.phtml @@ -28,7 +28,7 @@ <span class="title"><?php echo __('Payment Information') ?></span> </div> <div class="admin__page-section-item-content"> - <div><?php echo $block->getPaymentHtml() ?></div> + <div class="order-payment-method-title"><?php echo $block->getPaymentHtml() ?></div> <div class="order-payment-currency"><?php echo __('The order was placed using %1.', $_order->getOrderCurrencyCode()) ?></div> <div class="order-payment-additional"><?php echo $block->getChildHtml('order_payment_additional'); ?></div> </div> diff --git a/app/code/Magento/Sales/view/frontend/templates/guest/form.phtml b/app/code/Magento/Sales/view/frontend/templates/guest/form.phtml index 89089385f0ebf4c56e8300766039bd96dfc572f3..ca1ec172f8e8e706988e1fbfc5fe08a5cb66aca3 100644 --- a/app/code/Magento/Sales/view/frontend/templates/guest/form.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/guest/form.phtml @@ -30,7 +30,7 @@ </div> </div> <div class="field find required"> - <label class="label" for="quick-search-type-id"><span><?php echo __('Find Order By:') ?></span></label> + <label class="label" for="quick-search-type-id"><span><?php echo __('Find Order By') ?></span></label> <div class="control"> <select name="oar_type" id="quick-search-type-id" class="select"> diff --git a/app/code/Magento/Sales/view/frontend/templates/widget/guest/form.phtml b/app/code/Magento/Sales/view/frontend/templates/widget/guest/form.phtml index 81f64f5f7cc3866871bb2420c4f96a3b4f64e670..113b1ad7495b980010afcc77cafdddf8096b24cb 100644 --- a/app/code/Magento/Sales/view/frontend/templates/widget/guest/form.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/widget/guest/form.phtml @@ -18,7 +18,7 @@ class="form form-orders-search" name="guest_post"> <fieldset class="fieldset"> <div class="field find required"> - <label class="label"><span><?php echo __('Find Order By:') ?></span></label> + <label class="label"><span><?php echo __('Find Order By') ?></span></label> <div class="control"> <select name="oar_type" id="quick-search-type-id" class="select" title=""> diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php index af3849077c641af7581b7eff7b89e99b74092605..f1ef4bd6c05f05c0c3ab1ed5456e2541df91c48b 100644 --- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php +++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php @@ -97,7 +97,7 @@ class Actions extends \Magento\Backend\Block\Widget\Form\Generic implements $fieldset = $form->addFieldset( 'action_fieldset', - ['legend' => __('Update prices using the following information')] + ['legend' => __('Pricing Structure Rules')] ); $fieldset->addField( @@ -154,8 +154,8 @@ class Actions extends \Magento\Backend\Block\Widget\Form\Generic implements 'stop_rules_processing', 'select', [ - 'label' => __('Stop Further Rules Processing'), - 'title' => __('Stop Further Rules Processing'), + 'label' => __('Subsequent rules'), + 'title' => __('Subsequent rules'), 'name' => 'stop_rules_processing', 'options' => ['1' => __('Yes'), '0' => __('No')] ] diff --git a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Delete.php b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Delete.php index 36e384e4a706a08ed7e0a92ee44f97ba8e8f9792..c88dc7494f89512455ea539b75416905965b9f03 100644 --- a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Delete.php +++ b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Delete.php @@ -21,7 +21,7 @@ class Delete extends \Magento\SalesRule\Controller\Adminhtml\Promo\Quote $model = $this->_objectManager->create('Magento\SalesRule\Model\Rule'); $model->load($id); $model->delete(); - $this->messageManager->addSuccess(__('The rule has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the rule.')); $this->_redirect('sales_rule/*/'); return; } catch (\Magento\Framework\Exception\LocalizedException $e) { diff --git a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Save.php b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Save.php index 6a507241d595b4492eeb251c415bc3519a59e60f..055668dc165c6ce2df14ae78057ff674edf8352c 100644 --- a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Save.php +++ b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/Save.php @@ -75,7 +75,7 @@ class Save extends \Magento\SalesRule\Controller\Adminhtml\Promo\Quote $session->setPageData($model->getData()); $model->save(); - $this->messageManager->addSuccess(__('The rule has been saved.')); + $this->messageManager->addSuccess(__('You saved the rule.')); $session->setPageData(false); if ($this->getRequest()->getParam('back')) { $this->_redirect('sales_rule/*/edit', ['id' => $model->getId()]); @@ -94,7 +94,7 @@ class Save extends \Magento\SalesRule\Controller\Adminhtml\Promo\Quote return; } catch (\Exception $e) { $this->messageManager->addError( - __('An error occurred while saving the rule data. Please review the log and try again.') + __('Something went wrong while saving the rule data. Please review the error log.') ); $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); $this->_objectManager->get('Magento\Backend\Model\Session')->setPageData($data); diff --git a/app/code/Magento/Search/Controller/Adminhtml/Term/MassDelete.php b/app/code/Magento/Search/Controller/Adminhtml/Term/MassDelete.php index f704e4a7144af1185dd2fffbd3aea7f02a42cb73..97586e38d644edf87d37faccf0a3ba3054f29120 100644 --- a/app/code/Magento/Search/Controller/Adminhtml/Term/MassDelete.php +++ b/app/code/Magento/Search/Controller/Adminhtml/Term/MassDelete.php @@ -24,7 +24,7 @@ class MassDelete extends TermController $model = $this->_objectManager->create('Magento\Search\Model\Query')->load($searchId); $model->delete(); } - $this->messageManager->addSuccess(__('Total of %1 record(s) were deleted', count($searchIds))); + $this->messageManager->addSuccess(__('Total of %1 record(s) were deleted.', count($searchIds))); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); } diff --git a/app/code/Magento/Search/Helper/Data.php b/app/code/Magento/Search/Helper/Data.php index f6016324d5d3fd88241436ed50976a367b5abb91..97438fcd7d140265641f5756fb66fc91785e116d 100644 --- a/app/code/Magento/Search/Helper/Data.php +++ b/app/code/Magento/Search/Helper/Data.php @@ -236,7 +236,7 @@ class Data extends AbstractHelper if ($this->_queryFactory->get()->isQueryTextExceeded()) { $this->addNoteMessage( __( - 'Your search query can\'t be longer than %1, so we had to shorten your query.', + 'Your search query can\'t be longer than %1, so we shortened your query.', $this->getMaxQueryLength() ) ); diff --git a/app/code/Magento/SendFriend/view/frontend/templates/send.phtml b/app/code/Magento/SendFriend/view/frontend/templates/send.phtml index c4810f6c833e6a9d4d01f8d2c6322262d0fc2d14..8f44dc56e2099a6525f1057799fc4a86e66fdc9d 100644 --- a/app/code/Magento/SendFriend/view/frontend/templates/send.phtml +++ b/app/code/Magento/SendFriend/view/frontend/templates/send.phtml @@ -88,7 +88,7 @@ <fieldset class="fieldset recipients"> <?php echo $block->getBlockHtml('formkey')?> - <legend class="legend"><span><?php echo __('Recipient') ?></span></legend> + <legend class="legend"><span><?php echo __('Invitee') ?></span></legend> <br /> <div id="recipients-options"></div> <?php if ($block->getMaxRecipients()): ?> @@ -100,7 +100,7 @@ <div class="secondary"> <?php if (1 < $block->getMaxRecipients()): ?> <button type="button" id="add-recipient-button" class="action add"> - <span><?php echo __('Add Recipient') ?></span></button> + <span><?php echo __('Add Invitee') ?></span></button> <?php endif; ?> </div> </div> diff --git a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php index c1fdc5ecd880d668a722046d05c0a3075e2b4540..fb24a2a32580e881bef427175c7c948206ddc323 100644 --- a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php +++ b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php @@ -65,7 +65,7 @@ class AddComment extends \Magento\Backend\App\Action $data = $this->getRequest()->getPost('comment'); if (empty($data['comment'])) { throw new \Magento\Framework\Exception\LocalizedException( - __("The comment text field cannot be empty.") + __('Please enter a comment.') ); } $this->shipmentLoader->setOrderId($this->getRequest()->getParam('order_id')); diff --git a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddTrack.php b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddTrack.php index af29bd59f8ae60de07f5affa07243414d4e6f3cf..ea5ab1d967769b557067550cd147bfe5fd561cd8 100644 --- a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddTrack.php +++ b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddTrack.php @@ -76,7 +76,7 @@ class AddTrack extends \Magento\Backend\App\Action } else { $response = [ 'error' => true, - 'message' => __('Cannot initialize shipment for adding tracking number.'), + 'message' => __('We can\'t initialize shipment for adding tracking number.'), ]; } } catch (\Magento\Framework\Exception\LocalizedException $e) { diff --git a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/RemoveTrack.php b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/RemoveTrack.php index 2e22b97509a9c333142ab3bfbfc7220fe73af1cd..4b85739acc03de48fe10caf60f894ee4621617df 100644 --- a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/RemoveTrack.php +++ b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/RemoveTrack.php @@ -61,14 +61,17 @@ class RemoveTrack extends \Magento\Backend\App\Action } else { $response = [ 'error' => true, - 'message' => __('Cannot initialize shipment for delete tracking number.'), + 'message' => __('We can\'t initialize shipment for delete tracking number.'), ]; } } catch (\Exception $e) { - $response = ['error' => true, 'message' => __('Cannot delete tracking number.')]; + $response = ['error' => true, 'message' => __('We can\'t delete tracking number.')]; } } else { - $response = ['error' => true, 'message' => __('Cannot load track with retrieving identifier.')]; + $response = [ + 'error' => true, + 'message' => __('We can\'t load track with retrieving identifier right now.') + ]; } if (is_array($response)) { $response = $this->_objectManager->get('Magento\Framework\Json\Helper\Data')->jsonEncode($response); diff --git a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/RemoveTrackTest.php b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/RemoveTrackTest.php index 3e05141a08b74a9d8b3981be1239f0fcad9e1b64..bb0b1d21202a46c0a6a326e4c83e6893090460a5 100644 --- a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/RemoveTrackTest.php +++ b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/RemoveTrackTest.php @@ -264,7 +264,7 @@ class RemoveTrackTest extends \PHPUnit_Framework_TestCase public function testExecuteTrackIdFail() { $trackId = null; - $errors = ['error' => true, 'message' => 'Cannot load track with retrieving identifier.']; + $errors = ['error' => true, 'message' => 'We can\'t load track with retrieving identifier right now.']; $this->shipmentTrackMock->expects($this->once()) ->method('load') @@ -285,7 +285,7 @@ class RemoveTrackTest extends \PHPUnit_Framework_TestCase { $errors = [ 'error' => true, - 'message' => 'Cannot initialize shipment for delete tracking number.', + 'message' => 'We can\'t initialize shipment for delete tracking number.', ]; $this->shipmentLoad(); @@ -302,7 +302,7 @@ class RemoveTrackTest extends \PHPUnit_Framework_TestCase */ public function testExecuteDeleteFail() { - $errors = ['error' => true, 'message' => 'Cannot delete tracking number.']; + $errors = ['error' => true, 'message' => 'We can\'t delete tracking number.']; $this->shipmentLoad(); $this->shipmentLoaderMock->expects($this->once()) diff --git a/app/code/Magento/Store/etc/di.xml b/app/code/Magento/Store/etc/di.xml index 320253c316b88638328936cb3b273f3972a2ec22..c47f73ec9012bd91e4218009b662d754d6905645 100644 --- a/app/code/Magento/Store/etc/di.xml +++ b/app/code/Magento/Store/etc/di.xml @@ -9,6 +9,14 @@ <preference for="Magento\Framework\App\Request\PathInfoProcessorInterface" type="Magento\Store\App\Request\PathInfoProcessor" /> <preference for="Magento\Store\Model\StoreManagerInterface" type="Magento\Store\Model\StoreManager" /> <preference for="Magento\Framework\App\Response\RedirectInterface" type="Magento\Store\App\Response\Redirect" /> + <type name="Magento\Framework\App\Response\Http"> + <plugin name="xFrameOptionsHeader" type="Magento\Framework\App\Response\XFrameOptPlugin"/> + </type> + <type name="Magento\Framework\App\Response\XFrameOptPlugin"> + <arguments> + <argument name="xFrameOpt" xsi:type="init_parameter">Magento\Framework\App\Response\XFrameOptPlugin::DEPLOYMENT_CONFIG_X_FRAME_OPT</argument> + </arguments> + </type> <type name="Magento\Framework\App\Config\ScopePool"> <arguments> <argument name="readerPool" xsi:type="object">Magento\Store\Model\Config\Reader\ReaderPool\Proxy</argument> diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php index ba316fd6f734908c6cbd8f1d3cc6c444fa6c6c4c..3a09ea4b4744c31230e5ab2818f8ff0d678f9a28 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php @@ -32,18 +32,6 @@ class Rate extends \Magento\Backend\App\Action */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'importExport': - return $this->_authorization->isAllowed('Magento_TaxImportExport::import_export'); - case 'importPost': - case 'exportPost': - return $this->_authorization->isAllowed( - 'Magento_Tax::manage_tax' - ) || $this->_authorization->isAllowed( - 'Magento_TaxImportExport::import_export' - ); - default: - return $this->_authorization->isAllowed('Magento_Tax::manage_tax'); - } + return $this->_authorization->isAllowed('Magento_Tax::manage_tax'); } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php index 1d5685802882b5ed3703222f7318511712493605..92e825650f804d4b0475e193b89b0d44cf66205e 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php @@ -83,4 +83,17 @@ class ExportPost extends \Magento\TaxImportExport\Controller\Adminhtml\Rate } return $this->fileFactory->create('tax_rates.csv', $content, DirectoryList::VAR_DIR); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed( + 'Magento_Tax::manage_tax' + ) || $this->_authorization->isAllowed( + 'Magento_TaxImportExport::import_export' + ); + + } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php index 5ba0b3e87da0e7727e89aa3747d34916e2d0123a..b37520a99f870106a31e6e6ee93b7e1ae9f82345 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php @@ -30,4 +30,12 @@ class ImportExport extends \Magento\TaxImportExport\Controller\Adminhtml\Rate $resultPage->getConfig()->getTitle()->prepend(__('Import and Export Tax Rates')); return $resultPage; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_TaxImportExport::import_export'); + } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php index 663a0183b1e86cba8e888c9a9b194e24e99c9519..eb5efff3d5e9be912e0d5f50129187dec9646ba2 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php @@ -36,4 +36,17 @@ class ImportPost extends \Magento\TaxImportExport\Controller\Adminhtml\Rate $resultRedirect->setUrl($this->_redirect->getRedirectUrl()); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed( + 'Magento_Tax::manage_tax' + ) || $this->_authorization->isAllowed( + 'Magento_TaxImportExport::import_export' + ); + + } } diff --git a/app/code/Magento/Theme/Console/Command/ThemeUninstallCommand.php b/app/code/Magento/Theme/Console/Command/ThemeUninstallCommand.php index 2f62bc394b3b3e7ccdd0926c90b84843a7e958c9..b2af6f7e45f13904192371fe3404fa5a4684e705 100644 --- a/app/code/Magento/Theme/Console/Command/ThemeUninstallCommand.php +++ b/app/code/Magento/Theme/Console/Command/ThemeUninstallCommand.php @@ -194,25 +194,24 @@ class ThemeUninstallCommand extends Command */ protected function execute(InputInterface $input, OutputInterface $output) { + $messages = []; $themePaths = $input->getArgument(self::INPUT_KEY_THEMES); - $validationMessages = $this->validate($themePaths); - if (!empty($validationMessages)) { - $output->writeln($validationMessages); - return; - } - $isThemeInUseMessages = $this->themeValidator->validateIsThemeInUse($themePaths); - if (!empty($isThemeInUseMessages)) { - $output->writeln($isThemeInUseMessages); - return; - } - $childThemeCheckMessages = $this->checkChildTheme($themePaths); - if (!empty($childThemeCheckMessages)) { - $output->writeln($childThemeCheckMessages); + $messages = array_merge($messages, $this->validate($themePaths)); + if (!empty($messages)) { + $output->writeln($messages); return; } - $dependencyMessages = $this->checkDependencies($themePaths); - if (!empty($dependencyMessages)) { - $output->writeln($dependencyMessages); + $messages = array_merge( + $messages, + $this->themeValidator->validateIsThemeInUse($themePaths), + $this->checkChildTheme($themePaths), + $this->checkDependencies($themePaths) + ); + if (!empty($messages)) { + $output->writeln( + '<error>Unable to uninstall. Please resolve the following issues:</error>' + . PHP_EOL . implode(PHP_EOL, $messages) + ); return; } @@ -290,8 +289,8 @@ class ThemeUninstallCommand extends Command foreach ($dependencies as $package => $dependingPackages) { if (!empty($dependingPackages)) { $messages[] = - '<error>Cannot uninstall ' . $packageToPath[$package] . - " because the following package(s) depend on it:</error>" . + '<error>' . $packageToPath[$package] . + " has the following dependent package(s):</error>" . PHP_EOL . "\t<error>" . implode('</error>' . PHP_EOL . "\t<error>", $dependingPackages) . "</error>"; } @@ -322,13 +321,13 @@ class ThemeUninstallCommand extends Command } if (!empty($themeHasVirtualChildren)) { $text = count($themeHasVirtualChildren) > 1 ? ' are parents of' : ' is a parent of'; - $messages[] = '<error>Unable to uninstall. ' - . implode(', ', $themeHasVirtualChildren) . $text . ' virtual theme</error>'; + $messages[] = '<error>' . implode(', ', $themeHasVirtualChildren) . $text . ' virtual theme.' + . ' Parent themes cannot be uninstalled.</error>'; } if (!empty($themeHasPhysicalChildren)) { $text = count($themeHasPhysicalChildren) > 1 ? ' are parents of' : ' is a parent of'; - $messages[] = '<error>Unable to uninstall. ' - . implode(', ', $themeHasPhysicalChildren) . $text . ' physical theme</error>'; + $messages[] = '<error>' . implode(', ', $themeHasPhysicalChildren) . $text . ' physical theme.' + . ' Parent themes cannot be uninstalled.</error>'; } return $messages; } diff --git a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files/NewFolder.php b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files/NewFolder.php index 639ca3f383d61c33a038c7de4b9306d362ec3e1b..018e8194f37a204647e967debe5b6d6849372d49 100644 --- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files/NewFolder.php +++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files/NewFolder.php @@ -22,7 +22,7 @@ class NewFolder extends \Magento\Theme\Controller\Adminhtml\System\Design\Wysiwy } catch (\Magento\Framework\Exception\LocalizedException $e) { $result = ['error' => true, 'message' => $e->getMessage()]; } catch (\Exception $e) { - $result = ['error' => true, 'message' => __('Sorry, something went wrong.')]; + $result = ['error' => true, 'message' => __('Sorry, something went wrong. That\'s all we know.')]; $this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e); } $this->getResponse()->representJson( diff --git a/app/code/Magento/Theme/Model/Resource/Design.php b/app/code/Magento/Theme/Model/Resource/Design.php index 85a393429f1da5fb2ac48fac7024985ecc4c6b44..64d52783d4063111caffca4963b2722b70f227b2 100644 --- a/app/code/Magento/Theme/Model/Resource/Design.php +++ b/app/code/Magento/Theme/Model/Resource/Design.php @@ -72,7 +72,7 @@ class Design extends \Magento\Framework\Model\Resource\Db\AbstractDb > (new \DateTime($object->getDateTo()))->getTimestamp() ) { throw new \Magento\Framework\Exception\LocalizedException( - __('Start date cannot be greater than end date.') + __('The start date can\'t follow the end date.') ); } @@ -85,10 +85,7 @@ class Design extends \Magento\Framework\Model\Resource\Db\AbstractDb if ($check) { throw new \Magento\Framework\Exception\LocalizedException( - __( - 'Your design change for the specified store intersects with another one, please specify another' - . ' date range.' - ) + __('The date range for this design change overlaps another design change for the specified store.') ); } diff --git a/app/code/Magento/Theme/Model/ThemeValidator.php b/app/code/Magento/Theme/Model/ThemeValidator.php index 6f8b0ddda264fec695f8a03d194eaed3fb6a5899..3923eeb644db6bd499dd332bb7ac4ddc49dfaae7 100644 --- a/app/code/Magento/Theme/Model/ThemeValidator.php +++ b/app/code/Magento/Theme/Model/ThemeValidator.php @@ -75,15 +75,15 @@ class ThemeValidator foreach ($configData as $row) { switch($row['scope']) { case 'default': - $messages[] = $themesById[$row['value']] . ' is in use in default config'; + $messages[] = '<error>' . $themesById[$row['value']] . ' is in use in default config' . '</error>'; break; case ScopeInterface::SCOPE_WEBSITES: - $messages[] = $themesById[$row['value']] . ' is in use in website ' - . $this->storeManager->getWebsite($row['scope_id'])->getName(); + $messages[] = '<error>' . $themesById[$row['value']] . ' is in use in website ' + . $this->storeManager->getWebsite($row['scope_id'])->getName() . '</error>'; break; case ScopeInterface::SCOPE_STORES: - $messages[] = $themesById[$row['value']] . ' is in use in store ' - . $this->storeManager->getStore($row['scope_id'])->getName(); + $messages[] = '<error>' . $themesById[$row['value']] . ' is in use in store ' + . $this->storeManager->getStore($row['scope_id'])->getName() . '</error>'; break; } } diff --git a/app/code/Magento/Theme/Test/Unit/Console/Command/ThemeUninstallCommandTest.php b/app/code/Magento/Theme/Test/Unit/Console/Command/ThemeUninstallCommandTest.php index c8c8f92a1b6c0b218a217e1aa7897410559a72a5..c2a78ac55524248028d3789069270ba942863ca7 100644 --- a/app/code/Magento/Theme/Test/Unit/Console/Command/ThemeUninstallCommandTest.php +++ b/app/code/Magento/Theme/Test/Unit/Console/Command/ThemeUninstallCommandTest.php @@ -250,6 +250,33 @@ class ThemeUninstallCommandTest extends \PHPUnit_Framework_TestCase $this->collection->expects($this->any())->method('getIterator')->willReturn(new \ArrayIterator([])); } + public function setupPassThemeInUseCheck() + { + $this->themeValidator->expects($this->once())->method('validateIsThemeInUse')->willReturn([]); + } + + public function setupPassDependencyCheck() + { + $this->dependencyChecker->expects($this->once())->method('checkDependencies')->willReturn([]); + } + + public function testExecuteFailedThemeInUseCheck() + { + $this->setUpPassValidation(); + $this->setupPassChildThemeCheck(); + $this->setupPassDependencyCheck(); + $this->themeValidator + ->expects($this->once()) + ->method('validateIsThemeInUse') + ->willReturn(['frontend/Magento/a is in use in default config']); + $this->tester->execute(['theme' => ['frontend/Magento/a']]); + $this->assertEquals( + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL + . 'frontend/Magento/a is in use in default config' . PHP_EOL, + $this->tester->getDisplay() + ); + } + /** * @dataProvider executeFailedChildThemeCheckDataProvider * @param bool $hasVirtual @@ -261,6 +288,8 @@ class ThemeUninstallCommandTest extends \PHPUnit_Framework_TestCase public function testExecuteFailedChildThemeCheck($hasVirtual, $hasPhysical, array $input, $expected) { $this->setUpPassValidation(); + $this->setupPassThemeInUseCheck(); + $this->setupPassDependencyCheck(); $theme = $this->getMock('Magento\Theme\Model\Theme', [], [], '', false); $theme->expects($this->any())->method('hasChildThemes')->willReturn($hasVirtual); $parentThemeA = $this->getMock('Magento\Theme\Model\Theme', [], [], '', false); @@ -282,10 +311,7 @@ class ThemeUninstallCommandTest extends \PHPUnit_Framework_TestCase ->method('getIterator') ->willReturn(new \ArrayIterator([$childThemeC, $childThemeD])); $this->tester->execute($input); - $this->assertContains( - $expected, - $this->tester->getDisplay() - ); + $this->assertContains($expected, $this->tester->getDisplay()); } /** @@ -298,65 +324,65 @@ class ThemeUninstallCommandTest extends \PHPUnit_Framework_TestCase true, false, ['theme' => ['frontend/Magento/a']], - 'Unable to uninstall. frontend/Magento/a is a parent of virtual theme' + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL + . 'frontend/Magento/a is a parent of virtual theme. Parent themes cannot be uninstalled.' ], [ true, false, ['theme' => ['frontend/Magento/a', 'frontend/Magento/b']], - 'Unable to uninstall. frontend/Magento/a, frontend/Magento/b are parents of virtual theme' + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL . + 'frontend/Magento/a, frontend/Magento/b are parents of virtual theme.' + . ' Parent themes cannot be uninstalled.' ], [ false, true, ['theme' => ['frontend/Magento/a']], - 'Unable to uninstall. frontend/Magento/a is a parent of physical theme' + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL . + 'frontend/Magento/a is a parent of physical theme. Parent themes cannot be uninstalled.' ], [ false, true, ['theme' => ['frontend/Magento/a', 'frontend/Magento/b']], - 'Unable to uninstall. frontend/Magento/a, frontend/Magento/b are parents of physical theme' + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL . + 'frontend/Magento/a, frontend/Magento/b are parents of physical theme.' + . ' Parent themes cannot be uninstalled.' ], [ true, true, ['theme' => ['frontend/Magento/a']], - 'Unable to uninstall. frontend/Magento/a is a parent of virtual theme' . PHP_EOL . - 'Unable to uninstall. frontend/Magento/a is a parent of physical theme' + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL . + 'frontend/Magento/a is a parent of virtual theme. Parent themes cannot be uninstalled.' . PHP_EOL . + 'frontend/Magento/a is a parent of physical theme. Parent themes cannot be uninstalled.' ], [ true, true, ['theme' => ['frontend/Magento/a', 'frontend/Magento/b']], - 'Unable to uninstall. frontend/Magento/a, frontend/Magento/b are parents of virtual theme' . PHP_EOL . - 'Unable to uninstall. frontend/Magento/a, frontend/Magento/b are parents of physical theme' + 'frontend/Magento/a, frontend/Magento/b are parents of virtual theme.' + . ' Parent themes cannot be uninstalled.' . PHP_EOL . + 'frontend/Magento/a, frontend/Magento/b are parents of physical theme.' + . ' Parent themes cannot be uninstalled.' ], ]; } - public function testExecuteFailedThemeInUseCheck() - { - $this->setUpPassValidation(); - $this->themeValidator - ->expects($this->once()) - ->method('validateIsThemeInUse') - ->willReturn(['frontend/Magento/a is in use in default config']); - $this->tester->execute(['theme' => ['frontend/Magento/a']]); - $this->assertEquals('frontend/Magento/a is in use in default config' . PHP_EOL, $this->tester->getDisplay()); - } - public function testExecuteFailedDependencyCheck() { $this->setUpPassValidation(); + $this->setupPassThemeInUseCheck(); $this->setupPassChildThemeCheck(); $this->dependencyChecker->expects($this->once()) ->method('checkDependencies') ->willReturn(['magento/theme-a' => ['magento/theme-b', 'magento/theme-c']]); $this->tester->execute(['theme' => ['frontend/Magento/a']]); $this->assertContains( - 'Cannot uninstall frontend/Magento/a because the following package(s) ' . - 'depend on it:' . PHP_EOL . "\tmagento/theme-b" . PHP_EOL . "\tmagento/theme-c", + 'Unable to uninstall. Please resolve the following issues:' . PHP_EOL . + 'frontend/Magento/a has the following dependent package(s):' + . PHP_EOL . "\tmagento/theme-b" . PHP_EOL . "\tmagento/theme-c", $this->tester->getDisplay() ); } @@ -364,8 +390,9 @@ class ThemeUninstallCommandTest extends \PHPUnit_Framework_TestCase public function setUpExecute() { $this->setUpPassValidation(); + $this->setupPassThemeInUseCheck(); $this->setupPassChildThemeCheck(); - $this->dependencyChecker->expects($this->once())->method('checkDependencies')->willReturn([]); + $this->setupPassDependencyCheck(); $this->remove->expects($this->once())->method('remove'); $this->cache->expects($this->once())->method('clean'); $theme = $this->getMock('Magento\Theme\Model\Theme', [], [], '', false); diff --git a/app/code/Magento/Theme/Test/Unit/Model/ThemeValidatorTest.php b/app/code/Magento/Theme/Test/Unit/Model/ThemeValidatorTest.php index d6fc5f272f5315d71f74bbb896e187ce90b53cbc..f4b7d2a5d4fbaeaa2fb8851ebbe76a43d179eceb 100644 --- a/app/code/Magento/Theme/Test/Unit/Model/ThemeValidatorTest.php +++ b/app/code/Magento/Theme/Test/Unit/Model/ThemeValidatorTest.php @@ -81,9 +81,9 @@ class ThemeValidatorTest extends \PHPUnit_Framework_TestCase $result = $this->themeValidator->validateIsThemeInUse(['frontend/Magento/a']); $this->assertEquals( [ - 'frontend/Magento/a is in use in default config', - 'frontend/Magento/a is in use in website websiteA', - 'frontend/Magento/a is in use in store storeA' + '<error>frontend/Magento/a is in use in default config</error>', + '<error>frontend/Magento/a is in use in website websiteA</error>', + '<error>frontend/Magento/a is in use in store storeA</error>' ], $result ); diff --git a/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml b/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml index f81d5ae8386c690c113ed59a1ed5fef74a7ed333..1b984b454f0a535088d61127e9cf02cfc8f74add 100644 --- a/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml +++ b/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml @@ -10,5 +10,4 @@ target="_blank"> <?php echo __('Report All Bugs') ?> </a> - <strong><?php echo __('(ver. %1)', \Magento\Framework\AppInterface::VERSION) ?></strong> </small> diff --git a/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml b/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml index d5e3ef7851329e5893cbf7ad15fe45fdf7cf8efb..f158afa5e9c95d49f2cd9c044a8af6f4bca4a7fa 100644 --- a/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml +++ b/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml @@ -12,7 +12,7 @@ <?php echo $block->getChildHtml() ?> <p class="bugs"><?php echo __('Help Us Keep Magento Healthy') ?> - <a href="http://www.magentocommerce.com/bug-tracking" - target="_blank"><strong><?php echo __('Report All Bugs') ?></strong></a> <?php echo __('(ver. %1)', \Magento\Framework\AppInterface::VERSION) ?> + target="_blank"><strong><?php echo __('Report All Bugs') ?></strong></a> </p> <address><?php echo $block->getCopyright() ?></address> </div> diff --git a/app/code/Magento/Translation/Console/Command/UninstallLanguageCommand.php b/app/code/Magento/Translation/Console/Command/UninstallLanguageCommand.php index b84237bb2cd32233a96cabb23f16ebf6ea0d06b4..a8c360f6444fa331a317fd9995f419b013597c45 100644 --- a/app/code/Magento/Translation/Console/Command/UninstallLanguageCommand.php +++ b/app/code/Magento/Translation/Console/Command/UninstallLanguageCommand.php @@ -19,6 +19,8 @@ use Magento\Framework\Setup\BackupRollbackFactory; /** * Command for uninstalling language and backup-code feature + * + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class UninstallLanguageCommand extends Command { @@ -151,7 +153,7 @@ class UninstallLanguageCommand extends Command */ private function validate($package) { - $installedPackages = $this->composerInfo->getRootRequiredPackagesAndTypes(); + $installedPackages = $this->composerInfo->getRootRequiredPackageTypesByName(); if (isset($installedPackages[$package]) && $installedPackages[$package] === 'magento2-language') { return true; diff --git a/app/code/Magento/Translation/Model/Js/Config/Source/Strategy.php b/app/code/Magento/Translation/Model/Js/Config/Source/Strategy.php index 767e228a82bedbb224aefb6815fdc1604d9946a8..fbeee6f52b5b8970db50e1e8b554fa184a987d28 100644 --- a/app/code/Magento/Translation/Model/Js/Config/Source/Strategy.php +++ b/app/code/Magento/Translation/Model/Js/Config/Source/Strategy.php @@ -15,8 +15,8 @@ class Strategy implements \Magento\Framework\Option\ArrayInterface public function toOptionArray() { return [ - ['label' => __('Dictionary (Translation on frontend side)'), 'value' => Config::DICTIONARY_STRATEGY], - ['label' => __('Embedded (Translation on backend side)'), 'value' => Config::EMBEDDED_STRATEGY] + ['label' => __('Dictionary (Translation on Storefront side)'), 'value' => Config::DICTIONARY_STRATEGY], + ['label' => __('Embedded (Translation on Admin side)'), 'value' => Config::EMBEDDED_STRATEGY] ]; } } diff --git a/app/code/Magento/Translation/Test/Unit/Console/Command/UninstallLanguageCommandTest.php b/app/code/Magento/Translation/Test/Unit/Console/Command/UninstallLanguageCommandTest.php index 2f0cd02c6c9ea0f0e58128c6a999c6d86136fdf7..9ccb47dd1e92b4ac454e2228e5b78844f8e130d1 100644 --- a/app/code/Magento/Translation/Test/Unit/Console/Command/UninstallLanguageCommandTest.php +++ b/app/code/Magento/Translation/Test/Unit/Console/Command/UninstallLanguageCommandTest.php @@ -93,7 +93,7 @@ class UninstallLanguageCommandTest extends \PHPUnit_Framework_TestCase ->willReturn($dependencies); $this->composerInfo->expects($this->once()) - ->method('getRootRequiredPackagesAndTypes') + ->method('getRootRequiredPackageTypesByName') ->willReturn( [ 'vendor/language-ua_ua' => 'magento2-language' @@ -123,7 +123,7 @@ class UninstallLanguageCommandTest extends \PHPUnit_Framework_TestCase ->willReturn($dependencies); $this->composerInfo->expects($this->once()) - ->method('getRootRequiredPackagesAndTypes') + ->method('getRootRequiredPackageTypesByName') ->willReturn( [ 'vendor/language-ua_ua' => 'magento2-language' @@ -148,7 +148,7 @@ class UninstallLanguageCommandTest extends \PHPUnit_Framework_TestCase ->willReturn($dependencies); $this->composerInfo->expects($this->once()) - ->method('getRootRequiredPackagesAndTypes') + ->method('getRootRequiredPackageTypesByName') ->willReturn( [ 'vendor/language-ua_ua' => 'magento2-language' @@ -178,7 +178,7 @@ class UninstallLanguageCommandTest extends \PHPUnit_Framework_TestCase ->willReturn($dependencies); $this->composerInfo->expects($this->once()) - ->method('getRootRequiredPackagesAndTypes') + ->method('getRootRequiredPackageTypesByName') ->willReturn( [ 'vendor/language-ua_ua' => 'library' diff --git a/app/code/Magento/Translation/Test/Unit/Model/Js/Config/Source/StrategyTest.php b/app/code/Magento/Translation/Test/Unit/Model/Js/Config/Source/StrategyTest.php index 8fdc964cc9a01c5c37e73536b8dd9899e46542a3..2f41a8df24008c96f40085d09a9ab50c7e1ada0f 100644 --- a/app/code/Magento/Translation/Test/Unit/Model/Js/Config/Source/StrategyTest.php +++ b/app/code/Magento/Translation/Test/Unit/Model/Js/Config/Source/StrategyTest.php @@ -35,8 +35,8 @@ class StrategyTest extends \PHPUnit_Framework_TestCase public function testToOptionArray() { $expected = [ - ['label' => 'Dictionary (Translation on frontend side)', 'value' => Config::DICTIONARY_STRATEGY], - ['label' => 'Embedded (Translation on backend side)', 'value' => Config::EMBEDDED_STRATEGY] + ['label' => 'Dictionary (Translation on Storefront side)', 'value' => Config::DICTIONARY_STRATEGY], + ['label' => 'Embedded (Translation on Admin side)', 'value' => Config::EMBEDDED_STRATEGY] ]; $this->assertEquals($expected, $this->model->toOptionArray()); } diff --git a/app/code/Magento/Ups/Model/Carrier.php b/app/code/Magento/Ups/Model/Carrier.php index 3085a8b35c988766d5d48820d5727fc498c1bf65..fca7588c0ae155c8385f87d3ab9654d9e1d45e97 100644 --- a/app/code/Magento/Ups/Model/Carrier.php +++ b/app/code/Magento/Ups/Model/Carrier.php @@ -991,7 +991,7 @@ XMLAuth; */ protected function _parseXmlTrackingResponse($trackingValue, $xmlResponse) { - $errorTitle = 'Unable to retrieve tracking'; + $errorTitle = 'For some reason we can\'t retrieve tracking info right now.'; $resultArr = []; $packageProgress = []; diff --git a/app/code/Magento/UrlRewrite/Block/Catalog/Edit/Form.php b/app/code/Magento/UrlRewrite/Block/Catalog/Edit/Form.php index 72896f855e57bc407fe0da9461110c61fb8aaba3..8ac824f7749d65d34665681f1488a63454d70da1 100644 --- a/app/code/Magento/UrlRewrite/Block/Catalog/Edit/Form.php +++ b/app/code/Magento/UrlRewrite/Block/Catalog/Edit/Form.php @@ -193,7 +193,7 @@ class Form extends \Magento\UrlRewrite\Block\Edit\Form } elseif ($category->getId()) { $entityStores = (array)$category->getStoreIds(); $message = __( - 'We can\'t set up a URL rewrite because the category you chose is not associated with a website.' + 'Please assign a website to the selected category.' ); if (!$entityStores) { throw new \Magento\Framework\Exception\LocalizedException($message); diff --git a/app/code/Magento/UrlRewrite/Block/Cms/Page/Edit/Form.php b/app/code/Magento/UrlRewrite/Block/Cms/Page/Edit/Form.php index e3e28f33127c8cfe490a42e01c0069cde42b2e3c..5ebbfd8f76ef9743d36c022756ce8d06f43642cd 100644 --- a/app/code/Magento/UrlRewrite/Block/Cms/Page/Edit/Form.php +++ b/app/code/Magento/UrlRewrite/Block/Cms/Page/Edit/Form.php @@ -113,7 +113,7 @@ class Form extends \Magento\UrlRewrite\Block\Edit\Form if (!$entityStores) { throw new \Magento\Framework\Exception\LocalizedException( - __('Chosen cms page does not associated with any website.') + __('Please assign a website to the selected CMS page.') ); } } diff --git a/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Delete.php b/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Delete.php index bea135dcedc2b3f78a1d388ff70e96973167da69..a0ed60907fd0d715e343032951c9aa12e87169ce 100644 --- a/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Delete.php +++ b/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Delete.php @@ -18,7 +18,7 @@ class Delete extends \Magento\UrlRewrite\Controller\Adminhtml\Url\Rewrite if ($this->_getUrlRewrite()->getId()) { try { $this->_getUrlRewrite()->delete(); - $this->messageManager->addSuccess(__('The URL Rewrite has been deleted.')); + $this->messageManager->addSuccess(__('You deleted the URL rewrite.')); } catch (\Exception $e) { $this->messageManager->addException($e, __('We can\'t delete URL Rewrite right now.')); $this->_redirect('adminhtml/*/edit/', ['id' => $this->_getUrlRewrite()->getId()]); diff --git a/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Save.php b/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Save.php index 8ca7008efc034ccf5cc5bf17d2fe659105543a4f..951b0885f72fb283fb44ffb0771055d76edd35a4 100644 --- a/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Save.php +++ b/app/code/Magento/UrlRewrite/Controller/Adminhtml/Url/Rewrite/Save.php @@ -90,8 +90,8 @@ class Save extends \Magento\UrlRewrite\Controller\Adminhtml\Url\Rewrite $rewrite = $this->urlFinder->findOneByData($data); if (!$rewrite) { $message = $model->getEntityType() === self::ENTITY_TYPE_PRODUCT - ? __('Chosen product does not associated with the chosen store or category.') - : __('Chosen category does not associated with the chosen store.'); + ? __('The product you chose is not associated with the selected store or category.') + : __('The category you chose is not associated with the selected store.'); throw new LocalizedException($message); } $targetPath = $rewrite->getRequestPath(); @@ -166,7 +166,7 @@ class Save extends \Magento\UrlRewrite\Controller\Adminhtml\Url\Rewrite $this->messageManager->addError($e->getMessage()); $session->setUrlRewriteData($data); } catch (\Exception $e) { - $this->messageManager->addException($e, __('An error occurred while saving URL Rewrite.')); + $this->messageManager->addException($e, __('Something went wrong while saving URL Rewrite.')); $session->setUrlRewriteData($data); } } diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php b/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php index 5f43bab59e6b863b06f8ddd1e0b8617ea9095d63..a97e46e7f7a102d9c1dbd1d17eeafb1ade94009c 100644 --- a/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php +++ b/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php @@ -42,12 +42,7 @@ class Forgotpassword extends \Magento\User\Controller\Adminhtml\Auth } } // @codingStandardsIgnoreStart - $this->messageManager->addSuccess( - __( - 'If there is an account associated with %1 you will receive an email with a link to reset your password.', - $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($email) - ) - ); + $this->messageManager->addSuccess(__('We\'ll email you a link to reset your password.')); // @codingStandardsIgnoreEnd $this->getResponse()->setRedirect( $this->_objectManager->get('Magento\Backend\Helper\Data')->getHomePageUrl() diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php b/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php index 834e5e19b0139bc183c8c872fd0b042b179e3609..bae69c2415f3cb6578f41b558285864b12653840 100644 --- a/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php +++ b/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php @@ -41,7 +41,7 @@ class ResetPasswordPost extends \Magento\User\Controller\Adminhtml\Auth $user->setRpTokenCreatedAt(null); try { $user->save(); - $this->messageManager->addSuccess(__('Your password has been updated.')); + $this->messageManager->addSuccess(__('You updated your password.')); $this->getResponse()->setRedirect( $this->_objectManager->get('Magento\Backend\Helper\Data')->getHomePageUrl() ); diff --git a/app/code/Magento/Usps/Model/Carrier.php b/app/code/Magento/Usps/Model/Carrier.php index 2d7845696c840f6695756459fa162e9c1832b5b5..2aa0517e787d4542532f33244d1454aefc40af08 100644 --- a/app/code/Magento/Usps/Model/Carrier.php +++ b/app/code/Magento/Usps/Model/Carrier.php @@ -1038,7 +1038,7 @@ class Carrier extends AbstractCarrierOnline implements \Magento\Shipping\Model\C */ protected function _parseXmlTrackingResponse($trackingvalue, $response) { - $errorTitle = __('Unable to retrieve tracking'); + $errorTitle = __('For some reason we can\'t retrieve tracking info right now.'); $resultArr = []; if (strlen(trim($response)) > 0) { if (strpos(trim($response), '<?xml') === 0) { diff --git a/app/code/Magento/Version/Controller/Index/Index.php b/app/code/Magento/Version/Controller/Index/Index.php index 687e3d3d5163512fb83214e04961b43d359ba1ba..0fe6235bc6ca091e830b184ffa73b3be57875e58 100644 --- a/app/code/Magento/Version/Controller/Index/Index.php +++ b/app/code/Magento/Version/Controller/Index/Index.php @@ -9,6 +9,7 @@ namespace Magento\Version\Controller\Index; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\ProductMetadataInterface; +use Magento\Framework\Exception\StateException; /** * Magento Version controller @@ -31,15 +32,21 @@ class Index extends Action } /** - * Sets the response body with ProductName/Version (Edition). E.g.: Magento/0.42.0-beta3 (Community) + * Sets the response body to ProductName/Major.MinorVersion (Edition). E.g.: Magento/0.42 (Community). Omits patch + * version from response * * @return void */ public function execute() { + $versionParts = explode('.', $this->productMetadata->getVersion()); + if (!isset($versionParts[0]) || !isset($versionParts[1])) { + return ; // Major and minor version are not set - return empty response + } + $majorMinorVersion = $versionParts[0] . '.' . $versionParts[1]; $this->getResponse()->setBody( $this->productMetadata->getName() . '/' . - $this->productMetadata->getVersion() . ' (' . + $majorMinorVersion . ' (' . $this->productMetadata->getEdition() . ')' ); } diff --git a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/row.phtml b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/row.phtml index 599d7090877d8aa023ecc9f1d9eea19a540d39a1..895d24c39df169211691a74995cb870d14387c8a 100644 --- a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/row.phtml +++ b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/row.phtml @@ -55,7 +55,7 @@ $_item = $block->getItem(); <?php endif; ?> <?php if ($block->displayFinalPrice()): ?> - <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> + <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $block->formatPrice($block->getFinalRowDisplayPriceInclTax()); ?> </span> <?php endif; ?> diff --git a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/total.phtml b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/total.phtml index c244c34fcd635225bca5de9e01951e13ad4d1b65..fa900ef262afccc8051d3c36235b0e698bae2225 100644 --- a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/total.phtml +++ b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/total.phtml @@ -59,7 +59,7 @@ $_item = $block->getItem(); <?php endif; ?> <?php if ($block->displayFinalPrice()): ?> - <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> + <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $block->formatPrice($block->getFinalRowDisplayPriceInclTax() - $_item->getTotalDiscountAmount()); ?> </span> <?php endif; ?> diff --git a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/unit.phtml b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/unit.phtml index aa5c38559b77c190c08714914348684dda99eb3d..0e46e952e94f1dd3f091b7290ae494139cfa76b9 100644 --- a/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/unit.phtml +++ b/app/code/Magento/Weee/view/adminhtml/templates/order/create/items/price/unit.phtml @@ -56,7 +56,7 @@ $_item = $block->getItem(); <?php endif; ?> <?php if ($block->displayFinalPrice()): ?> - <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> + <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $block->formatPrice($block->getFinalUnitDisplayPriceInclTax()); ?> </span> <?php endif; ?> diff --git a/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/row_incl_tax.phtml b/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/row_incl_tax.phtml index aa0dc8fc35660080033c83efa2d1f70916338b94..bdb9d5253afcf6e202ccc618535b370053ef905e 100644 --- a/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/row_incl_tax.phtml +++ b/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/row_incl_tax.phtml @@ -32,7 +32,7 @@ $_weeeHelper = $this->helper('Magento\Weee\Helper\Data'); <?php if ($block->displayFinalPrice()): ?> <span class="cart-tax-total" data-mage-init='{"taxToggle": {"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}}'> - <span class="weee" data-label="<?php echo __('Total incl. tax'); ?>"> + <span class="weee" data-label="<?php echo __('Total Incl. Tax'); ?>"> <?php echo $block->formatPrice($block->getFinalRowDisplayPriceInclTax()); ?> </span> </span> diff --git a/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/unit_incl_tax.phtml b/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/unit_incl_tax.phtml index 86215bdc615bf3170cc5558b8636363df938e7c9..c8292b0458715099baf245afb36fa8b014f0170a 100644 --- a/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/unit_incl_tax.phtml +++ b/app/code/Magento/Weee/view/frontend/templates/checkout/onepage/review/item/price/unit_incl_tax.phtml @@ -33,7 +33,7 @@ $_weeeHelper = $this->helper('Magento\Weee\Helper\Data'); <?php if ($block->displayFinalPrice()): ?> <span class="cart-tax-total" data-mage-init='{"taxToggle": {"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}}'> - <span class="weee" data-label="<?php echo __('Total incl. tax'); ?>"> + <span class="weee" data-label="<?php echo __('Total Incl. Tax'); ?>"> <?php echo $block->formatPrice($block->getFinalUnitDisplayPriceInclTax()); ?> </span> </span> diff --git a/app/code/Magento/Weee/view/frontend/templates/email/items/price/row.phtml b/app/code/Magento/Weee/view/frontend/templates/email/items/price/row.phtml index 14fe72fb68fe09e6fa2ae0626ff717841e01261b..f4435da518855528a2bbfb13577e8802eb1d17e7 100644 --- a/app/code/Magento/Weee/view/frontend/templates/email/items/price/row.phtml +++ b/app/code/Magento/Weee/view/frontend/templates/email/items/price/row.phtml @@ -58,7 +58,7 @@ $_order = $_item->getOrder(); <?php endif; ?> <?php if ($block->displayFinalPrice()): ?> - <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $_order->formatPrice($block->getFinalRowDisplayPriceInclTax()); ?></span> + <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $_order->formatPrice($block->getFinalRowDisplayPriceInclTax()); ?></span> <?php endif; ?> <?php endif; ?> <?php endif; ?> diff --git a/app/code/Magento/Weee/view/frontend/templates/item/price/row.phtml b/app/code/Magento/Weee/view/frontend/templates/item/price/row.phtml index 048dd29fe02c936d2de3283d22ea28f2c6cef2f9..0f38316c1bea1c730789b270750968dee8a48ea9 100644 --- a/app/code/Magento/Weee/view/frontend/templates/item/price/row.phtml +++ b/app/code/Magento/Weee/view/frontend/templates/item/price/row.phtml @@ -33,7 +33,7 @@ $item = $block->getItem(); <?php if ($block->displayFinalPrice()): ?> <span class="cart-tax-total" data-mage-init='{"taxToggle": {"itemTaxId" : "#subtotal-item-tax-details<?php echo $item->getId(); ?>"}}'> - <span class="weee" data-label="<?php echo $block->escapeHtml(__('Total incl. tax')); ?>"> + <span class="weee" data-label="<?php echo $block->escapeHtml(__('Total Incl. Tax')); ?>"> <?php echo $block->formatPrice($block->getFinalRowDisplayPriceInclTax()); ?> </span> </span> diff --git a/app/code/Magento/Weee/view/frontend/templates/item/price/unit.phtml b/app/code/Magento/Weee/view/frontend/templates/item/price/unit.phtml index ebe9db5b9119d92e0cc6bb5ef6e0b374d2b23a87..f15ae2b8ae01367a9087064b5b1de9ebbc01f9a7 100644 --- a/app/code/Magento/Weee/view/frontend/templates/item/price/unit.phtml +++ b/app/code/Magento/Weee/view/frontend/templates/item/price/unit.phtml @@ -33,7 +33,7 @@ $item = $block->getItem(); <?php if ($block->displayFinalPrice()): ?> <span class="cart-tax-total" data-mage-init='{"taxToggle": {"itemTaxId" : "#unit-item-tax-details<?php echo $item->getId(); ?>"}}'> - <span class="weee" data-label="<?php echo $block->escapeHtml(__('Total incl. tax')); ?>"> + <span class="weee" data-label="<?php echo $block->escapeHtml(__('Total Incl. Tax')); ?>"> <?php echo $block->formatPrice($block->getFinalUnitDisplayPriceInclTax()); ?> </span> </span> diff --git a/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/row_incl_tax.html b/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/row_incl_tax.html index cfc024de59894ccc0f833f6d66ccfad9fc2e68d6..bfaa8c3f176722b4e50b1c0e7ff9f0bff45410af 100644 --- a/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/row_incl_tax.html +++ b/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/row_incl_tax.html @@ -29,7 +29,7 @@ <!-- ko if: isDisplayFinalPrice(item)--> <span class="cart-tax-total" data-bind="mageInit: {taxToggle: {itemTaxId : '#subtotal-item-tax-details'+item.item_id}}"> - <span class="weee" data-bind="attr: {'data-label':$t('Total incl. tax')}"> + <span class="weee" data-bind="attr: {'data-label':$t('Total Incl. Tax')}"> <span class="price" data-bind="text: getFormattedPrice(getFinalRowDisplayPriceInclTax(item))"></span> </span> </span> diff --git a/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/unit_incl_tax.html b/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/unit_incl_tax.html index 175b2968e1472b3ee3400b7cdd87d7ba2b52b3a3..1a67282073225531a6137bd83361a08d60c2287e 100644 --- a/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/unit_incl_tax.html +++ b/app/code/Magento/Weee/view/frontend/web/template/checkout/review/item/price/unit_incl_tax.html @@ -30,7 +30,7 @@ <!-- ko if: isDisplayFinalPrice(item)--> <span class="cart-tax-total" data-bind="mageInit: {taxToggle: {itemTaxId : '#unit-item-tax-details'+item.item_id}}"> - <span class="weee" data-bind="attr: {'data-label':$t('Total incl. tax')}"> + <span class="weee" data-bind="attr: {'data-label':$t('Total Incl. Tax')}"> <span class="price" data-bind="text: getFormattedPrice(getFinalUnitDisplayPriceInclTax(item))"></span> </span> </span> diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php index 23b609a0e5b35e99f59a39a9b90fbb52cebe282e..d281c60358dbe62eb053edcae2a9349999a14fd3 100644 --- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php +++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php @@ -62,7 +62,7 @@ class Main extends \Magento\Backend\Block\Widget\Form\Generic implements \Magent */ public function getTabLabel() { - return __('Frontend Properties'); + return __('Storefront Properties'); } /** @@ -72,7 +72,7 @@ class Main extends \Magento\Backend\Block\Widget\Form\Generic implements \Magent */ public function getTabTitle() { - return __('Frontend Properties'); + return __('Storefront Properties'); } /** @@ -120,7 +120,7 @@ class Main extends \Magento\Backend\Block\Widget\Form\Generic implements \Magent ['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']] ); - $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Frontend Properties')]); + $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Storefront Properties')]); if ($widgetInstance->getId()) { $fieldset->addField('instance_id', 'hidden', ['name' => 'instance_id']); diff --git a/app/code/Magento/Wishlist/Controller/Index/Send.php b/app/code/Magento/Wishlist/Controller/Index/Send.php index 4e5e9fb2ffe7f985845df88428cc59793501c19f..6baaa3772cd54918abf677eb2470100daa1a7af8 100644 --- a/app/code/Magento/Wishlist/Controller/Index/Send.php +++ b/app/code/Magento/Wishlist/Controller/Index/Send.php @@ -155,7 +155,7 @@ class Send extends Action\Action implements IndexInterface foreach ($emails as $index => $email) { $email = trim($email); if (!\Zend_Validate::is($email, 'EmailAddress')) { - $error = __('Please input a valid email address.'); + $error = __('Please enter a valid email address.'); break; } $emails[$index] = $email; diff --git a/app/code/Magento/Wishlist/Model/ItemCarrier.php b/app/code/Magento/Wishlist/Model/ItemCarrier.php index ab9a4d500fdf5ebdc20cb98bf5975929607759da..ccd49bdcb4e84c7c99b25f63a17e6cace5ccf2a2 100644 --- a/app/code/Magento/Wishlist/Model/ItemCarrier.php +++ b/app/code/Magento/Wishlist/Model/ItemCarrier.php @@ -153,7 +153,7 @@ class ItemCarrier } } catch (\Exception $e) { $this->logger->critical($e); - $messages[] = __('We can\'t add this item to your cart right now.'); + $messages[] = __('We can\'t add this item to your shopping cart right now.'); } } diff --git a/app/code/Magento/Wishlist/Test/Unit/Controller/Index/SendTest.php b/app/code/Magento/Wishlist/Test/Unit/Controller/Index/SendTest.php index 55575d82b276d5b735d18147be9c1861ef068060..dd6dca9871675141bc97ee50dc555636caa98860 100644 --- a/app/code/Magento/Wishlist/Test/Unit/Controller/Index/SendTest.php +++ b/app/code/Magento/Wishlist/Test/Unit/Controller/Index/SendTest.php @@ -386,9 +386,9 @@ class SendTest extends \PHPUnit_Framework_TestCase '', 'This wish list can be shared 1 more times.' ], - ['test text', 100, 'wrongEmailAddress', 1, 0, '', 'Please input a valid email address.'], - ['test text', 100, 'user1@example.com, wrongEmailAddress', 2, 0, '', 'Please input a valid email address.'], - ['test text', 100, 'wrongEmailAddress, user2@example.com', 2, 0, '', 'Please input a valid email address.'], + ['test text', 100, 'wrongEmailAddress', 1, 0, '', 'Please enter a valid email address.'], + ['test text', 100, 'user1@example.com, wrongEmailAddress', 2, 0, '', 'Please enter a valid email address.'], + ['test text', 100, 'wrongEmailAddress, user2@example.com', 2, 0, '', 'Please enter a valid email address.'], ]; } diff --git a/app/code/Magento/Wishlist/view/frontend/templates/options_list.phtml b/app/code/Magento/Wishlist/view/frontend/templates/options_list.phtml index a4c5d416a359e599fd6bd44c09b6cfb7676366c3..11ce019d59d000f5c8d3e8cc5fa015117a27e37a 100644 --- a/app/code/Magento/Wishlist/view/frontend/templates/options_list.phtml +++ b/app/code/Magento/Wishlist/view/frontend/templates/options_list.phtml @@ -12,7 +12,7 @@ <?php $options = $block->getOptionList(); ?> <?php if ($options): ?> <div class="tooltip wrapper product-item-tooltip"> - <span class="action details tooltip toggle"><?php echo __('View Details') ?></span> + <span class="action details tooltip toggle"><?php echo __('See Details') ?></span> <div class="tooltip content"> <strong class="subtitle"><?php echo __('Options Details'); ?></strong> <dl> diff --git a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/_menu.less b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/_menu.less index 7301a194265965ffa0776e50028458db1651537d..f9f3626a797841f200bd61b84fc36e99525fc61f 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/_menu.less +++ b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/_menu.less @@ -52,7 +52,7 @@ // --------------------------------------------- .menu-wrapper { - float: left; + display: inline-block; position: relative; width: @menu__width; z-index: @menu__z-index; @@ -205,7 +205,7 @@ min-height: ~'calc(@{menu-logo__outer-size} + 2rem + 100%)'; padding: @submenu__padding-vertical 0 0; position: absolute; - top: -@menu-logo__outer-size; + top: 0; transform: translateX(-100%); transition-property: transform, visibility; transition-duration: .3s; diff --git a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/pages/_login.less b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/pages/_login.less index 2e93e6c124f17ce361713723c553d6b078a0a1b1..8291e266f89ffefe394f731b7f062df889740a3c 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/pages/_login.less +++ b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/pages/_login.less @@ -35,6 +35,7 @@ background-color: @login-box__background-color; border: @login-box__border; box-shadow: @login-box__shadow; + display: block; float: none; margin: auto; max-width: @login-box__max-width; diff --git a/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_items.less b/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_items.less index 960bbd1e167cd11b89636a8754b5a895d5b96484..0fb9ad74b0c1a4f2ae7c560701d08957f65491cb 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_items.less +++ b/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_items.less @@ -35,6 +35,9 @@ .data-grid { .action-configure { float: right; + &.disabled { + display: none; + } } .col-id, .col-price, diff --git a/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_payment-shipping.less b/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_payment-shipping.less index fe3ebac483461cb7bd0f7899d679e2808a5dfb5b..ea24a567ab1b5fd5dbb6e5fc384e53a329c0f2ca 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_payment-shipping.less +++ b/app/design/adminhtml/Magento/backend/Magento_Sales/web/css/source/module/order/_payment-shipping.less @@ -10,7 +10,7 @@ .admin__payment-method-wapper { margin: 0; .admin__field { - margin-left: -4rem; + margin-left: 0; &:first-child { margin-top: 1.5rem; } @@ -81,7 +81,6 @@ } } -.order-payment-method-title, .shipping-description-title { font-weight: @font-weight__bold; } @@ -89,3 +88,13 @@ .action-create-label { margin: @indent__s 0; } + +.order-payment-method-title { + + .order-payment-currency { + margin-top: @indent__s; + } + .admin__table-secondary { + margin-top: @indent__s; + &:extend(.abs-admin__table-secondary-edit-order all); + } +} diff --git a/app/design/adminhtml/Magento/backend/web/css/source/_structure.less b/app/design/adminhtml/Magento/backend/web/css/source/_structure.less index c4431841153075f491aa72e6d42e63378bfcbb6c..4223668db061c3d223542a3f3296434f642f450a 100644 --- a/app/design/adminhtml/Magento/backend/web/css/source/_structure.less +++ b/app/design/adminhtml/Magento/backend/web/css/source/_structure.less @@ -38,7 +38,9 @@ body { .page-wrapper { background-color: @page-wrapper__background-color; - float: left; + display: inline-block; + margin-left: -4px; // Clear inline-block gap + vertical-align: top; width: ~'calc(100% - @{menu__width})'; } diff --git a/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less b/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less index 9eead6e701250c233efaed63dcc47cbe00dcc12c..e041f6890e8238f618b8f170ca0e424cc9841ea5 100644 --- a/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less +++ b/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less @@ -16,7 +16,7 @@ @field-control__background-color: @color-white; @field-control__border-color: @action__border-color; @field-control__border-radius: 1px; -@field-control__border-width: .1rem; +@field-control__border-width: 1px; @field-control__color: @color-very-dark-gray-black; @field-control__font-size: @action__font-size; @field-control__line-height: @action__line-height; diff --git a/app/design/adminhtml/Magento/backend/web/css/source/variables/_actions.less b/app/design/adminhtml/Magento/backend/web/css/source/variables/_actions.less index 356dc736f9fa37745c66acadf423763dae9113f5..c48a7d358280b7656b1aa06483fa122698533041 100644 --- a/app/design/adminhtml/Magento/backend/web/css/source/variables/_actions.less +++ b/app/design/adminhtml/Magento/backend/web/css/source/variables/_actions.less @@ -10,7 +10,11 @@ @action__border-color: @color-gray68; @action__font-size: @font-size__base; @action__line-height: @line-height__base; -@action__padding-top: round(((@field-control__height - @field-control__font-size * @field-control__line-height - @field-control__border-width * 2) / 2), 1); + +@action__padding-top: round(((@field-control__height - + (@field-control__font-size * @field-control__line-height) - + ((unit(@field-control__border-width) / @font-rem-ratio) * 2)) / 2), 1); + @action__padding-bottom: @field-control__padding-top; @action__height: 3.3rem; diff --git a/app/design/frontend/Magento/blank/Magento_Bundle/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_Bundle/web/css/source/_module.less index 623c17ced66ff3742fe75ac2d72e802e1f4e1491..bd3627dbed275d6424b9d4debc2c434752664a91 100644 --- a/app/design/frontend/Magento/blank/Magento_Bundle/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_Bundle/web/css/source/_module.less @@ -94,6 +94,16 @@ } } } + .nested { + .field.qty { + .label { + .css(font-weight, @form-field-label__font-weight); + .css(margin, 0 0 @indent__xs); + display: inline-block; + } + .css(margin-top, @form-field__vertical-indent); + } + } p.required { .css(color, @form-field-label-asterisk__color); } @@ -109,7 +119,8 @@ .legend.title { &:extend(.abs-reset-left-margin all); } - .bundle-options-wrapper { + .bundle-options-wrapper, + .product-options-wrapper { float: left; width: 57%; } diff --git a/app/design/frontend/Magento/blank/web/css/source/_forms.less b/app/design/frontend/Magento/blank/web/css/source/_forms.less index 2e43d3ee29c0ce1d6a9bb5abb397d2fd58956ab4..4af33708339c7b9cc5e7d855cc5d71863720fa6e 100644 --- a/app/design/frontend/Magento/blank/web/css/source/_forms.less +++ b/app/design/frontend/Magento/blank/web/css/source/_forms.less @@ -143,8 +143,7 @@ select:focus ~ .tooltip .tooltip-content { .legend { &:extend(.abs-margin-for-forms-desktop all); } - > .field, - > .fields > .field { + > .field { .form-field-type-revert(); margin: 0 0 @form-field__vertical-indent__desktop; } diff --git a/app/design/frontend/Magento/luma/Magento_Bundle/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_Bundle/web/css/source/_module.less index 688523fb46fe96bbd9b2324806791c7f22e84dd0..ed0d2520f68bba6e690ff5a8d200c6e18e846d35 100644 --- a/app/design/frontend/Magento/luma/Magento_Bundle/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_Bundle/web/css/source/_module.less @@ -176,7 +176,8 @@ .legend.title { font-size: @h1__font-size-desktop; } - .bundle-options-wrapper { + .bundle-options-wrapper, + .product-options-wrapper { float: left; width: 57%; } diff --git a/app/design/frontend/Magento/luma/Magento_LayeredNavigation/templates/layer/state.phtml b/app/design/frontend/Magento/luma/Magento_LayeredNavigation/templates/layer/state.phtml index fc254e6017a59be547ac0df098208ac956730af0..f06820d83708cfea27622b38eb207a0e3156f991 100644 --- a/app/design/frontend/Magento/luma/Magento_LayeredNavigation/templates/layer/state.phtml +++ b/app/design/frontend/Magento/luma/Magento_LayeredNavigation/templates/layer/state.phtml @@ -18,7 +18,7 @@ role="heading" aria-level="2" data-role="title" - data-count="<?php echo count($_filters); ?>"><?php echo __('Currently Shopping by') ?></strong> + data-count="<?php echo count($_filters); ?>"><?php echo __('Now Shopping by') ?></strong> <ol class="items"> <?php foreach ($_filters as $_filter): ?> <li class="item"> diff --git a/composer.json b/composer.json index 2fca4d005a36670877caf6253c70e0bb38e92a90..de38e5f9054eaa949f908c24667d2eca249f0c4b 100644 --- a/composer.json +++ b/composer.json @@ -55,6 +55,7 @@ "ext-iconv": "*", "ext-intl": "*", "ext-xsl": "*", + "ext-mbstring": "*", "sjparkinson/static-review": "~4.1", "fabpot/php-cs-fixer": "~1.2", "lusitanian/oauth": "~0.3" diff --git a/composer.lock b/composer.lock index 4e3421ad6e05957d87c2807e67fe0152cbf10bac..ad898f081b37863b7058659247c2f9facb8c4a70 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "32f26595c37e07bb66613d23424788e0", + "hash": "abd337bce9c7d09a56c1c40b3d2e4092", "packages": [ { "name": "composer/composer", @@ -49,7 +49,7 @@ "Composer": "src/" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -261,7 +261,7 @@ "ZF1", "framework" ], - "time": "2015-02-06 17:25:45" + "time": "2015-06-02 08:04:41" }, { "name": "monolog/monolog", @@ -567,7 +567,7 @@ "Symfony\\Component\\Finder\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -616,7 +616,7 @@ "Symfony\\Component\\Process\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2693,7 +2693,7 @@ "src/" ] }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -3192,7 +3192,7 @@ "Symfony\\Component\\Config\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3252,7 +3252,7 @@ "Symfony\\Component\\DependencyInjection\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3310,7 +3310,7 @@ "Symfony\\Component\\EventDispatcher\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3359,7 +3359,7 @@ "Symfony\\Component\\Filesystem\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3408,7 +3408,7 @@ "Symfony\\Component\\Stopwatch\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3457,7 +3457,7 @@ "Symfony\\Component\\Yaml\\": "" } }, - "notification-url": "http://packagist.org/downloads/", + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3499,6 +3499,7 @@ "ext-curl": "*", "ext-iconv": "*", "ext-intl": "*", - "ext-xsl": "*" + "ext-xsl": "*", + "ext-mbstring": "*" } } diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View.php index 81e31a383e320ca22678568f04b40357cf73310f..e9c79011e8a6d7bc73b4cf8899561cac1f36f188 100755 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View.php @@ -113,7 +113,7 @@ class View extends AbstractConfigureBlock protected $clickAddToCompare = '.action.tocompare'; /** - * "Add to Wishlist" button. + * Locator value for "Add to Wish List" button. * * @var string */ @@ -353,7 +353,7 @@ class View extends AbstractConfigureBlock } /** - * Click "Add to Wishlist" button. + * Click "Add to Wish List". * * @return void */ diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php index a18ca9cdd59ee27cd572a3bdda768a93db5cf09e..e41e1b4ab6dd1a5990d28626bb999524a6c87fdc 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php @@ -15,10 +15,10 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertProductAttributeSuccessDeleteMessage extends AbstractConstraint { - const SUCCESS_MESSAGE = 'The product attribute has been deleted.'; + const SUCCESS_MESSAGE = 'You deleted the product attribute.'; /** - * Assert that message "The product attribute has been deleted." is present on Attribute page + * Assert that message "You deleted the product attribute." is present on Attribute page * * @param CatalogProductAttributeIndex $attributeIndex * @return void diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateForm.php index f457daa89747c78c817e4855f4beb80fe6a3c41a..4a634c7d23dec5d00566c6e59a9254800b0a1eb2 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateForm.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateForm.php @@ -43,7 +43,7 @@ class AssertProductTemplateForm extends AbstractConstraint \PHPUnit_Framework_Assert::assertEquals( $filterAttribute['set_name'], $productSetEdit->getAttributeSetEditBlock()->getAttributeSetName(), - 'Attribute Set not found' + 'Product Template not found' . "\nExpected: " . $filterAttribute['set_name'] . "\nActual: " . $productSetEdit->getAttributeSetEditBlock()->getAttributeSetName() ); diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateInGrid.php index 5e8a4e080349d65cd94999a63284e3e752f8f30a..281327b9f8c921784306d09d87b935261a42b5d5 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateInGrid.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateInGrid.php @@ -32,7 +32,7 @@ class AssertProductTemplateInGrid extends AbstractConstraint $productSetPage->open(); \PHPUnit_Framework_Assert::assertTrue( $productSetPage->getGrid()->isRowVisible($filterAttributeSet), - 'Attribute Set \'' . $filterAttributeSet['set_name'] . '\' is absent in Product Template grid.' + 'Product Template \'' . $filterAttributeSet['set_name'] . '\' is absent in Product Template grid.' ); } diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateNotInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateNotInGrid.php index 6169fe31598de123aae474096bae79fa584ccfab..02d8435fb2585e5c0372f07c1b52f20a5ce8b8ed 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateNotInGrid.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateNotInGrid.php @@ -36,7 +36,7 @@ class AssertProductTemplateNotInGrid extends AbstractConstraint $productSetPage->open(); \PHPUnit_Framework_Assert::assertFalse( $productSetPage->getGrid()->isRowVisible($filterAttributeSet), - 'Attribute Set with name "' . $filterAttributeSet['set_name'] . '" is present in Product Template grid.' + 'An attribute set named "' . $filterAttributeSet['set_name'] . '" is present in Product Template grid.' ); } diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateOnProductForm.php index e1aba5f1afee733c99d1e4427be77bb432136f3c..86ef5f1742097b12b5f19e29c41afedef30900ba 100755 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateOnProductForm.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateOnProductForm.php @@ -66,7 +66,7 @@ class AssertProductTemplateOnProductForm extends AbstractConstraint \PHPUnit_Framework_Assert::assertEquals( $attributeSet->getAttributeSetName(), $formAttributeSet, - 'Attribute Set not found on Product form.' + 'Product Template not found on Product form.' . "\nExpected: " . $attributeSet->getAttributeSetName() . "\nActual: " . $formAttributeSet ); @@ -88,6 +88,6 @@ class AssertProductTemplateOnProductForm extends AbstractConstraint */ public function toString() { - return 'Product Attribute and Attribute Set are present on the Product form.'; + return 'Product Attribute and Product Template are present on the Product form.'; } } diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessDeleteMessage.php index a17b7771168651a0ace9141ddfb0e78525d11f25..43cff91896a5373c3641bb780978fddf1ff44407 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertProductTemplateSuccessDeleteMessage extends AbstractConstraint /** * Text value to be checked */ - const SUCCESS_DELETE_MESSAGE = 'The attribute set has been removed.'; + const SUCCESS_DELETE_MESSAGE = 'The product template has been removed.'; /** * Assert that after deleting product template success delete message appears diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessSaveMessage.php index b12adf4ec6d55062749a2a121d311162bfc69556..457cac5b7082e897686f71f98b0571d0c070962e 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTemplateSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertProductTemplateSuccessSaveMessage extends AbstractConstraint /** * Text value to be checked */ - const SUCCESS_MESSAGE = 'You saved the attribute set.'; + const SUCCESS_MESSAGE = 'You saved the product template.'; /** * Assert that after save a product template "You saved the attribute set." successful message appears diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php index 94ab4152c7bc58b8d1eeaf577ea798268ace721f..ed44c17d572bdd9db17cfa213bbd0b1916d2854c 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php @@ -122,8 +122,8 @@ abstract class AbstractCompareProductsTest extends Injectable */ protected function loginCustomer() { - if (!$this->cmsIndex->getLinksBlock()->isLinkVisible('Log Out')) { - $this->cmsIndex->getLinksBlock()->openLink("Log In"); + if (!$this->cmsIndex->getLinksBlock()->isLinkVisible('Sign Out')) { + $this->cmsIndex->getLinksBlock()->openLink("Sign In"); $this->customerAccountLogin->getLoginBlock()->login($this->customer); } } diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php index b2bfa44e709845c293d02b4982813881206189cc..8609e5acd331b1c9e4b318ba7ed3a74c13010768 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php @@ -14,11 +14,11 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCatalogPriceRuleNoticeMessage extends AbstractConstraint { - const NOTICE_MESSAGE_RULES = 'There are rules that have been changed but were not applied.'; + const NOTICE_MESSAGE_RULES = 'We found updated rules that are not applied.'; const NOTICE_MESSAGE_APPLY = ' Please, click Apply Rules in order to see immediate effect in the catalog.'; /** - * Assert that message "There are rules that have been changed but were not applied..." + * Assert that message "We found updated rules that are not applied..." * is present on page after Save (without applying Rule) * or after Edit (without applying Rule) action on the Catalog Price Rules page. * diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php index 58ec4e806350146e146ae018acec5eeec4ccba43..f8531c5540c3ff4acb4dd8bdff33042766153cec 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php @@ -14,10 +14,10 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCatalogPriceRuleSuccessDeleteMessage extends AbstractConstraint { - const SUCCESS_DELETE_MESSAGE = 'The rule has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the rule.'; /** - * Assert that message "The rule has been deleted." is appeared on Catalog Price Rules page. + * Assert that message "You deleted the rule." is appeared on Catalog Price Rules page. * * @param CatalogRuleIndex $pageCatalogRuleIndex * @return void diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php index ef3f54ac988225a9dfdb2a907f8af764cbe1cecb..a1cdb0e31bd9f1ebb4e32b957d011af5dd4224f4 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCatalogPriceRuleSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_MESSAGE = 'The rule has been saved.'; + const SUCCESS_MESSAGE = 'You saved the rule.'; /** * Assert that success message is displayed after Catalog Price Rule saved diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml index 88c2147c46a54c83273e0ebe386af6f4e3bf39a9..f76cebd5e059c921b0f734c37a913239f559fd32 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml @@ -17,7 +17,7 @@ <field name="customer_group_ids" xsi:type="array"> <item name="0" xsi:type="string">NOT LOGGED IN</item> </field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">50</field> </dataset> <field name="name" is_required="1" group="rule_information"> @@ -46,7 +46,7 @@ <default_value xsi:type="null"/> </field> <field name="simple_action" is_required="0" group="actions"> - <default_value xsi:type="string">By Percentage of the Original Price</default_value> + <default_value xsi:type="string">Apply as percentage of original</default_value> </field> <field name="discount_amount" is_required="1" group="actions"> <default_value xsi:type="number">50</default_value> diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php index 3425b84fc72e4455413eb35f7017f68380540c5c..8ebd1ad9f3a8453799f549ddb2d5d4ad22d54604 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php @@ -43,10 +43,10 @@ class Curl extends Conditions implements CatalogRuleInterface */ protected $mappingData = [ 'simple_action' => [ - 'By Percentage of the Original Price' => 'by_percent', - 'By Fixed Amount' => 'by_fixed', - 'To Percentage of the Original Price' => 'to_percent', - 'To Fixed Amount' => 'to_fixed', + 'Apply as percentage of original' => 'by_percent', + 'Apply as fixed amount' => 'by_fixed', + 'Adjust final price to this percentage' => 'to_percent', + 'Adjust final price to discount value' => 'to_fixed', ], 'is_active' => [ 'Active' => 1, diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml index be8f327ca8f1e9e6c4c3f54ca14776401dda2341..1991317d9d1aa12995023e96e0699c8cc1d1a662 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml @@ -23,7 +23,7 @@ <field name="from_date" xsi:type="string">3/25/14</field> <field name="to_date" xsi:type="string">3/29/14</field> <field name="sort_order" xsi:type="string">1</field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">50</field> </dataset> @@ -36,7 +36,7 @@ <field name="customer_group_ids" xsi:type="array"> <item name="0" xsi:type="string">NOT LOGGED IN</item> </field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">50</field> </dataset> @@ -54,7 +54,7 @@ <item name="3" xsi:type="string">Retailer</item> </field> <field name="rule" xsi:type="string">[Category|is|2]</field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">10</field> </dataset> @@ -69,13 +69,13 @@ <item name="0" xsi:type="string">NOT LOGGED IN</item> </field> <field name="sort_order" xsi:type="string">0</field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">50</field> </dataset> <dataset name="catalog_price_rule_priority_1_stop_further_rules"> <field name="name" xsi:type="string">catalog_price_rule_priority_1_stop_further_rules</field> - <field name="description" xsi:type="string">Priority 1, -5 By fixed amount</field> + <field name="description" xsi:type="string">Priority 1, -5 Apply as fixed amount</field> <field name="is_active" xsi:type="string">Active</field> <field name="website_ids" xsi:type="array"> <item name="0" xsi:type="string">Main Website</item> @@ -84,14 +84,14 @@ <item name="0" xsi:type="string">NOT LOGGED IN</item> </field> <field name="sort_order" xsi:type="string">1</field> - <field name="simple_action" xsi:type="string">By Fixed Amount</field> + <field name="simple_action" xsi:type="string">Apply as fixed amount</field> <field name="discount_amount" xsi:type="string">5</field> <field name="stop_rules_processing" xsi:type="string">Yes</field> </dataset> <dataset name="catalog_price_rule_priority_2"> <field name="name" xsi:type="string">catalog_price_rule_priority_2</field> - <field name="description" xsi:type="string">Priority 2, -10 By fixed amount</field> + <field name="description" xsi:type="string">Priority 2, -10 Apply as fixed amount</field> <field name="is_active" xsi:type="string">Active</field> <field name="website_ids" xsi:type="array"> <item name="0" xsi:type="string">Main Website</item> @@ -100,7 +100,7 @@ <item name="0" xsi:type="string">NOT LOGGED IN</item> </field> <field name="sort_order" xsi:type="string">2</field> - <field name="simple_action" xsi:type="string">By Fixed Amount</field> + <field name="simple_action" xsi:type="string">Apply as fixed amount</field> <field name="discount_amount" xsi:type="string">10</field> </dataset> @@ -118,7 +118,7 @@ <item name="3" xsi:type="string">Retailer</item> </field> <field name="sort_order" xsi:type="string">0</field> - <field name="simple_action" xsi:type="string">By Percentage of the Original Price</field> + <field name="simple_action" xsi:type="string">Apply as percentage of original</field> <field name="discount_amount" xsi:type="string">50</field> </dataset> </repository> diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml index 9a55206423b6e658c7a877ce563c9d280224e45a..86f7da0d73c0ad5701f386ece3e2f9ff8b89cc69 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml @@ -14,7 +14,7 @@ <data name="catalogPriceRule/data/website_ids/option_0" xsi:type="string">Main Website</data> <data name="catalogPriceRule/data/customer_group_ids/option_0" xsi:type="string">Wholesale</data> <data name="catalogPriceRule/data/condition" xsi:type="string">-</data> - <data name="catalogPriceRule/data/simple_action" xsi:type="string">By Percentage of the Original Price</data> + <data name="catalogPriceRule/data/simple_action" xsi:type="string">Apply as percentage of original</data> <data name="catalogPriceRule/data/discount_amount" xsi:type="string">50</data> <constraint name="Magento\CatalogRule\Test\Constraint\AssertCatalogPriceRuleSuccessSaveMessage"/> <constraint name="Magento\CatalogRule\Test\Constraint\AssertCatalogPriceRuleNoticeMessage"/> @@ -28,7 +28,7 @@ <data name="catalogPriceRule/data/website_ids/option_0" xsi:type="string">Main Website</data> <data name="catalogPriceRule/data/customer_group_ids/option_0" xsi:type="string">General</data> <data name="catalogPriceRule/data/condition" xsi:type="string">-</data> - <data name="catalogPriceRule/data/simple_action" xsi:type="string">By Fixed Amount</data> + <data name="catalogPriceRule/data/simple_action" xsi:type="string">Apply as fixed amount</data> <data name="catalogPriceRule/data/discount_amount" xsi:type="string">10</data> <constraint name="Magento\CatalogRule\Test\Constraint\AssertCatalogPriceRuleSuccessSaveMessage"/> <constraint name="Magento\CatalogRule\Test\Constraint\AssertCatalogPriceRuleNoticeMessage"/> diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogRuleTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogRuleTest.xml index 91556d40fba7f2d537452532882bb22c75ca265a..22d58096d2cebe4e89e5c9687d411a6fc79e45d3 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogRuleTest.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogRuleTest.xml @@ -14,7 +14,7 @@ <data name="catalogPriceRule/data/website_ids" xsi:type="string">Main Website</data> <data name="catalogPriceRule/data/customer_group_ids" xsi:type="string">NOT LOGGED IN</data> <data name="catalogPriceRule/data/conditions" xsi:type="string">[Category|is|%category_1%]</data> - <data name="catalogPriceRule/data/simple_action" xsi:type="string">To Percentage of the Original Price</data> + <data name="catalogPriceRule/data/simple_action" xsi:type="string">Adjust final price to this percentage</data> <data name="catalogPriceRule/data/discount_amount" xsi:type="string">90</data> <data name="cartPrice/sub_total" xsi:type="string">90</data> <data name="cartPrice/grand_total" xsi:type="string">90</data> @@ -35,7 +35,7 @@ <data name="catalogPriceRule/data/is_active" xsi:type="string">Active</data> <data name="catalogPriceRule/data/website_ids" xsi:type="string">Main Website</data> <data name="catalogPriceRule/data/conditions" xsi:type="string">[Category|is|%category_1%]</data> - <data name="catalogPriceRule/data/simple_action" xsi:type="string">By Percentage of the Original Price</data> + <data name="catalogPriceRule/data/simple_action" xsi:type="string">Apply as percentage of original</data> <data name="catalogPriceRule/data/discount_amount" xsi:type="string">50</data> <data name="cartPrice/sub_total" xsi:type="string">5</data> <data name="cartPrice/grand_total" xsi:type="string">5</data> diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml index b3ba80fd8108654f103cdcad5f7d57353754acf3..5f8e83c2386ef6e50bc03453204ed1ac59e19290 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml @@ -8,8 +8,8 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> <testCase name="Magento\Backend\Test\TestCase\NavigateMenuTest"> <variation name="NavigateMenuTest14"> - <data name="menuItem" xsi:type="string">Marketing > Catalog Price Rules</data> - <data name="pageTitle" xsi:type="string">Catalog Price Rules</data> + <data name="menuItem" xsi:type="string">Marketing > Catalog Price Rule</data> + <data name="pageTitle" xsi:type="string">Catalog Price Rule</data> <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> </variation> </testCase> diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml index 8ca777197b95712bb6cd7253f33d258120556b32..9f1e3a665ff224c329fc203ca9b01a24f9d0c91e 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml +++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml @@ -24,7 +24,7 @@ <data name="catalogPriceRule/data/description" xsi:type="string">New Catalog Price Rule Description %isolation%</data> <data name="catalogPriceRule/data/is_active" xsi:type="string">Active</data> <data name="catalogPriceRule/data/conditions" xsi:type="string">[Category|is|%category_1%]</data> - <data name="catalogPriceRule/data/simple_action" xsi:type="string">By Fixed Amount</data> + <data name="catalogPriceRule/data/simple_action" xsi:type="string">Apply as fixed amount</data> <data name="catalogPriceRule/data/discount_amount" xsi:type="string">35</data> <data name="saveAction" xsi:type="string">saveAndApply</data> <data name="cartPrice/sub_total" xsi:type="string">65</data> diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php index fb9e01f128d7f076627a7f42f0c8cbecec02aaed..c0d52d294ef89510a72dd2bc52cd00c379980bd7 100644 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php +++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php @@ -23,7 +23,7 @@ class AssertAdvancedSearchProductsResult extends AbstractConstraint /** * Text for error messages */ - const ERROR_MESSAGE = 'No items were found using the following search criteria.'; + const ERROR_MESSAGE = 'We can\'t find any items matching these search criteria.'; /** * Search results page diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php index c2c64fd6903d8b877c8cf18dc0fc922e2970c98f..77da7feb3be502c4748b1c004629d470363e51fc 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php @@ -40,7 +40,7 @@ class AbstractCartItem extends Block * * @var string */ - protected $qty = './/input[@type="number" and @title="Qty"]'; + protected $qty = './/input[@type="number" and @title="Quantity"]'; /** * Cart item sub-total xpath selector diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php index 44de73078781de9aefbe259e80523cd9f2d1379c..ed337c38d0c4b8248a3d5a603762de27bb8c8091 100755 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php @@ -36,7 +36,7 @@ class CartItem extends AbstractCartItem protected $bundleOptions = './/dl[contains(@class, "item-options")]/dd[%d]/span[@class="price"][%d]'; /** - * 'Move to Wishlist' button + * Locator value for "Move to Wish List" button. * * @var string */ @@ -249,7 +249,7 @@ class CartItem extends AbstractCartItem } /** - * Click on move to wishlist button + * Click "Move to Wish List". * * @return void */ diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php index c56571f76038fe764fc1522422e13013519705c1..c1688d50dc64a7445664cf59e1e0b1326a6bf6a4 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php @@ -30,7 +30,7 @@ class Login extends Form protected $continue = '#onepage-guest-register-button'; /** - * 'Checkout as Guest' radio button + * Locator value for "Check Out as Guest" radio button. * * @var string */ diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php index 0fc7096428d7443363872ed47f16beb1f6a6df8a..eb57e0ac4719d8257841954818bc18de7ad62d78 100644 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertTermSuccessDeleteMessage extends AbstractConstraint /** * Success terms and conditions delete message */ - const SUCCESS_DELETE_MESSAGE = 'The condition has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the condition.'; /** * Assert that after deleting Term successful delete message appears. diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php index d497fc4c8889eba8511af543496429d8128cc11d..ba715ffa968962e59c6d8a4866341dd14fb1226a 100644 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertTermSuccessSaveMessage extends AbstractConstraint /** * Success terms and conditions save message */ - const SUCCESS_SAVE_MESSAGE = 'The condition has been saved.'; + const SUCCESS_SAVE_MESSAGE = 'You saved the condition.'; /** * Assert that after save block successful message appears. diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php index 36d25d1c49f55d3c81f424354a9fd9ea31804cfe..965b7fe07cc7b0eabce9f99a47f54cca093bcdd9 100644 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCmsBlockDeleteMessage extends AbstractConstraint { - const SUCCESS_DELETE_MESSAGE = 'The block has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the block.'; /** * Assert that after delete CMS block successful message appears. diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php index 615c4b06fb44ada65c869600fe41a1136dac543a..1c2696d6ed3c527b3d1cb0addc79095bf025342e 100644 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCmsBlockSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_SAVE_MESSAGE = 'The block has been saved.'; + const SUCCESS_SAVE_MESSAGE = 'You saved the block.'; /** * Assert that after save block successful message appears. diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php index e047e5de15ac053c5bf948526f1ac2b317c7e729..c57528db3735163ef8a94fdf34e6370ddaf8426b 100644 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php @@ -10,14 +10,14 @@ use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; use Magento\Mtf\Constraint\AbstractConstraint; /** - * Assert that after save a CMS page "The page has been saved." successful message appears. + * Assert that after save a CMS page "You saved this page." successful message appears. */ class AssertCmsPageSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_SAVE_MESSAGE = 'The page has been saved.'; + const SUCCESS_SAVE_MESSAGE = 'You saved this page.'; /** - * Assert that after save a CMS page "The page has been saved." successful message appears. + * Assert that after save a CMS page "You saved this page." successful message appears. * * @param CmsPageIndex $cmsIndex * @return void diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php index cba4716edd84187d85cadc248b2f13e9971b2c7e..912106f71bb7542d0f0ffb5339e73657b65d23f2 100644 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php @@ -15,7 +15,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCurrencySymbolSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_SAVE_MESSAGE = 'The custom currency symbols were applied.'; + const SUCCESS_SAVE_MESSAGE = 'You applied the custom currency symbols.'; /** * Assert that after clicking on 'Save Currency Symbols' button success message appears. diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php index 26fe078ecac2ede1d8cd20031d4a44efb09add9c..8568c75053e424470bef5cfd6dd9fd92f6e31e90 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php @@ -18,7 +18,7 @@ class AssertAddressDeletedFrontend extends AbstractConstraint /** * Expected message */ - const EXPECTED_MESSAGE = 'You have no additional address entries in your address book.'; + const EXPECTED_MESSAGE = 'You have no other address entries in your address book.'; /** * Asserts that Asserts that 'Additional Address Entries' contains expected message diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php index c641ad3799725c363944252fcf8b915efef794f4..48c58b1c316d96ceedc389c57252ce684f91e05a 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php @@ -18,7 +18,7 @@ class AssertChangePasswordFailMessage extends AbstractConstraint /** * Fail message */ - const FAIL_MESSAGE = "Password doesn't match for this account."; + const FAIL_MESSAGE = 'The password doesn\'t match this account.'; /** * Assert that fail message is present diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php index ab7ac43f7956c3ce63a90deb354fda0552e03f4d..9dbf30c353e9d1fde84b182da0a63f35123390b7 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertCustomerAddressSuccessSaveMessage extends AbstractConstraint const SEVERITY = 'low'; /* end tags */ - const SUCCESS_MESSAGE = 'The address has been saved.'; + const SUCCESS_MESSAGE = 'You saved the address.'; /** * Asserts that success message equals to expected message diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php index 8e90ae7bcaa894219082bccfd5142419665426fc..81b3fc72b63d9cfdfaf3cbc15b50a6f8e3a40f97 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCustomerGroupSuccessDeleteMessage extends AbstractConstraint { - const SUCCESS_DELETE_MESSAGE= "The customer group has been deleted."; + const SUCCESS_DELETE_MESSAGE= "You deleted the customer group."; /** * Assert that message "The customer group has been deleted." is displayed on Customer Group page. diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php index a7cc0fca78dd1c288ad69fb510cff859ea0a9efc..9069acfce812b0c2bd116eb486d1a0faa36b312f 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCustomerGroupSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_MESSAGE = 'The customer group has been saved.'; + const SUCCESS_MESSAGE = 'You saved the customer group.'; /** * Assert that success message is displayed after customer group save diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php index 6f9d6d9c144ef294d321bbc1e42b06847710e4e6..6396afca4ba5dc0faa10e3f0bd6987d3baed04cd 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php @@ -18,7 +18,7 @@ class AssertCustomerInfoSuccessSavedMessage extends AbstractConstraint const SEVERITY = 'low'; /* end tags */ - const SUCCESS_MESSAGE = 'The account information has been saved.'; + const SUCCESS_MESSAGE = 'You saved the account information.'; /** * Asserts that success message equals to expected message diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php index 010ed24047c38808b955e7645fccfbcccf858f6e..aebcf4f2695ab88ee2d565c5012d4dd9dcbf2766 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php @@ -86,7 +86,7 @@ class CreateExistingCustomerFrontendEntity extends Injectable // Steps $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Register'); + $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); $this->customerAccountCreate->getRegisterForm()->registerCustomer($existingCustomer); } diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php index 8e961286ee4849c59035a3b2dbcd745642962f7b..e9eadb198a5903d8ca0d01bb6db13178ea994aed 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php @@ -16,7 +16,7 @@ use Magento\Customer\Test\Page\CustomerAccountForgotPassword; * * Steps: * 1. Open forgot password page. - * 2. Fill e-mail. + * 2. Fill email. * 3. Click forgot password button. * 4. Check forgot password message. * diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php index c28cfc03061c37e2de64411c804488a5bac7208a..9e327387a2a369610090d36b9882594592e07756 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php @@ -72,7 +72,7 @@ class RegisterCustomerFrontendEntityTest extends Injectable { //Steps $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Register'); + $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); } diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php index 3cd67136fbb23d00d5c60996725ea7d70434c119..ff3cdce1e345e25906d9fc66d369b6634754634c 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php @@ -71,7 +71,7 @@ class LoginCustomerOnFrontendStep implements TestStepInterface public function run() { $this->logoutCustomerOnFrontend->run(); - $this->cmsIndex->getLinksBlock()->openLink("Log In"); + $this->cmsIndex->getLinksBlock()->openLink('Sign In'); $this->cmsIndex->getCmsPageBlock()->waitPageInit(); $this->customerAccountLogin->getLoginBlock()->login($this->customer); $this->cmsIndex->getCmsPageBlock()->waitPageInit(); diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php index 5a441a09bccec36068cb2efc51e23a0497296756..5e1cac805f95e1f768746aa73fb2a3a211d5b998 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php @@ -18,7 +18,7 @@ class LogoutCustomerOnFrontendStep implements TestStepInterface /** * Logout page title. */ - const LOGOUT_PAGE_TITLE = 'You are now logged out'; + const LOGOUT_PAGE_TITLE = 'You are signed out.'; /** * Cms index page. @@ -54,8 +54,8 @@ class LogoutCustomerOnFrontendStep implements TestStepInterface { $this->cmsIndex->open(); $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - if ($this->cmsIndex->getLinksBlock()->isLinkVisible("Log Out")) { - $this->cmsIndex->getLinksBlock()->openLink("Log Out"); + if ($this->cmsIndex->getLinksBlock()->isLinkVisible('Sign Out')) { + $this->cmsIndex->getLinksBlock()->openLink('Sign Out'); $this->cmsIndex->getCmsPageBlock()->waitUntilTextIsVisible('Home Page'); $this->cmsIndex->getCmsPageBlock()->waitPageInit(); } diff --git a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml index add7f2519646396f0697621f74646ce4986d46bb..846ea00925857a42c33c6fc80933cf69d7760a19 100644 --- a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml +++ b/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml @@ -8,7 +8,7 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> <testCase name="Magento\Checkout\Test\TestCase\OnePageCheckoutTest"> <variation name="OnePageCheckoutTestVariation22"> - <data name="description" xsi:type="string">Checkout as guest using FedEx with US shipping origin and UK customer</data> + <data name="description" xsi:type="string">Check Out as Guest using FedEx with US shipping origin and UK customer</data> <data name="products" xsi:type="string">catalogProductSimple::default, configurableProduct::default, bundleProduct::bundle_fixed_product</data> <data name="checkoutMethod" xsi:type="string">guest</data> <data name="customer/dataSet" xsi:type="string">default</data> diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php b/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php index dec19f621eda153301cce67d640609aa1bc406d2..5b9914c6e35b454a88d2556ee074307e1b4b4447 100644 --- a/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php +++ b/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php @@ -23,7 +23,7 @@ class AssertSuccessInstall extends AbstractConstraint */ protected $adminFieldsList = [ ['pageData' => 'username', 'fixture' => 'username'], - ['pageData' => 'e-mail', 'fixture' => 'email'], + ['pageData' => 'email', 'fixture' => 'email'], ['pageData' => 'your_store_address', 'fixture' => 'baseUrl'], ['pageData' => 'magento_admin_address', 'fixture' => 'admin'] ]; diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php index 8b8b16cd4f5e49693d905356f208d9144a49e294..e38185913e5d6b93126a2fe76f408689deede241 100644 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php +++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php @@ -22,7 +22,7 @@ class Addresses extends Block protected $newAddress = '[data-role="add-new-address"]'; /** - * 'Continue to Shipping Information' button. + * Locator value for "Go to Shipping Information" button. * * @var string */ diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php index 4e211b830f1eed64ce016e02a7651c3da49cb96d..91bc3f5225313d5763b4b39f9360df0d6fd9772d 100644 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php +++ b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php @@ -21,7 +21,7 @@ class AssertMultishippingOrderSuccessPlacedMessage extends AbstractConstraint /** * Expected success message */ - const SUCCESS_MESSAGE = 'Your order has been received.'; + const SUCCESS_MESSAGE = 'We received your order!'; /** * Assert that success message is correct. diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php index d9c1c718ab55db5b79502ea02e82f74945af88c3..a5b7e25733f420421ffd57e851a0a9fda9ffa063 100755 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php +++ b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php @@ -17,7 +17,7 @@ class AssertReviewCreationSuccessMessage extends AbstractConstraint /** * Text of success message after review created */ - const SUCCESS_MESSAGE = 'Your review has been accepted for moderation.'; + const SUCCESS_MESSAGE = 'You submitted your review for moderation.'; /** * Assert that success message is displayed after review created diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php index 8e7331ff5c9bf18e58de29d75384d7f388d3dc7f..b20839bba30cd73e682177330a2bfb000b4f369e 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php @@ -18,7 +18,7 @@ class AssertOrderStatusSuccessAssignMessage extends AbstractConstraint /** * OrderStatus assigning success message */ - const SUCCESS_MESSAGE = 'You have assigned the order status.'; + const SUCCESS_MESSAGE = 'You assigned the order status.'; /** * Assert that success message is displayed after order status assigning diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php index 486b801dbed5c02e07b08753d1b2f256003a523e..0e6e63eb9f18507493187c9b7d1311d9455b25d4 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php @@ -19,7 +19,7 @@ class AssertOrderStatusSuccessCreateMessage extends AbstractConstraint const SEVERITY = 'low'; /* end tags */ - const SUCCESS_MESSAGE = 'You have saved the order status.'; + const SUCCESS_MESSAGE = 'You saved the order status.'; /** * Assert that success message is displayed after order status saved. diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml index b5c195908cc8140a1b75fd84fc4c8f55549123c0..043c556bc3fc6e5bf3fb1f0c67d54c00201b2752 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml @@ -8,7 +8,7 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> <testCase name="Magento\Sales\Test\TestCase\CancelCreatedOrderTest"> <variation name="CancelCreatedOrderTestVariation1"> - <data name="description" xsi:type="string">cancel order and check status on the frontend</data> + <data name="description" xsi:type="string">cancel order and check status on storefront</data> <data name="order/dataSet" xsi:type="string">default</data> <data name="order/data/entity_id/products" xsi:type="string">catalogProductSimple::default,catalogProductSimple::default</data> <data name="status" xsi:type="string">Canceled</data> diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml index 962f0262f34f2714a8bc06325a8926069115d57e..b860583704c39bff1907b1227684516d15be04c1 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml @@ -8,7 +8,7 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> <testCase name="Magento\Sales\Test\TestCase\HoldCreatedOrderTest"> <variation name="HoldCreatedOrderTestVariation1"> - <data name="description" xsi:type="string">hold order and check status on the front in my account</data> + <data name="description" xsi:type="string">hold order and check status in my account on storefront</data> <data name="order/dataSet" xsi:type="string">default</data> <data name="order/data/entity_id/products" xsi:type="string">catalogProductSimple::default,catalogProductSimple::default</data> <data name="orderButtonsUnavailable" xsi:type="string">Invoice,Cancel,Reorder,Ship,Edit</data> diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php index 4c507b9605f409dbf1132308e66021b54ee994e3..2cf4cfb37d7591c67c41fb0a4db26eec88ec3860 100644 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertCartPriceRuleSuccessDeleteMessage extends AbstractConstraint const SEVERITY = 'low'; /* end tags */ - const SUCCESS_DELETE_MESSAGE = 'The rule has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the rule.'; /** * Assert that success message is displayed after sales rule delete. diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php index 409498a592682a5890945a2a9d979c631502f762..6c0484f965e26af8788efebd59abcd6a6527af5b 100644 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php @@ -14,7 +14,7 @@ use Magento\Mtf\Constraint\AbstractConstraint; */ class AssertCartPriceRuleSuccessSaveMessage extends AbstractConstraint { - const SUCCESS_MESSAGE = 'The rule has been saved.'; + const SUCCESS_MESSAGE = 'You saved the rule.'; /** * Assert that success message is displayed after sales rule save. diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php index 4a3c4915771646a796b1fbd59087545442681dbf..7d101ed70c65706ec98868d63ba2984afbbe8335 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php @@ -23,7 +23,7 @@ class AssertStoreGroupSuccessDeleteAndBackupMessages extends AbstractConstraint /** * Success store group delete message */ - const SUCCESS_DELETE_MESSAGE = 'The store has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the store.'; /** * Assert that success messages is displayed after deleting store group diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php index 91309d808a15a2e40c74382d7f1e0d6cea607ede..ea9be6f761b102f359cc1edd0a5ee16564c077f2 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertStoreGroupSuccessDeleteMessage extends AbstractConstraint /** * Success store group delete message */ - const SUCCESS_DELETE_MESSAGE = 'The store has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the store.'; /** * Assert that success message is displayed after deleting store group diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php index 6c20ef821330875a40e1be8179cc542b1fdb11c0..5be639d9d9279bca28978d4af48012a9ab2722a8 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertStoreGroupSuccessSaveMessage extends AbstractConstraint /** * Success store create message */ - const SUCCESS_MESSAGE = 'The store has been saved.'; + const SUCCESS_MESSAGE = 'You saved the store.'; /** * Assert that success message is displayed after Store Group has been created diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php index 83af2e7c0c83220380ef74cd8b99b89fb7c7339d..30993d6f2fcc757c483580706eb06e96449b3848 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php @@ -23,7 +23,7 @@ class AssertStoreSuccessDeleteAndBackupMessages extends AbstractConstraint /** * Success store delete message */ - const SUCCESS_DELETE_MESSAGE = 'The store view has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the store view.'; /** * Assert that store success delete and backup messages are present diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php index 16787f9051bc3d0fb68a2a0b66e9659435117489..82dd5459f8ba49c1d9e98ce71cd79d002438b07f 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertStoreSuccessDeleteMessage extends AbstractConstraint /** * Success store delete message */ - const SUCCESS_DELETE_MESSAGE = 'The store view has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the store view.'; /** * Assert that after store delete successful message appears diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php index 1adf2c2eb6e2a72cd80989f41bd614b104137993..cf467e88cb587ebfe66c9c9049448a8eb1208b67 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertStoreSuccessSaveMessage extends AbstractConstraint /** * Success store view create message */ - const SUCCESS_MESSAGE = 'The store view has been saved'; + const SUCCESS_MESSAGE = 'You saved the store view.'; /** * Assert that success message is displayed after Store View has been created diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php index 451dd0cc5dd95b704406c7978f34c28cca98cfe4..c5c6a7d2d48068dcc34aec86af9b103ac53522c4 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php @@ -23,7 +23,7 @@ class AssertWebsiteSuccessDeleteAndBackupMessages extends AbstractConstraint /** * Success website delete message */ - const SUCCESS_DELETE_MESSAGE = 'The website has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the website.'; /** * Assert that success messages is displayed after deleting website diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php index 0ba9aa0762ebdf4443107b9b2cf808c952bcec48..11d54478e8df7fbb28c202d1b62fffb54a59e162 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php @@ -18,7 +18,7 @@ class AssertWebsiteSuccessDeleteMessage extends AbstractConstraint /** * Success website delete message */ - const SUCCESS_DELETE_MESSAGE = 'The website has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the website.'; /** * Assert that success message is displayed after deleting website diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php index 177029571c7892c031ae6ddb7f8bc6ac8b4e5cf8..2078e611262bc4022a42a8f0d37fc09d8534dbaf 100644 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php +++ b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php @@ -18,7 +18,7 @@ class AssertWebsiteSuccessSaveMessage extends AbstractConstraint /** * Success website create message */ - const SUCCESS_MESSAGE = 'The website has been saved.'; + const SUCCESS_MESSAGE = 'You saved the website.'; /** * Assert that success message is displayed after Website has been created diff --git a/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml index fcb92ddb6be2a91c3c689bd686687517c4c6ef16..6fc10ed38d6c56eaad94467b0d8a1a82b7f242cc 100644 --- a/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml +++ b/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml @@ -24,7 +24,7 @@ <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty"/> </variation> <variation name="OnePageCheckoutTestVariation25"> - <data name="description" xsi:type="string">Checkout as guest using UPS with US shipping origin and UK customer</data> + <data name="description" xsi:type="string">Check Out as Guest using UPS with US shipping origin and UK customer</data> <data name="products" xsi:type="string">catalogProductSimple::default, configurableProduct::default, bundleProduct::bundle_fixed_product</data> <data name="checkoutMethod" xsi:type="string">guest</data> <data name="customer/dataSet" xsi:type="string">default</data> diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php index 8542c0fa9b0fab1dfccfdeea673cac05fb7e62c3..ac453e2ebdc40642ed3d948c5663aaec5bd9d9a7 100644 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php +++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php @@ -18,7 +18,7 @@ class AssertUrlRewriteDeletedMessage extends AbstractConstraint /** * Message that displayed after delete url rewrite */ - const SUCCESS_DELETE_MESSAGE = 'The URL Rewrite has been deleted.'; + const SUCCESS_DELETE_MESSAGE = 'You deleted the URL rewrite.'; /** * Assert that delete message is displayed diff --git a/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml index 25c488a697e577f4589ef24fd679ae5e52ed3f89..b930b0fb8abc7e9d60dbde9e80605ae26a629f1a 100644 --- a/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml +++ b/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml @@ -24,7 +24,7 @@ <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty"/> </variation> <variation name="OnePageCheckoutTestVariation27"> - <data name="description" xsi:type="string">Checkout as guest using USPS with US shipping origin and UK customer</data> + <data name="description" xsi:type="string">Check Out as Guest using USPS with US shipping origin and UK customer</data> <data name="products" xsi:type="string">catalogProductSimple::default, configurableProduct::default, bundleProduct::bundle_fixed_product</data> <data name="checkoutMethod" xsi:type="string">guest</data> <data name="customer/dataSet" xsi:type="string">default</data> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php index 5f427ca5531f3dabfa6297513defebd191875959..49897e480fa59495aaba2bc16d5a49198ce42c33 100644 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php +++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php @@ -30,7 +30,7 @@ class Product extends Form protected $remove = '[data-role="remove"]'; /** - * Selector for 'View Details' element + * Locator value for "See Details" tooltip. * * @var string */ diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php index 9119a7273c8c8640a6e64cc6e70cba2d2dbc61b5..758fb0cee41cef861b9dc8d3d3858e848923e7d5 100644 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php +++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php @@ -12,7 +12,7 @@ use Magento\Wishlist\Test\Page\WishlistIndex; use Magento\Mtf\Constraint\AbstractAssertForm; /** - * Assert that the correct option details are displayed on the "View Details" tool tip. + * Assert that the correct option details are displayed on the "See Details" tooltip. */ abstract class AbstractAssertWishlistProductDetails extends AbstractAssertForm { diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php index 0748d08846e9c7729c6887129e42a2a97a628afb..635f1c684103ea05fde117de61bf57595780c0c3 100644 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php +++ b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php @@ -12,12 +12,12 @@ use Magento\Mtf\Fixture\FixtureFactory; use Magento\Mtf\Fixture\InjectableFixture; /** - * Assert that the correct option details are displayed on the "View Details" tool tip. + * Assert that the correct option details are displayed on the "See Details" tooltip. */ class AssertProductDetailsInWishlist extends AbstractAssertWishlistProductDetails { /** - * Assert that the correct option details are displayed on the "View Details" tool tip. + * Assert that the correct option details are displayed on the "See Details" tooltip. * * @param CmsIndex $cmsIndex * @param WishlistIndex $wishlistIndex diff --git a/dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php similarity index 63% rename from dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php rename to dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php index 1100934f8dc0362d7f12fa44c5e677975f819e0d..8ae817b42cee2324f68f264a50fa17ae9e5b265b 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php +++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php @@ -3,14 +3,14 @@ * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ -namespace Magento\Backend\Utility; +namespace Magento\TestFramework\TestCase; /** * A parent class for backend controllers - contains directives for admin user creation and authentication * @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.numberOfChildren) */ -class Controller extends \Magento\TestFramework\TestCase\AbstractController +abstract class AbstractBackendController extends \Magento\TestFramework\TestCase\AbstractController { /** * @var \Magento\Backend\Model\Auth\Session @@ -22,6 +22,20 @@ class Controller extends \Magento\TestFramework\TestCase\AbstractController */ protected $_auth; + /** + * The resource used to authorize action + * + * @var string + */ + protected $resource = null; + + /** + * The uri at which to access the controller + * + * @var string + */ + protected $uri = null; + protected function setUp() { parent::setUp(); @@ -70,4 +84,27 @@ class Controller extends \Magento\TestFramework\TestCase\AbstractController ) { parent::assertSessionMessages($constraint, $messageType, $messageManagerClass); } + + + public function testAclHasAccess() + { + if ($this->uri === null) { + $this->markTestIncomplete('AclHasAccess test is not complete'); + } + $this->dispatch($this->uri); + $this->assertNotSame(403, $this->getResponse()->getHttpResponseCode()); + $this->assertNotSame(404, $this->getResponse()->getHttpResponseCode()); + } + + public function testAclNoAccess() + { + if ($this->resource === null) { + $this->markTestIncomplete('Acl test is not complete'); + } + $this->_objectManager->get('Magento\Framework\Acl\Builder') + ->getAcl() + ->deny(null, $this->resource); + $this->dispatch($this->uri); + $this->assertSame(403, $this->getResponse()->getHttpResponseCode()); + } } diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php new file mode 100644 index 0000000000000000000000000000000000000000..06b47f04772a56f81a2c1cfbc1e633233ada3c35 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MarkAsReadTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::mark_as_read'; + $this->uri = 'backend/admin/notification/markasread'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php new file mode 100644 index 0000000000000000000000000000000000000000..18f3604e29d1b0aee4043a4ae100e9164ebe2b97 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MassMarkAsReadTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::mark_as_read'; + $this->uri = 'backend/admin/notification/massmarkasread'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..780e716c5ab7627a83e62ed91db2d9f3fac52475 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MassRemoveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::adminnotification_remove'; + $this->uri = 'backend/admin/notification/massremove'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..240b91ea122e4f19576ee1a719cfe35f7c2c051f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class RemoveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::adminnotification_remove'; + $this->uri = 'backend/admin/notification/remove'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php index 4578a476df3ae6d78e9c813050a9be3f7fd9024b..e5362e3496e73a2be9cee990f518d4fa408c5c84 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php @@ -9,7 +9,7 @@ namespace Magento\Backend\App; * Test class for \Magento\Backend\Controller\AbstractAction. * @magentoAppArea adminhtml */ -class AbstractActionTest extends \Magento\Backend\Utility\Controller +class AbstractActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check redirection to startup page for logged user diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php index 0c6d65b52543fa3dac3c9d6de3434a940184cfbb..e122d906f21866c9b532841472bfc792675ef033 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php @@ -11,7 +11,7 @@ use Magento\TestFramework\Helper\Bootstrap; use Magento\Framework\Config\File\ConfigFilePool; use Magento\Framework\App\Filesystem\DirectoryList; -class MassActionTest extends \Magento\Backend\Utility\Controller +class MassActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Configuration of cache types diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php index 071967d1e5fcc6598c1bcbfbfe08ee169e403e1e..7229d95e579e929d7fd758deacbba47a61caadfe 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class CacheTest extends \Magento\Backend\Utility\Controller +class CacheTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Backend/controllers/_files/cache/application_cache.php diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php index 72f68982f89d60c0b4bebe7ffd383d4d4722e601..c9749a5aab2ba7812ec5482ccc01898fc82c930b 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php @@ -6,7 +6,7 @@ */ namespace Magento\Backend\Controller\Adminhtml\Dashboard; -class ProductsViewedTest extends \Magento\Backend\Utility\Controller +class ProductsViewedTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Reports/_files/viewed_products.php diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php index f83c3bb77a83b50daa1a74ae35544e4b1fd531d4..20b193ee77d292d9d46cd0e2a12f32e55b3c8658 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class DashboardTest extends \Magento\Backend\Utility\Controller +class DashboardTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testAjaxBlockAction() { diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php index 795c1f2b9271705e6318f404ae2aa098058d6b18..6575448913a4f7344c1d018423f20c9acd733bf3 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check not logged state diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php index a4edd2510d3d8f6fed9ef24683bc78f2fb703e34..983e3dae2d465f35cf20407e86b5ef36374da9f3 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php @@ -10,7 +10,7 @@ use Magento\TestFramework\Bootstrap; /** * @magentoAppArea adminhtml */ -class AccountTest extends \Magento\Backend\Utility\Controller +class AccountTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider saveDataProvider diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php index be0bd223c23ed48b27afed77d97b21f522bc17ec..5c6a9c49ef209f654995cafe4d6039f6a122e288 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class DesignTest extends \Magento\Backend\Utility\Controller +class DesignTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Backend\App\Action::_addLeft diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php index b84193fcd61625c1a2fce585b09b1a49a1ff3a03..7ce98d848e5eae77afe711e243fe813fd6178f6e 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class StoreTest extends \Magento\Backend\Utility\Controller +class StoreTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php index 51db66afe941fde1c1614c0eb7d1f1f6b807c4db..23e50b082be7cb56b6603e4057d109c46aa9983e 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class UrlRewriteTest extends \Magento\Backend\Utility\Controller +class UrlRewriteTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check save cms page rewrite diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php index 6f775b962bf01ca1aa5bf28f0915b48461decaf6..5965cc529be88816377e712e097bb3bf180706cc 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class CategoryTest extends \Magento\Backend\Utility\Controller +class CategoryTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Store/_files/core_fixturestore.php @@ -333,7 +333,7 @@ class CategoryTest extends \Magento\Backend\Utility\Controller ); $this->dispatch('backend/catalog/category/save'); $this->assertSessionMessages( - $this->equalTo(['Unable to save the category']), + $this->equalTo(['Something went wrong while saving the category.']), \Magento\Framework\Message\MessageInterface::TYPE_ERROR ); } diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php index cb8f0d7354b76faf0c082ac59f31d1de59ca42a9..276f752779f224cedd35b06359147952c5961d69 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product\Action; /** * @magentoAppArea adminhtml */ -class AttributeTest extends \Magento\Backend\Utility\Controller +class AttributeTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute\Save::execute diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php index 4b64142851618d123c4f3a6011146cccd1863692..07b5cac6bb2689cec5c86e56399947798dc28763 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class AttributeTest extends \Magento\Backend\Utility\Controller +class AttributeTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @return void diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php index 1af4fd36b8f494e3005f00b50ed0609d290c5e55..b87d11c2c90a3ba8a11a11479bcd7f6369b460c2 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php @@ -11,7 +11,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class NewActionTest extends \Magento\Backend\Utility\Controller +class NewActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @TODO: Remove this test when corresponding functional tests become mandatory: diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php index 54c2a94c9e5a884c2977a6958e2a48f817baf7ad..b684ee4cebf63ad2a719a51d05e06a56f0ab9a71 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class ReviewTest extends \Magento\Backend\Utility\Controller +class ReviewTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Review/_files/review_xss.php diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php index a8f2d376d96cbbcb704d5d666954b79f4a179e4a..6fdab58458c5d43ee1840d57a5d6e120487d090f 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product\Set; use Magento\Framework\Message\MessageInterface; -class DeleteTest extends \Magento\Backend\Utility\Controller +class DeleteTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Eav/_files/empty_attribute_set.php @@ -21,7 +21,7 @@ class DeleteTest extends \Magento\Backend\Utility\Controller $this->assertNull($this->getAttributeSetByName('empty_attribute_set')); $this->assertSessionMessages( - $this->equalTo(['The attribute set has been removed.']), + $this->equalTo(['The product template has been removed.']), MessageInterface::TYPE_SUCCESS ); $this->assertRedirect($this->stringContains('catalog/product_set/index/')); diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php index 0ab3f897f2b90307ddbaefec4e41fd642b624d7b..6cefed9c36b43e37763bec0f686a8f47d6629459 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ProductTest extends \Magento\Backend\Utility\Controller +class ProductTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testSaveActionWithDangerRequest() { diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFileTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFileTest.php index 96833ea6131be828d3511fcd39db17b0409c0d02..3a89eed1a975f1b0d0ab7d93a6977a5cd39eb30c 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFileTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorFileTest.php @@ -109,7 +109,7 @@ class ValidatorFileTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Please specify the product's required option(s). + * @expectedExceptionMessage Please specify product's required option(s). * @return void */ public function testException() @@ -134,7 +134,7 @@ class ValidatorFileTest extends \PHPUnit_Framework_TestCase '\Magento\Framework\Exception\LocalizedException', "The file 'test.jpg' for 'MediaOption' has an invalid extension.\n" . "The file 'test.jpg' for 'MediaOption' has an invalid extension.\n" - . "Maximum allowed image size for 'MediaOption' is 2000x2000 px.\n" + . "The maximum allowed image size for 'MediaOption' is 2000x2000 px.\n" . sprintf( "The file 'test.jpg' you uploaded is larger than the %s megabytes allowed by our server.", $this->maxFileSizeInMb diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfoTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfoTest.php index d0a5bdb5bdf034ed408ef27de589cc31626d10ea..f47edeb86bc87444d5fec7c2506bf9bbeb1e18e0 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfoTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Option/Type/File/ValidatorInfoTest.php @@ -56,7 +56,7 @@ class ValidatorInfoTest extends \PHPUnit_Framework_TestCase '\Magento\Framework\Exception\LocalizedException', "The file 'test.jpg' for 'MediaOption' has an invalid extension.\n" . "The file 'test.jpg' for 'MediaOption' has an invalid extension.\n" - . "Maximum allowed image size for 'MediaOption' is 2000x2000 px.\n" + . "The maximum allowed image size for 'MediaOption' is 2000x2000 px.\n" . sprintf( "The file 'test.jpg' you uploaded is larger than the %s megabytes allowed by our server.", $this->maxFileSizeInMb @@ -88,7 +88,7 @@ class ValidatorInfoTest extends \PHPUnit_Framework_TestCase { $this->setExpectedException( '\Magento\Framework\Exception\LocalizedException', - "Please specify the product's required option(s)." + "Please specify product's required option(s)." ); $validateMock = $this->getMock('Zend_Validate', ['isValid', 'getErrors']); diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTypeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTypeTest.php index 2dabe7eec0e8f536c4fcb09c07e70112bdf218dd..ac18747bda84e186f8544ce518997412b867e6ce 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTypeTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTypeTest.php @@ -209,7 +209,7 @@ class AbstractTypeTest extends \PHPUnit_Framework_TestCase $product->load(1); // fixture $this->assertEquals( - 'Please specify the product\'s required option(s).', + 'Please specify product\'s required option(s).', $this->_model->prepareForCart(new \Magento\Framework\Object(), $product) ); } @@ -217,7 +217,7 @@ class AbstractTypeTest extends \PHPUnit_Framework_TestCase public function testGetSpecifyOptionMessage() { $this->assertEquals( - 'Please specify the product\'s required option(s).', + 'Please specify product\'s required option(s).', $this->_model->getSpecifyOptionMessage() ); } diff --git a/dev/tests/integration/testsuite/Magento/Catalog/_files/categories.php b/dev/tests/integration/testsuite/Magento/Catalog/_files/categories.php index 4c3396302678733c648e1689ed044366c732f51b..7662e16af8283d49e94aeafcea8d7a17a55d4a78 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/_files/categories.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/_files/categories.php @@ -184,7 +184,7 @@ $product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE) ->setAttributeSetId($installer->getAttributeSetId('catalog_product', 'Default')) ->setStoreId(1) ->setWebsiteIds([1]) - ->setName('Simple Product Not Visible On Frontend') + ->setName('Simple Product Not Visible On Storefront') ->setSku('simple') ->setPrice(15) ->setWeight(2) diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Model/Type/OnepageTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Model/Type/OnepageTest.php index aa5dc67e9dfaec6f29bb46f33ddf82a78d88c390..36d6810d4b2027e3a99f43fc1b0f7e04ccb18faf 100644 --- a/dev/tests/integration/testsuite/Magento/Checkout/Model/Type/OnepageTest.php +++ b/dev/tests/integration/testsuite/Magento/Checkout/Model/Type/OnepageTest.php @@ -481,7 +481,7 @@ class OnepageTest extends \PHPUnit_Framework_TestCase $result = $this->_model->saveBilling($customerData, $customerAddressId); $this->assertArrayHasKey('message', $result, 'Error message was expected to be set'); $this->assertStringStartsWith( - 'There is already a registered customer using this email address', + 'This email address already belongs to a registered customer.', (string)$result['message'], 'Validation error is invalid.' ); diff --git a/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php b/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php index 2dc7211134a9ab4275fdfe365aa1a7a676af70c9..db421e962fe1b6e91443645cf17fc3611f9234f5 100644 --- a/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Controller\Adminhtml\Wysiwyg\Images; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testViewAction() { diff --git a/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php index 17507214f58ce960622fe170a94e079f0eb1f863..93300ebe991c14b95c33ead08ea1a8b5ae73f948 100644 --- a/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php +++ b/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php @@ -13,7 +13,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class ConfigTest extends \Magento\Backend\Utility\Controller +class ConfigTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testEditAction() { diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php index 73ad1be033ce7020a1cf14fa24322c05a4b241b3..a878e83de053fdf216a97dda9a3c59c1995d13c8 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php @@ -9,7 +9,7 @@ namespace Magento\ConfigurableProduct\Block\Adminhtml\Product\Edit\Tab\Super\Con /** * @magentoAppArea adminhtml */ -class MatrixTest extends \Magento\Backend\Utility\Controller +class MatrixTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const ATTRIBUTE_LABEL = 'New Attribute Label'; const ATTRIBUTE_POSITION = 42; diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php index b3c492d07d29ce2d775ca328f070d90ccb5be646..e05edee57e832c8a02083b32fa7d43ec224f0528 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php @@ -13,7 +13,7 @@ use Magento\Catalog\Model\Resource\Eav\Attribute; /** * @magentoAppArea adminhtml */ -class ConfigTest extends \Magento\Backend\Utility\Controller +class ConfigTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const ATTRIBUTE_LABEL = 'New Attribute Label'; const ATTRIBUTE_POSITION = 42; diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php index 3bfa19d422aef293af99f7de84e0433cc364ddd4..0f4b46261fa9f49790b36b330a6461b5fda2080f 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php @@ -8,7 +8,7 @@ namespace Magento\ConfigurableProduct\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ProductTest extends \Magento\Backend\Utility\Controller +class ProductTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/ConfigurableProduct/_files/product_configurable.php diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Model/Product/Type/ConfigurableTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Model/Product/Type/ConfigurableTest.php index ab40348430e024c0d58e42d8ee649321c0ec754b..504925718beb9ee284d6540107f07500f33ad255 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Model/Product/Type/ConfigurableTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Model/Product/Type/ConfigurableTest.php @@ -291,7 +291,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase public function testGetSpecifyOptionMessage() { $this->assertEquals( - 'Please specify the product\'s option(s).', + 'You need to choose options for your item.', (string)$this->_model->getSpecifyOptionMessage() ); } diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php index 6b2f926e8adda8676cef2f8a76cae24c31f4de0a..f170ad50089fcf44ae3add9c1ff078f0fb027e06 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class FetchRatesTest extends \Magento\Backend\Utility\Controller +class FetchRatesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test fetch action without service @@ -51,7 +51,7 @@ class FetchRatesTest extends \Magento\Backend\Utility\Controller $this->runActionWithMockedImportService(['We can\'t retrieve a rate from url']); $this->assertSessionMessages( - $this->contains('All possible rates were fetched, please click on "Save" to apply'), + $this->contains('Click "Save" to apply the rates we found.'), \Magento\Framework\Message\MessageInterface::TYPE_WARNING ); } @@ -64,7 +64,7 @@ class FetchRatesTest extends \Magento\Backend\Utility\Controller $this->runActionWithMockedImportService(); $this->assertSessionMessages( - $this->contains('All rates were fetched, please click on "Save" to apply'), + $this->contains('Click "Save" to apply the rates we found.'), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); } diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php index 668d08345f155e186f8b4aa5f5498b190fa00615..66a0af3bc948c85b8d15491232cd98664af72476 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test index action diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php index 2b7a4fb020953a5997336ec6f6d0d5786e67fb78..0cece519e3355a7900a0a2c91af7e43efcaa0ad2 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class SaveRatesTest extends \Magento\Backend\Utility\Controller +class SaveRatesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** @var \Magento\Directory\Model\Currency $currencyRate */ diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php index cb6cb168ad59333d8038a39fcb46b04189d2a500..525dcdfb697e8a4efc8cdf71bf732e4941bcee29 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currencysymbol; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test index action diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php index 2f738452630c8506fb0eb8a23bbe527687552aa1..b5fdfc9fc965e2272aabaddd0ed9eecf5238c287 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currencysymbol; -class SaveTest extends \Magento\Backend\Utility\Controller +class SaveTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** diff --git a/dev/tests/integration/testsuite/Magento/Customer/Block/Adminhtml/Edit/Tab/View/CartTest.php b/dev/tests/integration/testsuite/Magento/Customer/Block/Adminhtml/Edit/Tab/View/CartTest.php index 6ec5ae6f465e3ae32880fcd0fd0146c4aac44c1c..da93f3cdd96addf86282dc583908a7e86b20815e 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Block/Adminhtml/Edit/Tab/View/CartTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Block/Adminhtml/Edit/Tab/View/CartTest.php @@ -94,7 +94,7 @@ class CartTest extends \PHPUnit_Framework_TestCase public function testToHtmlEmptyCart() { $this->assertEquals(0, $this->block->getCollection()->getSize()); - $this->assertContains("There are no items in customer's shopping cart at the moment", $this->block->toHtml()); + $this->assertContains('There are no items in customer\'s shopping cart.', $this->block->toHtml()); } /** diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php index ad67b6d54c886c6d9e4b37b8dd6135b0e3466d54..b53637f8418dd742b90196c4c952b831d59be1e3 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest.php @@ -194,10 +194,9 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringContains('customer/account/index/')); $this->assertSessionMessages( $this->equalTo([ - 'Account confirmation is required. Please, check your email for the confirmation link. ' . - 'To resend the confirmation email please ' . - '<a href="http://localhost/index.php/customer/account/confirmation/email/' . - $email . '/">click here</a>.', + 'You must confirm your account. Please check your email for the confirmation link or ' + . '<a href="http://localhost/index.php/customer/account/confirmation/email/' + . $email . '/">click here</a> for a new link.' ]), MessageInterface::TYPE_SUCCESS ); @@ -283,7 +282,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->dispatch('customer/account/confirmation'); $this->assertRedirect($this->stringContains('customer/account/index')); $this->assertSessionMessages( - $this->equalTo(['Please, check your email for confirmation key.']), + $this->equalTo(['Please check your email for confirmation key.']), MessageInterface::TYPE_SUCCESS ); } @@ -320,8 +319,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringContains('customer/account/')); $this->assertSessionMessages( $this->equalTo([ - "If there is an account associated with {$email} you will receive an email " . - 'with a link to reset your password.', + 'We\'ll email you a link to reset your password.' ]), MessageInterface::TYPE_SUCCESS ); @@ -358,7 +356,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->dispatch('customer/account/resetPasswordPost'); $this->assertRedirect($this->stringContains('customer/account/')); $this->assertSessionMessages( - $this->equalTo(['There was an error saving the new password.']), + $this->equalTo(['Something went wrong while saving the new password.']), MessageInterface::TYPE_ERROR ); } @@ -380,7 +378,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->dispatch('customer/account/resetPasswordPost'); $this->assertRedirect($this->stringContains('customer/account/login')); $this->assertSessionMessages( - $this->equalTo(['Your password has been updated.']), + $this->equalTo(['You updated your password.']), MessageInterface::TYPE_SUCCESS ); } @@ -446,7 +444,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringEndsWith('customer/account/')); $this->assertSessionMessages( - $this->equalTo(['The account information has been saved.']), + $this->equalTo(['You saved the account information.']), MessageInterface::TYPE_SUCCESS ); @@ -487,7 +485,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringEndsWith('customer/account/')); $this->assertSessionMessages( - $this->equalTo(['The account information has been saved.']), + $this->equalTo(['You saved the account information.']), MessageInterface::TYPE_SUCCESS ); @@ -545,7 +543,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringEndsWith('customer/account/edit/')); // Not sure if its the most secure message. Not changing the behavior for now in the new AccountManagement APIs. $this->assertSessionMessages( - $this->equalTo(["Password doesn't match for this account."]), + $this->equalTo(['The password doesn\'t match this account.']), MessageInterface::TYPE_ERROR ); } @@ -573,7 +571,7 @@ class AccountTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringEndsWith('customer/account/edit/')); $this->assertSessionMessages( - $this->equalTo(['Confirm your new password']), + $this->equalTo(['Confirm your new password.']), MessageInterface::TYPE_ERROR ); } diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/AddressTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/AddressTest.php index e55c777ef575588c077f2179c9f65dcaa46f5fdb..f1a3573f3b05409cbd691b3e3fe13f6732f2cdd9 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/AddressTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/AddressTest.php @@ -89,7 +89,7 @@ class AddressTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringContains('customer/address/index')); $this->assertSessionMessages( - $this->equalTo(['The address has been saved.']), + $this->equalTo(['You saved the address.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); $address = $this->accountManagement->getDefaultBillingAddress(1); @@ -157,7 +157,7 @@ class AddressTest extends \Magento\TestFramework\TestCase\AbstractController $this->assertRedirect($this->stringContains('customer/address/index')); $this->assertSessionMessages( - $this->equalTo(['The address has been deleted.']), + $this->equalTo(['You deleted the address.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); } diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php index e68f3c496b63b31bacd8ac68f309e14e6d05a869..482e0d7f7c59ee70bddf6fad3cc8051b78757e44 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php @@ -8,7 +8,7 @@ namespace Magento\Customer\Controller\Adminhtml\Cart\Product\Composite; /** * @magentoAppArea adminhtml */ -class CartTest extends \Magento\Backend\Utility\Controller +class CartTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Quote\Model\Resource\Quote\Item\CollectionFactory diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php index 93739deb389fea421397ddabb6c7bb612964b91b..87b52cbf40c2ab2feb03bc8951ec1d1474627ecb 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php @@ -11,7 +11,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class GroupTest extends \Magento\Backend\Utility\Controller +class GroupTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const TAX_CLASS_ID = 3; const TAX_CLASS_NAME = 'Retail Customer'; @@ -97,7 +97,7 @@ class GroupTest extends \Magento\Backend\Utility\Controller * Check that success message is set */ $this->assertSessionMessages( - $this->equalTo(['The customer group has been deleted.']), + $this->equalTo(['You deleted the customer group.']), MessageInterface::TYPE_SUCCESS ); $this->assertRedirect($this->stringStartsWith(self::BASE_CONTROLLER_URL . 'index')); @@ -137,7 +137,7 @@ class GroupTest extends \Magento\Backend\Utility\Controller $this->assertSessionMessages($this->logicalNot($this->isEmpty()), MessageInterface::TYPE_SUCCESS); $this->assertSessionMessages( - $this->equalTo(['The customer group has been saved.']), + $this->equalTo(['You saved the customer group.']), MessageInterface::TYPE_SUCCESS ); diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php index 6eae4325406634be36b7e25ecc58000e3636243a..9126bb17030bb111e807a8170e6eaabca8c3b2be 100755 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php @@ -15,7 +15,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Base controller URL @@ -375,7 +375,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller * Check that error message is set */ $this->assertSessionMessages( - $this->equalTo(['Customer with the same email already exists in associated website.']), + $this->equalTo(['A customer with the same email already exists in an associated website.']), \Magento\Framework\Message\MessageInterface::TYPE_ERROR ); $this->assertEquals( @@ -1018,7 +1018,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller $this->getRequest()->setPostValue(['customer_id' => '1']); $this->dispatch('backend/customer/index/resetPassword'); $this->assertSessionMessages( - $this->equalTo(['Customer will receive an email with a link to reset password.']), + $this->equalTo(['The customer will receive an email with a link to reset password.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); $this->assertRedirect($this->stringStartsWith($this->_baseControllerUrl . 'edit')); diff --git a/dev/tests/integration/testsuite/Magento/Customer/Model/AccountManagementTest.php b/dev/tests/integration/testsuite/Magento/Customer/Model/AccountManagementTest.php index 2fe6befd9c3bdf55461eba4e915d5ef0c8ab26ae..9e44c6b7339379b1bb9823b955c7f69ec494dc90 100755 --- a/dev/tests/integration/testsuite/Magento/Customer/Model/AccountManagementTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Model/AccountManagementTest.php @@ -135,7 +135,7 @@ class AccountManagementTest extends \PHPUnit_Framework_TestCase */ public function testLogin() { - // Customer e-mail and password are pulled from the fixture customer.php + // Customer email and password are pulled from the fixture customer.php $customer = $this->accountManagement->authenticate('customer@example.com', 'password', true); $this->assertSame('customer@example.com', $customer->getEmail()); @@ -149,7 +149,7 @@ class AccountManagementTest extends \PHPUnit_Framework_TestCase */ public function testLoginWrongPassword() { - // Customer e-mail and password are pulled from the fixture customer.php + // Customer email and password are pulled from the fixture customer.php $this->accountManagement->authenticate('customer@example.com', 'wrongPassword', true); } @@ -159,7 +159,7 @@ class AccountManagementTest extends \PHPUnit_Framework_TestCase */ public function testLoginWrongUsername() { - // Customer e-mail and password are pulled from the fixture customer.php + // Customer email and password are pulled from the fixture customer.php $this->accountManagement->authenticate('non_existing_user', 'password', true); } @@ -178,7 +178,7 @@ class AccountManagementTest extends \PHPUnit_Framework_TestCase * @magentoDataFixture Magento/Customer/_files/customer.php * * @expectedException \Magento\Framework\Exception\InvalidEmailOrPasswordException - * @expectedExceptionMessage Password doesn't match for this account + * @expectedExceptionMessage The password doesn't match this account. */ public function testChangePasswordWrongPassword() { diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php index ae89b49fb049bd33e40df44fc2ff57d3a709326c..7e2b343e043ba53630faaa163eacb1749d4eba72 100644 --- a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php +++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php @@ -8,7 +8,7 @@ namespace Magento\DesignEditor\Controller\Adminhtml\System\Design; /** * @magentoAppArea adminhtml */ -class EditorTest extends \Magento\Backend\Utility\Controller +class EditorTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php index 0060e0c30419b26866322a09d0a8c70d4cf833f0..81268a5d9d3ae0098d49e5e0e9538d2018e0c139 100644 --- a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php +++ b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php @@ -8,7 +8,7 @@ namespace Magento\Downloadable\Controller\Adminhtml\Downloadable; * See COPYING.txt for license details. * @magentoAppArea adminhtml */ -class FileTest extends \Magento\Backend\Utility\Controller +class FileTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testUploadAction() { diff --git a/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php index 510e10103042213cc42e20bc54500cb146d3bcd9..1e7a3ac5d75bb07ac96af5a9beb570ef4cee0901 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php @@ -8,7 +8,7 @@ namespace Magento\Email\Controller\Adminhtml\Email; /** * @magentoAppArea adminhtml */ -class TemplateTest extends \Magento\Backend\Utility\Controller +class TemplateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testDefaultTemplateAction() { diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php index 06746a974e5b04da732eedcb072fd66dc8b0adbc..58db3fe5b812112453f26d4408cece2f45d45d5b 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php @@ -162,22 +162,22 @@ class FilterTest extends \PHPUnit_Framework_TestCase 'area parameter - omitted' => [ 'adminhtml', 'handle="email_template_test_handle"', - 'E-mail content for frontend/test_default theme', + 'Email content for frontend/test_default theme', ], 'area parameter - frontend' => [ 'adminhtml', 'handle="email_template_test_handle" area="frontend"', - 'E-mail content for frontend/test_default theme', + 'Email content for frontend/test_default theme', ], 'area parameter - backend' => [ 'frontend', 'handle="email_template_test_handle" area="adminhtml"', - 'E-mail content for adminhtml/test_default theme', + 'Email content for adminhtml/test_default theme', ], 'custom parameter' => [ 'frontend', 'handle="email_template_test_handle" template="Magento_Email::sample_email_content_custom.phtml"', - 'Custom E-mail content for frontend/test_default theme', + 'Custom Email content for frontend/test_default theme', ], ]; return $result; diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php index 16e47b8b867ebd5dd2cd757c33f465634b73b998..942f3466297e180ce4faf64d5098b53d5df4e925 100755 --- a/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php @@ -270,7 +270,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase /** * @expectedException \Magento\Framework\Exception\MailException - * @expectedExceptionMessage The template Name must not be empty. + * @expectedExceptionMessage Please enter a template name. */ public function testBeforeSaveEmptyTemplateCode() { diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Email/templates/sample_email_content.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Email/templates/sample_email_content.phtml index 545dc82c315bfee85db0497e819dfc3e39262944..3b4b3ace449f97f1c526701ecd87a9504df58951 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Email/templates/sample_email_content.phtml +++ b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Email/templates/sample_email_content.phtml @@ -4,4 +4,4 @@ * See COPYING.txt for license details. */ ?> -E-mail content for adminhtml/test_default theme +Email content for adminhtml/test_default theme diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/layout/email_template_test_handle.xml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/layout/email_template_test_handle.xml index 767644707ff84fe0b5c19561a8bc28e2f0e02aaa..5d5eeba0a63bf3376e232c3d80f49fdb8573a43b 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/layout/email_template_test_handle.xml +++ b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/layout/email_template_test_handle.xml @@ -9,7 +9,7 @@ <block class="Magento\Framework\View\Element\Template" name="sample_email_content" template="Magento_Email::sample_email_content.phtml"/> <block class="Magento\Framework\View\Element\Text" name="ignored_email_content"> <action method="setText"> - <argument name="text" xsi:type="string">Ignored e-mail content, only the first block is used</argument> + <argument name="text" xsi:type="string">Ignored email content, only the first block is used</argument> </action> </block> </layout> diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content.phtml index 6c448d817c69221e904b7d0c19280120582f44d5..7ba93b3a047bbd84c8e490ff8c944957161bde9c 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content.phtml +++ b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content.phtml @@ -4,4 +4,4 @@ * See COPYING.txt for license details. */ ?> -E-mail content for frontend/test_default theme +Email content for frontend/test_default theme diff --git a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content_custom.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content_custom.phtml index 01ca668c1b3b1d09f52b61d1c9a7f5727d1cb0ce..42fc2b23ebf44bcf46000d60952ca86f0c9b77fa 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content_custom.phtml +++ b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Email/templates/sample_email_content_custom.phtml @@ -4,4 +4,4 @@ * See COPYING.txt for license details. */ ?> -Custom E-mail content for frontend/test_default theme +Custom Email content for frontend/test_default theme diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/FrontControllerTest.php b/dev/tests/integration/testsuite/Magento/Framework/App/FrontControllerTest.php index 5b84fa1bc9742a4822ca31e56c0d21e32e00ebfe..37158f3e4780d53a75c912f70655a9bc45d56a43 100755 --- a/dev/tests/integration/testsuite/Magento/Framework/App/FrontControllerTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/App/FrontControllerTest.php @@ -30,7 +30,7 @@ class FrontControllerTest extends \PHPUnit_Framework_TestCase public function testDispatch() { if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) { - $this->markTestSkipped('Cant\'t test dispatch process without sending headers'); + $this->markTestSkipped('Can\'t test dispatch process without sending headers'); } $_SERVER['HTTP_HOST'] = 'localhost'; $this->_objectManager->get('Magento\Framework\App\State')->setAreaCode('frontend'); diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/ComposerInformationTest.php b/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php similarity index 83% rename from dev/tests/integration/testsuite/Magento/Setup/Model/ComposerInformationTest.php rename to dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php index cdcf2ca0817ffc06a9d5fc2793344ca3b535dacf..1fa911de8e967300eddd85a7c73390d011ce4f82 100644 --- a/dev/tests/integration/testsuite/Magento/Setup/Model/ComposerInformationTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php @@ -4,10 +4,10 @@ * See COPYING.txt for license details. */ -namespace Magento\Setup\Model; +namespace Magento\Framework\Composer; /** - * Tests Magento\Setup\Model\ComposerInformation + * Tests Magento\Framework\ComposerInformation */ class ComposerInformationTest extends \PHPUnit_Framework_TestCase { @@ -84,6 +84,22 @@ class ComposerInformationTest extends \PHPUnit_Framework_TestCase } } + /** + * @param $composerDir string Directory under _files that contains composer files + * + * @dataProvider getRequiredPhpVersionDataProvider + */ + public function testGetRootRequiredPackagesAndTypes($composerDir) + { + $this->setupDirectoryMock($composerDir); + $composerInfo = new ComposerInformation($this->filesystemMock, $this->ioMock); + + $requiredPackagesAndTypes = $composerInfo->getRootRequiredPackageTypesByName(); + + $this->assertArrayHasKey('composer/composer', $requiredPackagesAndTypes); + $this->assertEquals('library', $requiredPackagesAndTypes['composer/composer']); + } + /** * Data provider that returns directories containing different types of composer files. * diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/composer.json b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.json similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/composer.json rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.json diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/composer.lock rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/vendor/README b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/vendor/README similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromClone/vendor/README rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/vendor/README diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/composer.json b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.json similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/composer.json rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.json diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/composer.lock rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/vendor/README b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/vendor/README similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testFromCreateProject/vendor/README rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/vendor/README diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.json b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.json similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.json rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.json diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/vendor/README b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/vendor/README similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/vendor/README rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/vendor/README diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/vendor_path.php b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/vendor_path.php similarity index 100% rename from dev/tests/integration/testsuite/Magento/Setup/Model/_files/vendor_path.php rename to dev/tests/integration/testsuite/Magento/Framework/Composer/_files/vendor_path.php diff --git a/dev/tests/integration/testsuite/Magento/Framework/Search/Adapter/Mysql/AdapterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Search/Adapter/Mysql/AdapterTest.php index f378bb929e0aaddb26a649b91afdf5b056b1b857..619996d9efcf8cc6bdced2abda23eb728c8071ad 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Search/Adapter/Mysql/AdapterTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Search/Adapter/Mysql/AdapterTest.php @@ -276,6 +276,7 @@ class AdapterTest extends \PHPUnit_Framework_TestCase /** @var \Magento\Framework\Search\Document $document */ $actualIds[] = $document->getId(); } + sort($actualIds); $this->assertEquals($expectedIds, $actualIds); } diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php index 9862cb8df11b4c20e4463d4a12cce7e3fb6a9b9c..1a6e527bb5176f886f11b8d9dc302bddb2095cc6 100644 --- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php +++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php @@ -8,7 +8,7 @@ namespace Magento\GoogleShopping\Controller\Adminhtml\GoogleShopping; /** * @magentoAppArea adminhtml */ -class ItemsTest extends \Magento\Backend\Utility\Controller +class ItemsTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php index 6cdcb47a2c486ebf08c36294581cc75ddb8ee839..945d5c45c9d345b2e353a2c255b33eee580be5b5 100644 --- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php +++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php @@ -8,7 +8,7 @@ namespace Magento\GoogleShopping\Controller\Adminhtml\GoogleShopping; /** * @magentoAppArea adminhtml */ -class TypesTest extends \Magento\Backend\Utility\Controller +class TypesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php index 02a60876b9dba091db31a101a434475a96374d2e..f001fae69deb741567a4844449d48838b9e9484f 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php @@ -8,7 +8,7 @@ namespace Magento\ImportExport\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ExportTest extends \Magento\Backend\Utility\Controller +class ExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Set value of $_SERVER['HTTP_X_REQUESTED_WITH'] parameter here diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php index 4667222256a4fdc04c359ae01442b72bb0374acd..6f25434d61bf56e11c13b47c60c5bc60219b41b6 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php @@ -10,7 +10,7 @@ use Magento\Framework\Filesystem\DirectoryList; /** * @magentoAppArea adminhtml */ -class ValidateTest extends \Magento\Backend\Utility\Controller +class ValidateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @backupGlobals enabled @@ -62,7 +62,7 @@ class ValidateTest extends \Magento\Backend\Utility\Controller $this->dispatch('backend/admin/import/validate'); $this->assertContains('File is valid', $this->getResponse()->getBody()); - $this->assertNotContains('File was not uploaded', $this->getResponse()->getBody()); + $this->assertNotContains('The file was not uploaded.', $this->getResponse()->getBody()); $this->assertNotRegExp( '/clear[^\[]*\[[^\]]*(import_file|import_image_archive)[^\]]*\]/m', $this->getResponse()->getBody() diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php index 36e888a964d0115c7597f07fc509f8ed1b15f6ce..75f0021126bf7b00f8e01dac0ade173eb5a543c4 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php @@ -8,7 +8,7 @@ namespace Magento\ImportExport\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ImportTest extends \Magento\Backend\Utility\Controller +class ImportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testGetFilterAction() { diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Model/ImportTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Model/ImportTest.php index 82606ef75ea7b106c1b61dc2536e27f1cbd6a533..788e55647ad7b7aa306377e5c295818b0b45a484 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Model/ImportTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Model/ImportTest.php @@ -155,7 +155,7 @@ class ImportTest extends \PHPUnit_Framework_TestCase * Test getEntityBehaviors with not existing behavior class * * @expectedException \Magento\Framework\Exception\LocalizedException - * @expectedExceptionMessage Invalid behavior token for customer + * @expectedExceptionMessage The behavior token for customer is invalid. */ public function testGetEntityBehaviorsWithUnknownBehavior() { diff --git a/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php b/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php index 827606d2109cc98040774d98805329fe5ca57594..a2c49175f5378afa4ae9972aa15ad9f03151dbf5 100644 --- a/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php +++ b/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php @@ -8,7 +8,7 @@ namespace Magento\Indexer\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class IndexerTest extends \Magento\Backend\Utility\Controller +class IndexerTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Assert that current page is index management page and that it has indexers mode selector diff --git a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php index eec5ee556e9cdf481f3c3420bd624ee7a94e9b94..5c281c22a5fe425acb0cd5197ea7aab06ec02149 100644 --- a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php +++ b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php @@ -13,7 +13,7 @@ namespace Magento\Integration\Controller\Adminhtml; * @magentoAppArea adminhtml * @magentoDbIsolation enabled */ -class IntegrationTest extends \Magento\Backend\Utility\Controller +class IntegrationTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** @var \Magento\Integration\Model\Integration */ private $_integration; diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php index 63b8f840c854907776def98ea5069ec859a97fab..5da58b332295708127c6560f6d701574dd2d560d 100644 --- a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php @@ -8,7 +8,7 @@ namespace Magento\Newsletter\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class NewsletterQueueTest extends \Magento\Backend\Utility\Controller +class NewsletterQueueTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Newsletter\Model\Template @@ -62,7 +62,7 @@ class NewsletterQueueTest extends \Magento\Backend\Utility\Controller * Check that success message is set */ $this->assertSessionMessages( - $this->equalTo(['The newsletter queue has been saved.']), + $this->equalTo(['You saved the newsletter queue.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS ); } diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php index 3922013af5d5b74accd1b8a8aaeae5937c4f1ce6..a626b60004c8a7b8c90d72e17a483788ebb1e694 100644 --- a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php @@ -8,7 +8,7 @@ namespace Magento\Newsletter\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller +class NewsletterTemplateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Newsletter\Model\Template diff --git a/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php b/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php index f5a343241c2e834a4ad7ae2b794ea979b9d31f61..695ae56b1f7205a938b1f112c6808cc5855548ed 100644 --- a/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php +++ b/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php @@ -8,7 +8,7 @@ namespace Magento\PageCache\Block\System\Config\Form\Field; /** * @magentoAppArea adminhtml */ -class ExportTest extends \Magento\Backend\Utility\Controller +class ExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check Varnish export buttons diff --git a/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php b/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php index 44035ad0d3a55cf049c412e06d190f5cf85ed445..c75c03e7a6a025e29a47af6361d794b756ba1881 100644 --- a/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php +++ b/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php @@ -11,7 +11,7 @@ namespace Magento\Reports\Controller\Adminhtml\Report\Product; /** * @magentoAppArea adminhtml */ -class ViewedTest extends \Magento\Backend\Utility\Controller +class ViewedTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testExecute() { diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php index 3995996455974b9767dd32cc470c48791ae39c7d..94ffd027c1da562d790911641b6edf193152e412 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Block\Adminhtml\Order\View; /** * Test class for \Magento\Sales\Block\Adminhtml\Order\View\Info */ -class InfoTest extends \Magento\Backend\Utility\Controller +class InfoTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Value for the user defined custom attribute, which is created by attribute_user_defined_customer.php fixture. diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php new file mode 100644 index 0000000000000000000000000000000000000000..be01007ab3885041af5aed43372d17f3682c532d --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddCommentTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::comment'; + $this->uri = 'backend/sales/order/addcomment'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8859a8453c410d83771630c74a6ada661941b006 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddressSaveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_edit'; + $this->uri = 'backend/sales/order/addresssave'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php new file mode 100644 index 0000000000000000000000000000000000000000..a986a948e8235b029335310a844a71a3235c9865 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddressTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_edit'; + $this->uri = 'backend/sales/order/address'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7f37712982a85bd8ff37aaf68469d4aa63bc8786 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class CancelTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::cancel'; + $this->uri = 'backend/sales/order/cancel'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php index 9514e649404e054dcfc4ba7d1a3eaf3c55006859..edc7f00ce5e217727707a2ebf3adbc5672d8d1ef 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php @@ -9,7 +9,7 @@ namespace Magento\Sales\Controller\Adminhtml\Order; * @magentoAppArea adminhtml * @magentoDbIsolation enabled */ -class CreateTest extends \Magento\Backend\Utility\Controller +class CreateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testLoadBlockAction() { diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php index 5e33aac4557c9475b3f17ddc19cddf2b8fef8070..1f9834830161845426de0bbd59b2937762a9dc07 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Controller\Adminhtml\Order; /** * @magentoAppArea adminhtml */ -class CreditmemoTest extends \Magento\Backend\Utility\Controller +class CreditmemoTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoConfigFixture current_store cataloginventory/item_options/auto_return 1 diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php new file mode 100644 index 0000000000000000000000000000000000000000..406511061d4fe5bbec957b2e7710bb75353babd6 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class EmailTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::email'; + $this->uri = 'backend/sales/order/email'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8c85de19064010eab3a6aad6113291c63666310a --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class HoldTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::hold'; + $this->uri = 'backend/sales/order/hold'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php new file mode 100644 index 0000000000000000000000000000000000000000..042d5b7b2e237c518128de0e4792b86c3add07a5 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class ReviewPaymentTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::review_payment'; + $this->uri = 'backend/sales/order/reviewpayment'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php new file mode 100644 index 0000000000000000000000000000000000000000..33e83893556e43de5098d2dc1b8e22953d78a096 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class UnholdTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::unhold'; + $this->uri = 'backend/sales/order/unhold'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f61a32c5080268239e440d8659f3a3a323fbc539 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class ViewTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_view'; + $this->uri = 'backend/sales/order/view'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php index bb770aca97b952845770050e4c6ad895f80dadeb..7198676eaf45c6ee1a25e8072a78f106280417c1 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class OrderTest extends \Magento\Backend\Utility\Controller +class OrderTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { @@ -100,7 +100,7 @@ class OrderTest extends \Magento\Backend\Utility\Controller [ 'status' => 'processing', 'comment' => '', - 'response' => '{"error":true,"message":"Comment text cannot be empty."}' + 'response' => '{"error":true,"message":"Please enter a comment."}' ] ]; } diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d1191b8fdce496f4fb678811106cab3eb579f8b3 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Transactions; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class FetchTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php index f91ac38ec5effe8a65f465a36f0d99ae0a27df30..d308c6834ef1a827e99c30000b7adb68c32af82e 100644 --- a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php +++ b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php @@ -8,7 +8,7 @@ namespace Magento\Tax\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class RateTest extends \Magento\Backend\Utility\Controller +class RateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider ajaxSaveActionDataProvider diff --git a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php index f2c5c66bac73725a19539c16a0335537eea75a57..deaef7f6999809fa4a887f3c532c111275c75320 100644 --- a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php +++ b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php @@ -10,7 +10,7 @@ use Magento\Framework\Exception\NoSuchEntityException; /** * @magentoAppArea adminhtml */ -class TaxTest extends \Magento\Backend\Utility\Controller +class TaxTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider ajaxActionDataProvider diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d49cdc7ec840b1a6106a4c5fa14c759816a9d752 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +class ExportPostTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php new file mode 100644 index 0000000000000000000000000000000000000000..34e08d3848b77f2a9cafe6fd69169abe4b0d0675 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class ImportExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7034236c8cc598a5f78d109ab7fd7d3c24ea678b --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class ImportPostTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php index e33d95da85e615e36efc3d908bf6eedbba91a8ad..a11f0ed5aeeb5ba700872f9fff971d9d54ee83d3 100644 --- a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php +++ b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php @@ -11,7 +11,7 @@ use Magento\Framework\Filesystem\DirectoryList; /** * @magentoAppArea adminhtml */ -class ThemeControllerTest extends \Magento\Backend\Utility\Controller +class ThemeControllerTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testUploadJsAction() { diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php index d4780d259aafb1213be6b66d7b5329f425ebea5a..cf3101240d285fc15dad60f1026e0a5b5b60ef34 100644 --- a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Catalog/Edit/FormTest.php @@ -177,7 +177,7 @@ class FormTest extends \PHPUnit_Framework_TestCase $form = $this->_getFormInstance($args); $this->assertEquals([], $form->getElement('store_id')->getValues()); $this->assertEquals( - 'We can\'t set up a URL rewrite because the category you chose is not associated with a website.', + 'Please assign a website to the selected category.', $form->getElement('store_id')->getAfterElementHtml() ); } diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php index 8eb255b89d94b35401db85052a114f4fc2577567..f84835366f0cfcc9f70a2c1e09c00ee2394783da 100644 --- a/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/Block/Cms/Page/Edit/FormTest.php @@ -99,7 +99,7 @@ class FormTest extends \PHPUnit_Framework_TestCase $form = $this->_getFormInstance($args); $this->assertEquals([], $form->getElement('store_id')->getValues()); $this->assertEquals( - 'Chosen cms page does not associated with any website.', + 'Please assign a website to the selected CMS page.', $form->getElement('store_id')->getAfterElementHtml() ); } diff --git a/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php index 27f28a4d6f77ecc636b1f41091068f6a7bbb6d15..79a1ba4425db6ea83f91cf3e6d9d6d9c4873a3d1 100644 --- a/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php @@ -8,7 +8,7 @@ namespace Magento\User\Block\User\Edit\Tab; /** * @magentoAppArea adminhtml */ -class MainTest extends \Magento\Backend\Utility\Controller +class MainTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\User\Block\User\Edit\Tab\Main diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php index 5b9c0f3f53801ac13305994e4cbbc96970a2f8e5..052030a1552fdea8b931479d501192c0873f738b 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php @@ -10,7 +10,7 @@ namespace Magento\User\Controller\Adminhtml; * * @magentoAppArea adminhtml */ -class AuthTest extends \Magento\Backend\Utility\Controller +class AuthTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test form existence diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php index 72df2422c7b55c972ef57947688f790530e5bf36..58f4fc2dabea0bfdb31047a52dceb25460a16076 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php @@ -14,7 +14,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * Test class for Magento\User\Controller\Adminhtml\User\InvalidateToken. */ -class InvalidateTokenTest extends \Magento\Backend\Utility\Controller +class InvalidateTokenTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/User/_files/user_with_role.php diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php index 1683937313c4057dd0f36f9b92f4836607c669e8..932351fb427b712787c64a420f9c86e428f0f5d1 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php @@ -10,7 +10,7 @@ namespace Magento\User\Controller\Adminhtml\User; * * @magentoAppArea adminhtml */ -class RoleTest extends \Magento\Backend\Utility\Controller +class RoleTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testEditRoleAction() { diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php index f6fa8857422203c5e92a27aad738964eb44c3077..6755a354da484e993a537a47c5a91556e9ba1c22 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php @@ -10,7 +10,7 @@ use Magento\TestFramework\Bootstrap; /** * @magentoAppArea adminhtml */ -class UserTest extends \Magento\Backend\Utility\Controller +class UserTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php b/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php index 9b50fdcbc477ec4eae68ad518f8e071600e26867..f7601ddca76d98124e3190b78afec7c51174b9b0 100644 --- a/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php +++ b/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php @@ -8,7 +8,7 @@ namespace Magento\Variable\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class VariableTest extends \Magento\Backend\Utility\Controller +class VariableTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Backend\App\Action::_addLeft diff --git a/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php b/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3fcd52372495618c34abe710326e17066c4d704f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php @@ -0,0 +1,34 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Version\Controller\Index; + +class IndexTest extends \Magento\TestFramework\TestCase\AbstractController +{ + public function testIndexAction() + { + // Execute controller to get version response + $this->dispatch('magento_version/index/index'); + $body = $this->getResponse()->getBody(); + + $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + /** @var \Magento\Framework\App\ProductMetadataInterface $productMetadata */ + $productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface'); + $name = $productMetadata->getName(); + $edition = $productMetadata->getEdition(); + + $fullVersion = $productMetadata->getVersion(); + $versionParts = explode('.', $fullVersion); + $majorMinor = $versionParts[0] . '.' . $versionParts[1]; + + // Response must contain Major.Minor version, product name, and edition + $this->assertContains($majorMinor, $body); + $this->assertContains($name, $body); + $this->assertContains($edition, $body); + + // Response must not contain full version including patch version + $this->assertNotContains($fullVersion, $body); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php index 2f72dcf52197624a6fd609175e58ceb289538508..30dbf0cf1816b31252c76fb8936fff6084d1f9c4 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php +++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php @@ -8,7 +8,7 @@ namespace Magento\Widget\Controller\Adminhtml\Widget; /** * @magentoAppArea adminhtml */ -class InstanceTest extends \Magento\Backend\Utility\Controller +class InstanceTest extends \Magento\TestFramework\TestCase\AbstractBackendController { protected function setUp() { diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php index 0b36d7cd5b35d7aee117d90cdfd01b9dbf5bf08d..90f1d482a23dc7c2c2603adb46e100371b759a19 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php +++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php @@ -8,7 +8,7 @@ namespace Magento\Widget\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class WidgetTest extends \Magento\Backend\Utility\Controller +class WidgetTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Partially covers \Magento\Widget\Block\Adminhtml\Widget\Options::_addField() diff --git a/dev/tests/performance/benchmark.jmx b/dev/tests/performance/benchmark.jmx index 77934c61897c52225fd378fe738a06312b0dbbf1..6fda461b91e00c23daa17bf64a3f578f456c5ffc 100644 --- a/dev/tests/performance/benchmark.jmx +++ b/dev/tests/performance/benchmark.jmx @@ -1143,7 +1143,7 @@ <hashTree> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> <collectionProp name="Asserion.test_strings"> - <stringProp name="890055751">You are now logged out</stringProp> + <stringProp name="890055751">You are signed out.</stringProp> </collectionProp> <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> diff --git a/dev/tests/performance/testsuite/advanced_search.jmx b/dev/tests/performance/testsuite/advanced_search.jmx index 9b9679b2311b6bf69094920dfb2c42bc49b6ec5f..99aa94c587a53b2c2d0037710e36709cf7fc7667 100644 --- a/dev/tests/performance/testsuite/advanced_search.jmx +++ b/dev/tests/performance/testsuite/advanced_search.jmx @@ -158,7 +158,7 @@ <hashTree> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assertion: Non-Empty Search Results" enabled="true"> <collectionProp name="Asserion.test_strings"> - <stringProp name="110843263">No items were found using the following search criteria</stringProp> + <stringProp name="110843263">We can\'t find any items matching these search criteria.</stringProp> </collectionProp> <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/invalid_widget.xml b/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/invalid_widget.xml index 9648839a4b6fa13b79396db049156ea5b546f409..98ee95ccfa0e3a2e46d2c3f94623ea08053d4768 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/invalid_widget.xml +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Widget/_files/invalid_widget.xml @@ -91,7 +91,7 @@ </parameter> <parameter name="anchor_text" type="text" visible="true" translate="label description"> <label>Anchor Custom Text</label> - <description>If empty, the Product Name will be used</description> + <description>If empty, we'll use the product name here.</description> </parameter> <parameter name="title" type="text" visible="true" translate="label"> <label>Anchor Custom Title</label> @@ -123,7 +123,7 @@ </parameter> <parameter name="anchor_text" type="text" visible="true" translate="label description"> <label>Anchor Custom Text</label> - <description>If empty, the Category Name will be used</description> + <description>If empty, we'll use the category name here.</description> </parameter> <parameter name="title" type="text" visible="true" translate="label"> <label>Anchor Custom Title</label> 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 4cfed53e55352a8a77865f52862073abbf657605..c563b677620382c5b08c868fec60488247f6d359 100755 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php @@ -3658,4 +3658,5 @@ return [ ['Magento\Centinel\CreateOrderTest'], ['Magento\Payment\Model\Checks\PaymentMethodChecksInterface', 'Magento\Payment\Model\MethodInterface'], ['Magento\GiftMessage\Model\Plugin\TotalsDataProcessorPlugin'], + ['Magento\Catalog\Model\Product\Attribute\Backend\Startdate', 'Magento\Catalog\Model\Attribute\Backend\Startdate'], ]; 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 cd660a65eb1223dad2b303f80f1b0eac7e0280d8..b2ac847c21585fcfb2f533d683401d3d2df00319 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 @@ -2245,7 +2245,7 @@ return [ ['getIdentities', 'Magento\Sales\Block\Reorder\Sidebar'], ['assignData', 'Magento\OfflinePayments\Model\Checkmo'], ['timeShift', 'Magento\Reports\Model\Resource\Report\Collection'], - ['Magento\Catalog\Model\Product\Attribute\Backend\Startdate', 'Magento\Catalog\Model\Attribute\Backend\Startdate'], + ['getFilePath', 'Magento\MediaStorage\Model\File\Storage\Request'], ['_getStoreTimezoneUtcOffset', 'Magento\Reports\Model\Resource\Report\AbstractReport'], ['_dateToUtc', 'Magento\Reports\Model\Resource\Report\AbstractReport'], ['getDataSetDefault', 'Magento\Framework\Object'], 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 cfb1078156bf214d798499c6e2bc9962702d8608..10bc4fee0abb74c55108c2f72e044c64ef9d5f9b 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 @@ -166,6 +166,7 @@ return [ ['_filesystem', 'Magento\Core\Model\Resource\Setup\Migration', '_directory'], ['_filesystem', 'Magento\Core\Model\Theme\Collection', '_directory'], ['_mediaBaseDirectory', 'Magento\MediaStorage\Model\Resource\File\Storage\File'], + ['_mediaBaseDirectory', 'Magento\MediaStorage\Model\File\Storage\Database\AbstractDatabase'], ['_dbHelper', 'Magento\MediaStorage\Model\Resource\File\Storage\File'], ['_filesystem', 'Magento\Core\Model\Theme\CopyService', '_directory'], ['_baseDir', 'Magento\Core\Model\Theme\Collection'], diff --git a/lib/internal/Magento/Framework/App/Resource.php b/lib/internal/Magento/Framework/App/Resource.php index d76a3a68bdcafbc35eda2c73dc8b1868fb39ee61..fae3cdb761c5fc502aef804db2f7b59f492ef335 100644 --- a/lib/internal/Magento/Framework/App/Resource.php +++ b/lib/internal/Magento/Framework/App/Resource.php @@ -85,6 +85,7 @@ class Resource * * @param string $resourceName * @return \Magento\Framework\DB\Adapter\AdapterInterface|false + * @codeCoverageIgnore */ public function getConnection($resourceName) { @@ -152,12 +153,26 @@ class Resource return $this->getConnection($connectionName)->getTableName($tableName); } + /** + * Build a trigger name + * + * @param string $tableName The table that is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" + * @return string + */ + public function getTriggerName($tableName, $time, $event) + { + return $this->getConnection(self::DEFAULT_READ_RESOURCE)->getTriggerName($tableName, $time, $event); + } + /** * Set mapped table name * * @param string $tableName * @param string $mappedName * @return $this + * @codeCoverageIgnore */ public function setMappedTableName($tableName, $mappedName) { @@ -193,13 +208,12 @@ class Resource $fields, $indexType = \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX ) { - return $this->getConnection( - self::DEFAULT_READ_RESOURCE - )->getIndexName( - $this->getTableName($tableName), - $fields, - $indexType - ); + return $this->getConnection(self::DEFAULT_READ_RESOURCE) + ->getIndexName( + $this->getTableName($tableName), + $fields, + $indexType + ); } /** diff --git a/lib/internal/Magento/Framework/App/Response/Http.php b/lib/internal/Magento/Framework/App/Response/Http.php index 55cda163252ab018807cc5d3323fc134e27146f0..3f419b71acf21f335ce6b1e99d3252f46a8d4689 100644 --- a/lib/internal/Magento/Framework/App/Response/Http.php +++ b/lib/internal/Magento/Framework/App/Response/Http.php @@ -21,6 +21,9 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response /** Format for expiration timestamp headers */ const EXPIRATION_TIMESTAMP_FORMAT = 'D, d M Y H:i:s T'; + /** X-FRAME-OPTIONS Header name */ + const HEADER_X_FRAME_OPT = 'X-Frame-Options'; + /** @var \Magento\Framework\Stdlib\CookieManagerInterface */ protected $cookieManager; @@ -51,6 +54,17 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response $this->dateTime = $dateTime; } + /** + * Sends the X-FRAME-OPTIONS header to protect against click-jacking + * + * @param string $value + * @return void + */ + public function setXFrameOptions($value) + { + $this->setHeader(self::HEADER_X_FRAME_OPT, $value); + } + /** * Send Vary cookie * @@ -109,6 +123,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * Set headers for no-cache responses * * @return void + * @codeCoverageIgnore */ public function setNoCacheHeaders() { @@ -122,6 +137,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * * @param string $content String in JSON format * @return \Magento\Framework\App\Response\Http + * @codeCoverageIgnore */ public function representJson($content) { @@ -131,6 +147,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response /** * @return string[] + * @codeCoverageIgnore */ public function __sleep() { @@ -141,6 +158,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * Need to reconstruct dependencies when being de-serialized. * * @return void + * @codeCoverageIgnore */ public function __wakeup() { @@ -154,6 +172,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * * @param string $time * @return string + * @codeCoverageIgnore */ protected function getExpirationHeader($time) { diff --git a/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php b/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php new file mode 100644 index 0000000000000000000000000000000000000000..a108b754893e0ecc1eed081e0e0fe47dcb0f4790 --- /dev/null +++ b/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php @@ -0,0 +1,43 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\App\Response; + +/** + * Adds an X-FRAME-OPTIONS header to HTTP responses to safeguard against click-jacking. + */ +class XFrameOptPlugin +{ + /** Deployment config key for frontend x-frame-options header value */ + const DEPLOYMENT_CONFIG_X_FRAME_OPT = 'x-frame-options'; + + /** Always send SAMEORIGIN in backend x-frame-options header */ + const BACKEND_X_FRAME_OPT = 'SAMEORIGIN'; + + /** + *The header value + * @var string + */ + private $xFrameOpt; + + /** + * @param string $xFrameOpt + */ + public function __construct($xFrameOpt) + { + $this->xFrameOpt = $xFrameOpt; + } + + /** + * @param \Magento\Framework\App\Response\Http $subject + * @return void + * @codeCoverageIgnore + */ + public function beforeSendResponse(\Magento\Framework\App\Response\Http $subject) + { + $subject->setXFrameOptions($this->xFrameOpt); + } +} diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php index a92a9eb73432db63d22a8b28c104da5ec28360f4..86fc5bf7ac92bcbd89d423311a0fd3fc9be8cfbe 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php @@ -14,7 +14,7 @@ use Magento\Framework\Config\ConfigOptionsListConstants; class ResourceTest extends \PHPUnit_Framework_TestCase { const RESOURCE_NAME = \Magento\Framework\App\Resource::DEFAULT_READ_RESOURCE; - const CONNECTION_NAME = 'Connection Name'; + const CONNECTION_NAME = 'connection-name'; const TABLE_PREFIX = 'prefix_'; /** @@ -197,4 +197,21 @@ class ResourceTest extends \PHPUnit_Framework_TestCase $this->assertEquals('fkName', $this->resource->getFkName($table, $columnName, $refTable, $refColumnName)); } + + public function testGetTriggerName() + { + $tableName = 'subject_table'; + $time = 'before'; + $event = 'insert'; + $triggerName = 'trg_subject_table_before_insert'; + + $this->_connectionFactory->expects($this->once()) + ->method('create') + ->will($this->returnValue($this->connection)); + $this->connection->expects($this->once()) + ->method('getTriggerName') + ->with($tableName, $time, $event) + ->willReturn($triggerName); + $this->assertSame($triggerName, $this->resource->getTriggerName($tableName, $time, $event)); + } } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php index 3fb38007f0a56a0152d2caabd4e0f3109551e0dd..bcc51a53e3e9dc4b1b1c4aeb2110a9f83e60de38 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php @@ -271,4 +271,11 @@ class HttpTest extends \PHPUnit_Framework_TestCase \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock); $this->model->__wakeup(); } + + public function testSetXFrameOptions() + { + $value = 'DENY'; + $this->model->setXFrameOptions($value); + $this->assertSame($value, $this->model->getHeader(Http::HEADER_X_FRAME_OPT)->getFieldValue()); + } } diff --git a/lib/internal/Magento/Framework/Composer/ComposerInformation.php b/lib/internal/Magento/Framework/Composer/ComposerInformation.php index 5ba195f386dba1d3e489993b423c00bde17aa295..852ef6aebef3fcfea1214a46b696715a1d58b52d 100644 --- a/lib/internal/Magento/Framework/Composer/ComposerInformation.php +++ b/lib/internal/Magento/Framework/Composer/ComposerInformation.php @@ -7,6 +7,8 @@ namespace Magento\Framework\Composer; use Composer\Factory as ComposerFactory; +use Composer\IO\BufferIO; +use Composer\Package\Link; use Composer\Package\PackageInterface; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\Filesystem; @@ -30,15 +32,28 @@ class ComposerInformation * Constructor * * @param Filesystem $filesystem + * @param BufferIO $io + * @throws \Exception */ public function __construct( - Filesystem $filesystem + Filesystem $filesystem, + BufferIO $io ) { - $vendor = $filesystem->getDirectoryRead(DirectoryList::CONFIG)->getAbsolutePath('vendor_path.php'); - $vendorPath = $filesystem->getDirectoryRead(DirectoryList::ROOT)->getAbsolutePath() . include $vendor; + // composer.json is in same directory as vendor + $vendorPath = $filesystem->getDirectoryRead(DirectoryList::CONFIG)->getAbsolutePath('vendor_path.php'); + $vendorDir = require "{$vendorPath}"; + $composerJson = $filesystem->getDirectoryRead(DirectoryList::ROOT)->getAbsolutePath() + . "/{$vendorDir}/../composer.json"; + + $composerJsonRealPath = realpath($composerJson); + if ($composerJsonRealPath === false) { + throw new \Exception('Composer file not found: ' . $composerJson); + } + + putenv('COMPOSER_HOME=' . $filesystem->getDirectoryRead(DirectoryList::COMPOSER_HOME)->getAbsolutePath()); + // Create Composer - $io = new \Composer\IO\BufferIO(); - $this->composer = ComposerFactory::create($io, $vendorPath . '/../composer.json'); + $this->composer = ComposerFactory::create($io, $composerJson); $this->locker = $this->composer->getLocker(); } @@ -55,12 +70,16 @@ class ComposerInformation $requiredPhpVersion = $allPlatformReqs['php']->getPrettyConstraint(); } else { $packages = $this->locker->getLockedRepository()->getPackages(); + /** @var PackageInterface $package */ foreach ($packages as $package) { - /** @var \Composer\Package\CompletePackage $package */ - $packageName = $package->getPrettyName(); - if ($packageName === 'magento/product-community-edition') { - $phpRequirementLink = $package->getRequires()['php']; - $requiredPhpVersion = $phpRequirementLink->getPrettyConstraint(); + if ($package instanceof PackageInterface) { + $packageName = $package->getPrettyName(); + if ($packageName === 'magento/product-community-edition') { + $phpRequirementLink = $package->getRequires()['php']; + if ($phpRequirementLink instanceof Link) { + $requiredPhpVersion = $phpRequirementLink->getPrettyConstraint(); + } + } } } } @@ -81,32 +100,23 @@ class ComposerInformation */ public function getRequiredExtensions() { - if ($this->isMagentoRoot()) { - $allPlatformReqs = $this->locker->getPlatformRequirements(true); - foreach ($allPlatformReqs as $reqIndex => $constraint) { - if (substr($reqIndex, 0, 4) === 'ext-') { - $requiredExtensions[] = substr($reqIndex, 4); - } - } - } else { - $requiredExtensions = []; + $requiredExtensions = []; + $allPlatformReqs = array_keys($this->locker->getPlatformRequirements(true)); + if (!$this->isMagentoRoot()) { /** @var \Composer\Package\CompletePackage $package */ foreach ($this->locker->getLockedRepository()->getPackages() as $package) { - $requires = $package->getRequires(); - $requires = array_merge($requires, $package->getDevRequires()); - foreach ($requires as $reqIndex => $constraint) { - if (substr($reqIndex, 0, 4) === 'ext-') { - $requiredExtensions[] = substr($reqIndex, 4); - } - } + $requires = array_keys($package->getRequires()); + $requires = array_merge($requires, array_keys($package->getDevRequires())); + $allPlatformReqs = array_merge($allPlatformReqs, $requires); } } - - if (!isset($requiredExtensions)) { - throw new \Exception('Cannot find extensions in \'composer.lock\' file'); + foreach ($allPlatformReqs as $reqIndex) { + if (substr($reqIndex, 0, 4) === 'ext-') { + $requiredExtensions[] = substr($reqIndex, 4); + } } - return $requiredExtensions; + return array_unique($requiredExtensions); } /** @@ -129,7 +139,7 @@ class ComposerInformation * * @return array */ - public function getRootRequiredPackagesAndTypes() + public function getRootRequiredPackageTypesByName() { $packages = []; /** @var PackageInterface $package */ @@ -147,6 +157,7 @@ class ComposerInformation private function isMagentoRoot() { $rootPackage = $this->composer->getPackage(); - return ('magento/magento2ce' == $rootPackage->getName()); + + return preg_match('/magento\/magento2.e/', $rootPackage->getName()); } } diff --git a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php index f6de3f89043da2b1ce6eddc60dc635fb45a1d2cb..3148109e53938eaabe116b2340b9a5ac2cd4e350 100644 --- a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php +++ b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php @@ -22,6 +22,7 @@ class ConfigOptionsListConstants const CONFIG_PATH_DB_CONNECTION_DEFAULT = 'db/connection/default'; const CONFIG_PATH_DB_CONNECTIONS = 'db/connection'; const CONFIG_PATH_DB_PREFIX = 'db/table_prefix'; + const CONFIG_PATH_X_FRAME_OPT = 'x-frame-options'; /**#@-*/ /**#@+ @@ -67,7 +68,7 @@ class ConfigOptionsListConstants const KEY_INIT_STATEMENTS = 'initStatements'; const KEY_ACTIVE = 'active'; /**#@-*/ - + /** * Db config key */ diff --git a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php index 8bee03a383ef497ade430b261df56d493f6790f3..c2068fe188cde418899fcebaf5ddcc340259e89c 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php +++ b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php @@ -928,6 +928,17 @@ interface AdapterInterface */ public function getTableName($tableName); + + /** + * Build a trigger name based on table name and trigger details + * + * @param string $tableName The table that is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" + * @return string + */ + public function getTriggerName($tableName, $time, $event); + /** * Retrieve valid index name * Check index name length and allowed symbols diff --git a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php index 94cbf428fd0d3022b596922cbd5196b8da8d9584..21db76cc7545bd52760186d17b04ef6f9dbc0f8c 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php +++ b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php @@ -19,6 +19,7 @@ use Magento\Framework\DB\Profiler; use Magento\Framework\DB\Select; use Magento\Framework\DB\Statement\Parameter; use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Mview\View\Subscription; use Magento\Framework\Phrase; use Magento\Framework\Stdlib\DateTime; use Magento\Framework\Stdlib\String; @@ -2732,14 +2733,11 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface 'to' => "{{fieldName}} <= ?", 'seq' => null, 'sneq' => null, + 'ntoa' => "INET_NTOA({{fieldName}}) LIKE ?", ]; $query = ''; if (is_array($condition)) { - if (isset($condition['field_expr'])) { - $fieldName = str_replace('#?', $this->quoteIdentifier($fieldName), $condition['field_expr']); - unset($condition['field_expr']); - } $key = key(array_intersect_key($condition, $conditionKeyMap)); if (isset($condition['from']) || isset($condition['to'])) { @@ -3137,47 +3135,31 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface } /** - * Minus superfluous characters from hash. + * Returns a compressed version of the table name if it is too long * - * @param string $hash - * @param string $prefix - * @param int $maxCharacters + * @param string $tableName * @return string + * @codeCoverageIgnore */ - protected function _minusSuperfluous($hash, $prefix, $maxCharacters) + public function getTableName($tableName) { - $diff = strlen($hash) + strlen($prefix) - $maxCharacters; - $superfluous = $diff / 2; - $odd = $diff % 2; - $hash = substr($hash, $superfluous, - ($superfluous + $odd)); - return $hash; + return ExpressionConverter::shortenEntityName($tableName, 't_'); } /** - * Retrieve valid table name - * Check table name length and allowed symbols + * Build a trigger name based on table name and trigger details * - * @param string $tableName + * @param string $tableName The table which is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" * @return string + * @codeCoverageIgnore */ - public function getTableName($tableName) - { - $prefix = 't_'; - if (strlen($tableName) > self::LENGTH_TABLE_NAME) { - $shortName = ExpressionConverter::shortName($tableName); - if (strlen($shortName) > self::LENGTH_TABLE_NAME) { - $hash = md5($tableName); - if (strlen($prefix . $hash) > self::LENGTH_TABLE_NAME) { - $tableName = $this->_minusSuperfluous($hash, $prefix, self::LENGTH_TABLE_NAME); - } else { - $tableName = $prefix . $hash; - } - } else { - $tableName = $shortName; - } - } - return $tableName; + public function getTriggerName($tableName, $time, $event) + { + $triggerName = 'trg_' . $tableName . '_' . $time . '_' . $event; + return ExpressionConverter::shortenEntityName($triggerName, 'trg_'); } /** @@ -3198,35 +3180,15 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface switch (strtolower($indexType)) { case AdapterInterface::INDEX_TYPE_UNIQUE: $prefix = 'unq_'; - $shortPrefix = 'u_'; break; case AdapterInterface::INDEX_TYPE_FULLTEXT: $prefix = 'fti_'; - $shortPrefix = 'f_'; break; case AdapterInterface::INDEX_TYPE_INDEX: default: $prefix = 'idx_'; - $shortPrefix = 'i_'; } - - $hash = $tableName . '_' . $fields; - - if (strlen($hash) + strlen($prefix) > self::LENGTH_INDEX_NAME) { - $short = ExpressionConverter::shortName($prefix . $hash); - if (strlen($short) > self::LENGTH_INDEX_NAME) { - $hash = md5($hash); - if (strlen($hash) + strlen($shortPrefix) > self::LENGTH_INDEX_NAME) { - $hash = $this->_minusSuperfluous($hash, $shortPrefix, self::LENGTH_INDEX_NAME); - } - } else { - $hash = $short; - } - } else { - $hash = $prefix . $hash; - } - - return strtoupper($hash); + return strtoupper(ExpressionConverter::shortenEntityName($tableName . '_' . $fields, $prefix)); } /** @@ -3238,28 +3200,12 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface * @param string $refTableName * @param string $refColumnName * @return string + * @codeCoverageIgnore */ public function getForeignKeyName($priTableName, $priColumnName, $refTableName, $refColumnName) { - $prefix = 'fk_'; - $hash = sprintf('%s_%s_%s_%s', $priTableName, $priColumnName, $refTableName, $refColumnName); - if (strlen($prefix . $hash) > self::LENGTH_FOREIGN_NAME) { - $short = ExpressionConverter::shortName($prefix . $hash); - if (strlen($short) > self::LENGTH_FOREIGN_NAME) { - $hash = md5($hash); - if (strlen($prefix . $hash) > self::LENGTH_FOREIGN_NAME) { - $hash = $this->_minusSuperfluous($hash, $prefix, self::LENGTH_FOREIGN_NAME); - } else { - $hash = $prefix . $hash; - } - } else { - $hash = $short; - } - } else { - $hash = $prefix . $hash; - } - - return strtoupper($hash); + $fkName = sprintf('%s_%s_%s_%s', $priTableName, $priColumnName, $refTableName, $refColumnName); + return strtoupper(ExpressionConverter::shortenEntityName($fkName, 'fk_')); } /** diff --git a/lib/internal/Magento/Framework/DB/ExpressionConverter.php b/lib/internal/Magento/Framework/DB/ExpressionConverter.php index 2df91ab77991222d8f1814134020df7e3d45dc1e..9a9b2d7eacf4797821fded20bf885edb7367ea00 100644 --- a/lib/internal/Magento/Framework/DB/ExpressionConverter.php +++ b/lib/internal/Magento/Framework/DB/ExpressionConverter.php @@ -10,7 +10,12 @@ namespace Magento\Framework\DB; class ExpressionConverter { /** - * Dictionary for generate short name + * Maximum length for many MySql identifiers, including database, table, trigger, and column names + */ + const MYSQL_IDENTIFIER_LEN = 64; + + /** + * Dictionary maps common words in identifiers to abbreviations * * @var array */ @@ -62,7 +67,7 @@ class ExpressionConverter ]; /** - * Convert name using dictionary + * Shorten name by abbreviating words * * @param string $name * @return string @@ -73,7 +78,7 @@ class ExpressionConverter } /** - * Add or replace translate to dictionary + * Add an abbreviation to the dictionary, or replace if it already exists * * @param string $from * @param string $to @@ -83,4 +88,47 @@ class ExpressionConverter { self::$_translateMap[$from] = $to; } + + /** + * Shorten the name of a MySql identifier, by abbreviating common words and hashing if necessary. Prepends the + * given prefix to clarify what kind of entity the identifier represents, in case hashing is used. + * + * @param string $entityName + * @param string $prefix + * @return string + */ + public static function shortenEntityName($entityName, $prefix) + { + if (strlen($entityName) > self::MYSQL_IDENTIFIER_LEN) { + $shortName = ExpressionConverter::shortName($entityName); + if (strlen($shortName) > self::MYSQL_IDENTIFIER_LEN) { + $hash = md5($entityName); + if (strlen($prefix . $hash) > self::MYSQL_IDENTIFIER_LEN) { + $entityName = self::trimHash($hash, $prefix, self::MYSQL_IDENTIFIER_LEN); + } else { + $entityName = $prefix . $hash; + } + } else { + $entityName = $shortName; + } + } + return $entityName; + } + + /** + * Remove superfluous characters from hash + * + * @param string $hash + * @param string $prefix + * @param int $maxCharacters + * @return string + */ + private static function trimHash($hash, $prefix, $maxCharacters) + { + $diff = strlen($hash) + strlen($prefix) - $maxCharacters; + $superfluous = $diff / 2; + $odd = $diff % 2; + $hash = substr($hash, $superfluous, - ($superfluous + $odd)); + return $hash; + } } diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php index b7c080064bc969890c42c8ca983025f89548738c..4d7bfa42ed2eab83d5f1d5e67b31ca022cf1e8b1 100644 --- a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php +++ b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php @@ -11,6 +11,8 @@ */ namespace Magento\Framework\DB\Test\Unit\Adapter\Pdo; +use Magento\Framework\DB\Adapter\AdapterInterface; + class MysqlTest extends \PHPUnit_Framework_TestCase { /** @@ -149,7 +151,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase } catch (\Exception $e) { $this->assertNotContains( $e->getMessage(), - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_DDL_MESSAGE + AdapterInterface::ERROR_DDL_MESSAGE ); } @@ -160,7 +162,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase } catch (\Exception $e) { $this->assertNotContains( $e->getMessage(), - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_DDL_MESSAGE + AdapterInterface::ERROR_DDL_MESSAGE ); } } @@ -226,7 +228,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ASYMMETRIC_ROLLBACK_MESSAGE, + AdapterInterface::ERROR_ASYMMETRIC_ROLLBACK_MESSAGE, $e->getMessage() ); } @@ -242,7 +244,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ASYMMETRIC_COMMIT_MESSAGE, + AdapterInterface::ERROR_ASYMMETRIC_COMMIT_MESSAGE, $e->getMessage() ); } @@ -354,7 +356,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, + AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, $e->getMessage() ); $this->_adapter->rollBack(); @@ -377,7 +379,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, + AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, $e->getMessage() ); $this->_adapter->rollBack(); @@ -549,4 +551,28 @@ class MysqlTest extends \PHPUnit_Framework_TestCase ] ]; } + + /** + * @dataProvider getIndexNameDataProvider + */ + public function testGetIndexName($name, $fields, $indexType, $expectedName) + { + $resultIndexName = $this->_mockAdapter->getIndexName($name, $fields, $indexType); + $this->assertTrue( + strpos($resultIndexName, $expectedName) === 0, + "Index name '$resultIndexName' did not begin with expected value '$expectedName'" + ); + } + + public function getIndexNameDataProvider() + { + // 65 characters long - will be compressed + $longTableName = '__________________________________________________long_table_name'; + return [ + [$longTableName, [], AdapterInterface::INDEX_TYPE_UNIQUE, 'UNQ_'], + [$longTableName, [], AdapterInterface::INDEX_TYPE_FULLTEXT, 'FTI_'], + [$longTableName, [], AdapterInterface::INDEX_TYPE_INDEX, 'IDX_'], + ['short_table_name', ['field1', 'field2'], '', 'SHORT_TABLE_NAME_FIELD1_FIELD2'], + ]; + } } diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php new file mode 100644 index 0000000000000000000000000000000000000000..5c122c497cfc314731d38c2a81c0cf67fb25d171 --- /dev/null +++ b/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php @@ -0,0 +1,57 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\DB\Test\Unit; + + +use Magento\Framework\DB\ExpressionConverter; + +class ExpressionConverterTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider shortenEntityNameDataProvider + */ + public function testShortenEntityName($in, $prefix, $expectedOut) + { + $resultEntityName = ExpressionConverter::shortenEntityName($in, $prefix); + $this->assertTrue( + strpos($resultEntityName, $expectedOut) === 0, + "Entity name '$resultEntityName' did not begin with expected value '$expectedOut'" + ); + } + + public function shortenEntityNameDataProvider() + { + $length64 = '________________________________________________________________'; + $length40 = '________________________________________'; + return [ + 'Short identifier' => [ + 'already_short', + 'pre_', + 'already_short' + ], + 'Hashed identifer' => [ + $length64 . '_cannotBeAbbreviated', + 'pre_', + 'pre_' + ], + 'Abbreviated identifier' => [ + $length40 . 'downloadable_notification_index', + 'pre_', + $length40 . 'dl_ntfc_idx' + ], + ]; + } + + public function testShortenEntityNameReducedHash() + { + /** Length of 64 characters, to go over max MySql identifier length */ + $length64 = '________________________________________________________________'; + $longPrefix = 'pre_____________________________________'; + $shortenedName = ExpressionConverter::shortenEntityName($length64 . '_cannotBeAbbreviated', $longPrefix); + $this->assertNotSame(0, strpos($shortenedName, 'pre'), 'Entity name not supposed to with long prefix'); + } +} diff --git a/lib/internal/Magento/Framework/File/Uploader.php b/lib/internal/Magento/Framework/File/Uploader.php index cfc862a635bc137a62320b56ff2563fcdbb2a529..b5a0dedbbdf5b151b15ad111d1f24b38420d7425 100644 --- a/lib/internal/Magento/Framework/File/Uploader.php +++ b/lib/internal/Magento/Framework/File/Uploader.php @@ -159,7 +159,7 @@ class Uploader $this->_setUploadFileId($fileId); if (!file_exists($this->_file['tmp_name'])) { $code = empty($this->_file['tmp_name']) ? self::TMP_NAME_EMPTY : 0; - throw new \Exception('File was not uploaded.', $code); + throw new \Exception('The file was not uploaded.', $code); } else { $this->_fileExists = true; } diff --git a/lib/internal/Magento/Framework/Filesystem/Driver/Http.php b/lib/internal/Magento/Framework/Filesystem/Driver/Http.php index 2e60f74c6f15f0ae865fbcd809ae82c336f0cf2b..fc82bbdbc46e223f3f9b37e82b88275e0011c6ad 100644 --- a/lib/internal/Magento/Framework/Filesystem/Driver/Http.php +++ b/lib/internal/Magento/Framework/Filesystem/Driver/Http.php @@ -167,8 +167,7 @@ class Http extends File 'Host: ' . $hostname . "\r\n" . - 'User-Agent: Magento ver/' . - \Magento\Framework\AppInterface::VERSION . + 'User-Agent: Magento' . "\r\n" . 'Connection: close' . "\r\n" . @@ -243,7 +242,7 @@ class Http extends File if ($result === false) { throw new FileSystemException( new \Magento\Framework\Phrase( - 'Something went wrong connecting to the host. Error#%1 - %2.', + 'Something went wrong while connecting to the host. Error#%1 - %2.', [$errorNumber, $errorMessage] ) ); diff --git a/lib/internal/Magento/Framework/Model/AbstractModel.php b/lib/internal/Magento/Framework/Model/AbstractModel.php index 76729e191161dbd9e09a5a8e873957f86116a448..1c702229061d364526c8e48def6afc36be4b1227 100644 --- a/lib/internal/Magento/Framework/Model/AbstractModel.php +++ b/lib/internal/Magento/Framework/Model/AbstractModel.php @@ -455,7 +455,7 @@ abstract class AbstractModel extends \Magento\Framework\Object { if (empty($this->_resourceName) && empty($this->_resource)) { throw new \Magento\Framework\Exception\LocalizedException( - new \Magento\Framework\Phrase('Resource is not set.') + new \Magento\Framework\Phrase('The resource isn\'t set.') ); } diff --git a/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php b/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php index 8b36902a699e2f0f56c397a9e787651c07faeb06..f9b642136422dd229deebd9762f183742646c698 100644 --- a/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php +++ b/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php @@ -12,11 +12,6 @@ use \Magento\Framework\Mview\View\Subscription; class SubscriptionTest extends \PHPUnit_Framework_TestCase { - /** - * @var \Magento\Framework\Mview\View\Subscription - */ - protected $model; - /** * Mysql PDO DB adapter mock * @@ -24,34 +19,37 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase */ protected $connectionMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\Resource - */ + /** @var \Magento\Framework\Mview\View\Subscription */ + protected $model; + + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\Resource */ protected $resourceMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\DB\Ddl\TriggerFactory - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\DB\Ddl\TriggerFactory */ protected $triggerFactoryMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\View\CollectionInterface - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\View\CollectionInterface */ protected $viewCollectionMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\ViewInterface - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\ViewInterface */ protected $viewMock; + /** @var string */ + private $tableName; + protected function setUp() { $this->connectionMock = $this->getMock('Magento\Framework\DB\Adapter\Pdo\Mysql', [], [], '', false); + $this->resourceMock = $this->getMock('Magento\Framework\App\Resource', [], [], '', false, false); + + $this->connectionMock->expects($this->any()) + ->method('quoteIdentifier') + ->will($this->returnArgument(0)); + + $this->resourceMock->expects($this->atLeastOnce()) + ->method('getConnection') + ->willReturn($this->connectionMock); - $this->resourceMock = $this->getMock( - 'Magento\Framework\App\Resource', ['getConnection', 'getTableName'], [], '', false, false - ); - $this->mockGetConnection($this->connectionMock); $this->triggerFactoryMock = $this->getMock( 'Magento\Framework\DB\Ddl\TriggerFactory', [], [], '', false, false ); @@ -62,16 +60,16 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase 'Magento\Framework\Mview\ViewInterface', [], '', false, false, true, [] ); - $this->connectionMock->expects($this->any()) - ->method('quoteIdentifier') - ->will($this->returnArgument(0)); + $this->resourceMock->expects($this->any()) + ->method('getTableName') + ->willReturn($this->tableName); $this->model = new Subscription( $this->resourceMock, $this->triggerFactoryMock, $this->viewCollectionMock, $this->viewMock, - 'tableName', + $this->tableName, 'columnName' ); } @@ -83,7 +81,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testGetTableName() { - $this->assertEquals('tableName', $this->model->getTableName()); + $this->assertEquals($this->tableName, $this->model->getTableName()); } public function testGetColumnName() @@ -93,11 +91,14 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testCreate() { - $this->mockGetTableName(); - - $triggerMock = $this->getMock('Magento\Framework\DB\Ddl\Trigger', [], [], '', false, false); + $triggerName = 'trigger_name'; + $this->resourceMock->expects($this->atLeastOnce())->method('getTriggerName')->willReturn($triggerName); + $triggerMock = $this->getMockBuilder('Magento\Framework\DB\Ddl\Trigger') + ->disableOriginalConstructor() + ->getMock(); $triggerMock->expects($this->exactly(3)) ->method('setName') + ->with($triggerName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('getName') @@ -111,7 +112,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('setTable') - ->with('tableName') + ->with($this->tableName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(6)) ->method('addStatement') @@ -153,7 +154,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue('other_id')); $otherViewMock->expects($this->exactly(1)) ->method('getSubscriptions') - ->will($this->returnValue([['name' => 'tableName'], ['name' => 'otherTableName']])); + ->will($this->returnValue([['name' => $this->tableName], ['name' => 'otherTableName']])); $otherViewMock->expects($this->exactly(3)) ->method('getChangelog') ->will($this->returnValue($otherChangelogMock)); @@ -182,8 +183,6 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testRemove() { - $this->mockGetTableName(); - $triggerMock = $this->getMock('Magento\Framework\DB\Ddl\Trigger', [], [], '', false, false); $triggerMock->expects($this->exactly(3)) ->method('setName') @@ -200,7 +199,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('setTable') - ->with('tableName') + ->with($this->tableName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('addStatement') @@ -228,7 +227,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue('other_id')); $otherViewMock->expects($this->exactly(1)) ->method('getSubscriptions') - ->will($this->returnValue([['name' => 'tableName'], ['name' => 'otherTableName']])); + ->will($this->returnValue([['name' => $this->tableName], ['name' => 'otherTableName']])); $otherViewMock->expects($this->exactly(3)) ->method('getChangelog') ->will($this->returnValue($otherChangelogMock)); @@ -259,21 +258,4 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase $this->model->remove(); } - - /** - * @param $connection - */ - protected function mockGetConnection($connection) - { - $this->resourceMock->expects($this->once()) - ->method('getConnection') - ->will($this->returnValue($connection)); - } - - protected function mockGetTableName() - { - $this->resourceMock->expects($this->any()) - ->method('getTableName') - ->will($this->returnArgument(0)); - } } diff --git a/lib/internal/Magento/Framework/Mview/View/Subscription.php b/lib/internal/Magento/Framework/Mview/View/Subscription.php index 498cb0e147801ef8709a89a13def616677662be3..e72c255d750ac85df31a1d4a9a1e8eb6e30d3c53 100644 --- a/lib/internal/Magento/Framework/Mview/View/Subscription.php +++ b/lib/internal/Magento/Framework/Mview/View/Subscription.php @@ -8,13 +8,11 @@ namespace Magento\Framework\Mview\View; +use Magento\Framework\App\Resource; +use Magento\Framework\DB\Ddl\Trigger; + class Subscription implements SubscriptionInterface { - /** - * Trigger name qualifier - */ - const TRIGGER_NAME_QUALIFIER = 'trg'; - /** * Database write connection * @@ -23,7 +21,7 @@ class Subscription implements SubscriptionInterface protected $write; /** - * @var \Magento\Framework\DB\Ddl\Trigger + * @var \Magento\Framework\DB\Ddl\TriggerFactory */ protected $triggerFactory; @@ -55,12 +53,12 @@ class Subscription implements SubscriptionInterface protected $linkedViews = []; /** - * @var \Magento\Framework\App\Resource + * @var Resource */ protected $resource; /** - * @param \Magento\Framework\App\Resource $resource + * @param Resource $resource * @param \Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory * @param \Magento\Framework\Mview\View\CollectionInterface $viewCollection * @param \Magento\Framework\Mview\ViewInterface $view @@ -68,7 +66,7 @@ class Subscription implements SubscriptionInterface * @param string $columnName */ public function __construct( - \Magento\Framework\App\Resource $resource, + Resource $resource, \Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory, \Magento\Framework\Mview\View\CollectionInterface $viewCollection, \Magento\Framework\Mview\ViewInterface $view, @@ -91,23 +89,14 @@ class Subscription implements SubscriptionInterface */ public function create() { - foreach (\Magento\Framework\DB\Ddl\Trigger::getListOfEvents() as $event) { - $triggerName = $this->getTriggerName( - $this->resource->getTableName($this->getTableName()), - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER, - $event - ); - - /** @var \Magento\Framework\DB\Ddl\Trigger $trigger */ - $trigger = $this->triggerFactory->create()->setName( - $triggerName - )->setTime( - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER - )->setEvent( - $event - )->setTable( - $this->resource->getTableName($this->getTableName()) - ); + foreach (Trigger::getListOfEvents() as $event) { + $triggerName = $this->getAfterEventTriggerName($event); + /** @var Trigger $trigger */ + $trigger = $this->triggerFactory->create() + ->setName($triggerName) + ->setTime(Trigger::TIME_AFTER) + ->setEvent($event) + ->setTable($this->resource->getTableName($this->tableName)); $trigger->addStatement($this->buildStatement($event, $this->getView()->getChangelog())); @@ -131,23 +120,14 @@ class Subscription implements SubscriptionInterface */ public function remove() { - foreach (\Magento\Framework\DB\Ddl\Trigger::getListOfEvents() as $event) { - $triggerName = $this->getTriggerName( - $this->resource->getTableName($this->getTableName()), - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER, - $event - ); - - /** @var \Magento\Framework\DB\Ddl\Trigger $trigger */ - $trigger = $this->triggerFactory->create()->setName( - $triggerName - )->setTime( - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER - )->setEvent( - $event - )->setTable( - $this->resource->getTableName($this->getTableName()) - ); + foreach (Trigger::getListOfEvents() as $event) { + $triggerName = $this->getAfterEventTriggerName($event); + /** @var Trigger $trigger */ + $trigger = $this->triggerFactory->create() + ->setName($triggerName) + ->setTime(Trigger::TIME_AFTER) + ->setEvent($event) + ->setTable($this->resource->getTableName($this->getTableName())); // Add statements for linked views foreach ($this->getLinkedViews() as $view) { @@ -204,8 +184,8 @@ class Subscription implements SubscriptionInterface protected function buildStatement($event, $changelog) { switch ($event) { - case \Magento\Framework\DB\Ddl\Trigger::EVENT_INSERT: - case \Magento\Framework\DB\Ddl\Trigger::EVENT_UPDATE: + case Trigger::EVENT_INSERT: + case Trigger::EVENT_UPDATE: return sprintf( "INSERT IGNORE INTO %s (%s) VALUES (NEW.%s);", $this->write->quoteIdentifier($this->resource->getTableName($changelog->getName())), @@ -213,7 +193,7 @@ class Subscription implements SubscriptionInterface $this->write->quoteIdentifier($this->getColumnName()) ); - case \Magento\Framework\DB\Ddl\Trigger::EVENT_DELETE: + case Trigger::EVENT_DELETE: return sprintf( "INSERT IGNORE INTO %s (%s) VALUES (OLD.%s);", $this->write->quoteIdentifier($this->resource->getTableName($changelog->getName())), @@ -227,25 +207,26 @@ class Subscription implements SubscriptionInterface } /** - * Retrieve trigger name + * Build an "after" event for the given table and event * - * Build a trigger name by concatenating trigger name prefix, table name, - * trigger time and trigger event. + * @param string $event The DB level event, like "update" or "insert" * - * @param string $tableName - * @param string $time - * @param string $event * @return string */ - protected function getTriggerName($tableName, $time, $event) + private function getAfterEventTriggerName($event) { - return self::TRIGGER_NAME_QUALIFIER . '_' . $tableName . '_' . $time . '_' . $event; + return $this->resource->getTriggerName( + $this->resource->getTableName($this->getTableName()), + Trigger::TIME_AFTER, + $event + ); } /** * Retrieve View related to subscription * * @return \Magento\Framework\Mview\ViewInterface + * @codeCoverageIgnore */ public function getView() { @@ -256,6 +237,7 @@ class Subscription implements SubscriptionInterface * Retrieve table name * * @return string + * @codeCoverageIgnore */ public function getTableName() { @@ -266,6 +248,7 @@ class Subscription implements SubscriptionInterface * Retrieve table column name * * @return string + * @codeCoverageIgnore */ public function getColumnName() { diff --git a/lib/internal/Magento/Framework/Validator/EmailAddress.php b/lib/internal/Magento/Framework/Validator/EmailAddress.php index 7420debc7f83f6a438b7d7bdf513e2fdb1b84686..5a310f18775ac6ee4b2b41f7ea1b3ca8e99bed17 100644 --- a/lib/internal/Magento/Framework/Validator/EmailAddress.php +++ b/lib/internal/Magento/Framework/Validator/EmailAddress.php @@ -1,6 +1,6 @@ <?php /** - * E-mail address validator + * Email address validator * * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. diff --git a/lib/web/css/docs/forms.html b/lib/web/css/docs/forms.html index 03c301a17afd3c21db1badaa83810a350860078a..a7fccf9d9d97b2a86f35df4cb476bf7098f57f64 100644 --- a/lib/web/css/docs/forms.html +++ b/lib/web/css/docs/forms.html @@ -1,10 +1,10 @@ -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> - +<!-- +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> + <!DOCTYPE html><html><head><title>forms | Magento UI Library </title><meta charset="utf-8"><style>*{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;border:0}body{padding:60px 0 40px;background-color:hsl(207,10%,90%);color:hsl(207,5%,30%)}.container{max-width:1300px;margin:0 auto;padding:0 20px}.section{position:relative;margin-bottom:20px}.docs{position:relative;z-index:2;width:68%;min-height:200px;background-color:hsl(207,0%,100%);background-clip:padding-box;border:1px solid hsla(207,5%,5%,.1);border-radius:5px;box-shadow:0 0 3px hsla(207,5%,5%,.1)}.code{position:absolute;top:5px;bottom:5px;right:0;z-index:1;width:33%;padding:10px 10px 10px 20px;border-radius:0 5px 5px 0;border:1px solid hsla(207,20%,10%,.1);background-color:hsla(207,20%,95%,.9);background-clip:padding-box;opacity:.5;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.code:hover{opacity:1}.preview{background:hsl(207,0%,100%);border-top:1px solid hsl(207,30%,95%);position:relative;z-index:1}.preview-code+.preview{margin-top:0;border-top:0}.preview iframe{display:block;width:100%;height:100%;overflow:hidden}.preview-code{position:relative;z-index:2;display:block;width:100%;color:hsl(207,9%,37%);max-height:200px;padding:10px 20px;overflow-y:auto;background:hsl(207,30%,95%);border:1px solid hsl(207,30%,85%);border-left:0;border-right;box-shadow:inset 0 1px 2px hsla(207,30%,10%,.1);line-height:1.1!important;resize:none}.preview-code:focus{outline:0;background:hsl(207,30%,97%);box-shadow:inset 0 1px 2px hsla(207,30%,10%,.1),0 0 5px hsla(207,75%,75%,.9)}.preview-code:last-child{border-bottom:0;border-radius:0 0 5px 5px}.resizeable{padding:15px;overflow:auto;background:hsl(207,0%,100%);box-shadow:0 0 2px hsla(207,10%,20%,.2);resize:both}.preview-code,pre{white-space:pre-wrap;word-wrap:break-word;overflow-y:auto}.code pre{height:100%;margin-top:0}.bar{position:fixed;left:0;right:0;z-index:1010;min-height:40px;line-height:40px;background-image:-webkit-linear-gradient(hsla(207,10%,35%,.97),hsla(207,5%,25%,.92));background-image:-moz-linear-gradient(hsla(207,10%,35%,.97),hsla(207,5%,25%,.92));background-image:-o-linear-gradient(hsla(207,10%,35%,.97),hsla(207,5%,25%,.92));background-image:linear-gradient(hsla(207,10%,35%,.97),hsla(207,5%,25%,.92))}.bar.top{top:0;box-shadow:0 1px 2px hsla(207,5%,0%,.2)}.bar.bottom{bottom:0;box-shadow:0 -1px 2px hsla(207,5%,0%,.2)}.bar ul{margin:0!important}.bar li{display:block;list-style:none}.bar .icon path{fill:hsla(27,10%,75%,.75)}.docs .icon path{fill:hsla(207,10%,75%,.5)}.docs .permalink:hover .icon path{fill:hsl(207,10%,75%)}.bar button{color:hsla(27,10%,75%,.75)}.bar button:hover .icon path,.bar button.is-active .icon path{fill:hsl(27,10%,85%)}.bar button:hover,.bar button.is-active{color:hsl(27,10%,85%)}.bar .icon{vertical-align:middle;display:inline-block}.bar,.bar a,.bar a:visited{color:hsl(27,10%,85%);text-shadow:1px 1px 0 hsla(27,5%,0%,.5)}.bar a:hover,.bar a.is-active{color:hsl(27,10%,95%);text-shadow:1px 1px 0 hsla(27,5%,0%,1);text-decoration:none}.brand{float:left;margin-right:20px;font-weight:700;font-size:16px;text-decoration:none}.brand,a.brand,a.brand:visited{color:hsl(27,5%,5%);text-shadow:1px 1px 0 hsla(27,5%,100%,.2)}.brand:hover,a.brand:hover{color:hsl(27,5%,0%);text-shadow:1px 1px 0 hsla(27,5%,100%,.3);text-decoration:none}.menu{font-size:12px}.menu>li{float:left;position:relative}.menu a{display:block;margin-right:15px}.dropdown-toggle{position:relative;padding-right:15px}.dropdown-toggle:after{display:block;position:absolute;right:0;top:18px;content:'';border:4px solid;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.nav-results,.dropdown{position:absolute;z-index:1020;top:32px;left:-16px;width:175px;max-height:500px;padding:10px 0;overflow-y:auto;word-wrap:break-word;font-size:11px;line-height:20px;background-color:hsla(207,10%,25%,.97);border:1px solid hsla(207,5%,70%,.3);border-radius:3px;box-shadow:0 0 3px hsla(207,5%,0%,.2)}.toc-list{width:200px}.nav-results{right:0;width:200px;left:auto;padding:5px 0}.nav-results-filename{display:block;font-size:10px;opacity:.75}.nav-results a{display:block;line-height:15px;padding:5px 10px}.nav-results li:not([hidden])~li a{border-top:1px solid hsla(27,10%,90%,.1)}.dropdown a{padding:0 15px}.dropdown li:hover{background-color:hsl(207,10%,22%)}.nav{float:right;position:relative}.nav input[type="search"]{padding:2px 4px;color:#fff;width:150px;border:1px solid hsla(207,5%,0%,.3);background:hsla(207,12%,40%,.9);box-shadow:inset 1px 1px 3px hsla(207,5%,0%,.05),1px 1px 0 hsla(207,5%,100%,.05);border-radius:10px;-webkit-appearance:textfield}.nav input[type="search"]:focus{outline:0;background:hsla(207,7%,45%,.9)}.settings{text-align:center}.bar button{display:inline-block;vertical-align:middle;padding:0 5px;margin:0 3px;background:transparent}.bar button:first-child{margin-left:0}.settings .auto{line-height:32px;font-size:11px;font-weight:700;letter-spacing:-1px;text-shadow:none;text-transform:uppercase}body{font-family:sans-serif;font-size:14px;line-height:1.618}.docs pre,p,ol,ul,dl,figure,blockquote,table{margin-left:20px;margin-right:20px}.preview,.docs pre,p,ol,ul,dl,figure,blockquote,table{margin-top:10px}ul ul,ol ol,ul ol,ol ul,blockquote p:last-child{margin-top:0}ul,ol{padding-left:1.5em}p:last-child,ol:last-child,ul:last-child,dl:last-child{margin-bottom:20px}hr,h1,h2,h3,h4,h5,h6{margin:1em 20px .5em}h1:first-of-type{margin-top:20px}h1,h2,h3,h4,h5,h6{line-height:1.2;color:hsl(207,10%,50%)}h1 a,h1 a:hover,h1 a:visited{color:inherit;text-decoration:inherit}h1{font-size:3.052em;font-weight:400;color:hsl(207,10%,45%)}h2{font-size:1.953em}h3{font-size:1.536em}h1,h2,h3{letter-spacing:-.025em}h4{font-size:1.25em}h5{font-size:1em;text-transform:uppercase}h6{font-size:1em}.permalink{position:absolute;top:15px;right:15px}a{color:hsl(207,90%,50%);text-decoration:none}a:hover{color:hsl(207,95%,40%);text-decoration:underline}a:visited{color:hsl(207,100%,35%)}.preview-code,pre,code,var{font-style:normal;font-family:"Ubuntu Mono","Andale Mono","DejaVu Sans Mono","Monaco","Bitstream Vera Sans Mono","Consolas","Lucida Console",monospace;font-size:12px}.docs pre,code,var{padding:.1em 3px;background:hsla(207,5%,0%,.025);border:1px solid hsla(207,5%,0%,.05);border-radius:3px}.code pre{line-height:1.1!important}pre code{padding:0;background:transparent;border:0}.cf:before,.cf:after{content:'';display:table}.cf:after{clear:both}[unselectable="on"]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[hidden]{display:none!important}small{font-size:85%;opacity:.9}.docs .vars_list{width:100%}.docs .vars_list th,.docs .vars_list td{width:33%}.docs pre th{text-align:left}.docs pre table{border-collapse:collapse;margin:0}.docs th,.docs td{border:0;padding:9px 10px 9px 0;vertical-align:top}.docs tr th:last-child,.docs tr td:last-child{padding-right:0}.docs pre th{font-weight:400}.docs pre th.vars_head{border-bottom:1px solid #e5e5e5;color:#707070;white-space:nowrap}.docs pre th.vars_section{border-bottom:1px solid #e5e5e5;color:#333;font-size:18px;padding-top:30px}.vars_value{color:#338bb8}.docs li p{margin:0 0 20px}.dropdown a{text-transform:capitalize}#default-button #default-button-big+.preview+.preview-code{display:block}#actions-toolbar-alignment .preview-code,#reverse-primary-and-secondary-blocks .preview-code,#actions-toolbar-indents-customizations .preview-code,#actionstoolbarclearfloats-mixin .preview-code,#responsive-actions-toolbar .preview-code,#button-with-gradient-background .preview-code,#primary-button .preview-code,#button-as-an-icon .preview-code,#button-with-an-icon-on-the-left-or-right-side-of-the-text .preview-code,#button-with-fixed-width .preview-code,#button-as-a-link .preview-code,#link-as-a-button .preview-code,#buttonstyled-breadcrumbs-with-gradient-background-border-and-no-separating-symbol .preview-code,#breadcrumbs-with-solid-background .preview-code,#pagination-without-label-with-solid-background .preview-code,#pagination-with-label-and-text-previousnext-links .preview-code,#pagination-with-label-and-gradient-background-on-links .preview-code,#fixed-height-popup .preview-code,#fixed-content-height-popup .preview-code,#margins-for-header-content-and-footer-block-in-popup .preview-code,#popup-titles-with-styled-as-theme-headings .preview-code,#popup-action-toolbar .preview-code,#popup-close-button-without-an-icon .preview-code,#modify-icon-of-popup-close-button .preview-code,#modify-overlay-styles .preview-code,#rating-summary-multiple-ratings .preview-code,#rating-summary-hide-label .preview-code,#rating-summary-icons-symbol .preview-code,#rating-summary-icons-color .preview-code,#rating-summary-set-number-of-icons .preview-code,#rating-summary .preview-code,#rating-with-vote-icon-symbol .preview-code,#rating-with-vote-setup-icons-colors .preview-code,#rating-with-vote-setup-number-of-icons .preview-code,#tabs-with-content-top-border .preview-code,#accordion-mixin-variables .preview-code,#tabs-base .preview-code,#accordion-base .preview-code,#warning-message .preview-code,#error-message .preview-code,#success-message .preview-code,#notice-message .preview-code,#message-with-inner-icon .preview-code,#message-with-lateral-icon .preview-code,#custom-message-style .preview-code,#modify-dropdown-list-styles .preview-code,#dropdown-with-icon-customization .preview-code,#split-button-button-styling .preview-code,#split-button-icon-customization .preview-code,#split-button-dropdown-list-customization .preview-code,#table-cells-resize .preview-code,#table-caption .preview-code,#table-typography .preview-code,#table-background-customization .preview-code,#table-borders-customization .preview-code,#table-without-borders .preview-code,#table-with-horizontal-borders .preview-code,#table-with-vertical-borders .preview-code,#striped-table .preview-code,#responsive-table-technics-1 .preview-code,#responsive-table-technics-2 .preview-code,#fontsize-mixin .preview-code,#word-breaking-mixin .preview-code,#word-breaking-mixin .preview-code,#text-overflow-mixin .preview-code,#text-hide .preview-code,#hyphens .preview-code,#font-style-and-color .preview-code,#reset-list-styles .preview-code,#inlineblock-list-item-styling .preview-code,#link-styling-mixin .preview-code,#heading-styling-mixin .preview-code,#icon-with-image-or-sprite .preview-code,#change-the-size-of-font-icon .preview-code,#sprite-and-font-icons-for-blank-theme .preview-code,#icon-position-for-an-icon-with-image-or-sprite .preview-code{display:none}article[id$="-variables"] .docs,#resets .docs,#ratings .docs,#tabs-and-accordions .docs,#messages .docs,#dropdown-and-split-buttons-mixins .docs,#font-face-mixin .docs,#layout .docs,#forms-mixins .docs,#including-magento-ui-library-to-your-theme .docs,#global-forms-elements-customization .docs,#mobile-off-canvas-navigation .docs,#desktop-navigation .docs,#layout-width .docs{width:100%}article[id$="-variables"] .code{display:none}article[id$="-variables"] .docs pre{background:#fff;border:0;margin-top:0}</style><script type="text/preview">(function(){"use strict";var a=function(a){return Array.prototype.slice.call(a)},b=document.getElementsByTagName("body")[0],c=["link","visited","hover","active","focus","target","enabled","disabled","checked"],d=new RegExp(":(("+c.join(")|(")+"))","gi"),e=a(document.styleSheets).map(function(b){return a(b.cssRules).filter(function(a){return a.selectorText&&a.selectorText.match(d)}).map(function(a){return a.cssText.replace(d,".\\3A $1")}).join("")}).join("");if(e.length){var f=document.createElement("style");f.innerText=e;var g=document.getElementsByTagName("style")[0];g.parentNode.insertBefore(f,g)}var h=function(){var a=window.getComputedStyle(b,null);return function(){if(b.childElementCount===0)return b.offsetHeight;var c=b.getElementsByTagName("*"),d=[];for(var e=0,f=c.length;e<f;e++)d.push(c[e].offsetTop+c[e].offsetHeight+parseInt(window.getComputedStyle(c[e],null).getPropertyValue("margin-bottom")));var g=Math.max.apply(Math,d);return g+=parseInt(a.getPropertyValue("padding-bottom"),10),Math.max(g,b.offsetHeight)}}(),i={getHeight:function(){window.parent.postMessage({height:h()},"*")}};window.addEventListener("message",function(a){if(a.data==null)return;typeof a.data=="string"&&i[a.data]()},!1)})()</script><style type="text/preview">.actions-toolbar:before,.actions-toolbar:after{content:"";display:table}.actions-toolbar:after{clear:both}.actions-toolbar .primary{float:left}.actions-toolbar .secondary{float:right}.actions-toolbar .primary,.actions-toolbar .secondary{display:inline-block}.actions-toolbar .primary a.action,.actions-toolbar .secondary a.action{display:inline-block}.actions-toolbar .primary .action{margin:0 5px 0 0}.actions-toolbar .secondary a.action{margin-top:6px}.example-actions-toolbar-1:before,.example-actions-toolbar-1:after{content:"";display:table}.example-actions-toolbar-1:after{clear:both}.example-actions-toolbar-1 .primary{float:left}.example-actions-toolbar-1 .secondary{float:right}.example-actions-toolbar-1 .primary,.example-actions-toolbar-1 .secondary{display:inline-block}.example-actions-toolbar-1 .primary a.action,.example-actions-toolbar-1 .secondary a.action{display:inline-block}.example-actions-toolbar-1 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-1 .secondary a.action{margin-top:6px}.example-actions-toolbar-1:before,.example-actions-toolbar-1:after{content:"";display:table}.example-actions-toolbar-1:after{clear:both}.example-actions-toolbar-1 .primary{float:left}.example-actions-toolbar-1 .secondary{float:right}.example-actions-toolbar-1 .primary,.example-actions-toolbar-1 .secondary{display:inline-block}.example-actions-toolbar-1 .primary a.action,.example-actions-toolbar-1 .secondary a.action{display:inline-block}.example-actions-toolbar-1 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-1 .secondary a.action{margin-top:6px}.example-actions-toolbar-2:before,.example-actions-toolbar-2:after{content:"";display:table}.example-actions-toolbar-2:after{clear:both}.example-actions-toolbar-2 .primary{float:left}.example-actions-toolbar-2 .secondary{float:right}.example-actions-toolbar-2 .primary,.example-actions-toolbar-2 .secondary{display:inline-block}.example-actions-toolbar-2 .primary a.action,.example-actions-toolbar-2 .secondary a.action{display:inline-block}.example-actions-toolbar-2 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-2 .secondary a.action{margin-top:6px}.example-actions-toolbar-3{text-align:left}.example-actions-toolbar-3:before,.example-actions-toolbar-3:after{content:"";display:table}.example-actions-toolbar-3:after{clear:both}.example-actions-toolbar-3 .primary{float:left}.example-actions-toolbar-3 .primary,.example-actions-toolbar-3 .secondary{display:inline-block}.example-actions-toolbar-3 .primary a.action,.example-actions-toolbar-3 .secondary a.action{display:inline-block}.example-actions-toolbar-3 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-3 .secondary a.action{margin-top:6px}.example-actions-toolbar-4{text-align:right}.example-actions-toolbar-4:before,.example-actions-toolbar-4:after{content:"";display:table}.example-actions-toolbar-4:after{clear:both}.example-actions-toolbar-4 .secondary{float:right}.example-actions-toolbar-4 .primary,.example-actions-toolbar-4 .secondary{display:inline-block}.example-actions-toolbar-4 .primary a.action,.example-actions-toolbar-4 .secondary a.action{display:inline-block}.example-actions-toolbar-4 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-4 .secondary a.action{margin-top:6px}.example-actions-toolbar-5{text-align:center}.example-actions-toolbar-5:before,.example-actions-toolbar-5:after{content:"";display:table}.example-actions-toolbar-5:after{clear:both}.example-actions-toolbar-5 .primary,.example-actions-toolbar-5 .secondary{vertical-align:top}.example-actions-toolbar-5 .primary,.example-actions-toolbar-5 .secondary{display:inline-block}.example-actions-toolbar-5 .primary a.action,.example-actions-toolbar-5 .secondary a.action{display:inline-block}.example-actions-toolbar-5 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-5 .secondary a.action{margin-top:6px}.example-actions-toolbar-6:before,.example-actions-toolbar-6:after{content:"";display:table}.example-actions-toolbar-6:after{clear:both}.example-actions-toolbar-6 .primary{float:right}.example-actions-toolbar-6 .secondary{float:left}.example-actions-toolbar-6 .primary,.example-actions-toolbar-6 .secondary{display:inline-block}.example-actions-toolbar-6 .primary a.action,.example-actions-toolbar-6 .secondary a.action{display:inline-block}.example-actions-toolbar-6 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-6 .secondary a.action{margin-top:6px}.example-actions-toolbar-7{text-align:left}.example-actions-toolbar-7:before,.example-actions-toolbar-7:after{content:"";display:table}.example-actions-toolbar-7:after{clear:both}.example-actions-toolbar-7 .secondary{float:left}.example-actions-toolbar-7 .primary,.example-actions-toolbar-7 .secondary{display:inline-block}.example-actions-toolbar-7 .primary a.action,.example-actions-toolbar-7 .secondary a.action{display:inline-block}.example-actions-toolbar-7 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-7 .secondary a.action{margin-top:6px}.example-actions-toolbar-8{text-align:right}.example-actions-toolbar-8:before,.example-actions-toolbar-8:after{content:"";display:table}.example-actions-toolbar-8:after{clear:both}.example-actions-toolbar-8 .primary{float:right}.example-actions-toolbar-8 .primary,.example-actions-toolbar-8 .secondary{display:inline-block}.example-actions-toolbar-8 .primary a.action,.example-actions-toolbar-8 .secondary a.action{display:inline-block}.example-actions-toolbar-8 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-8 .secondary a.action{margin-top:6px}.example-actions-toolbar-9{margin:10px;padding:10px}.example-actions-toolbar-9:before,.example-actions-toolbar-9:after{content:"";display:table}.example-actions-toolbar-9:after{clear:both}.example-actions-toolbar-9 .primary{float:left}.example-actions-toolbar-9 .secondary{float:right}.example-actions-toolbar-9 .primary,.example-actions-toolbar-9 .secondary{display:inline-block}.example-actions-toolbar-9 .primary a.action,.example-actions-toolbar-9 .secondary a.action{display:inline-block}.example-actions-toolbar-9 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-9 .secondary a.action{margin-top:6px}.example-actions-toolbar-10{text-align:left}.example-actions-toolbar-10:before,.example-actions-toolbar-10:after{content:"";display:table}.example-actions-toolbar-10:after{clear:both}.example-actions-toolbar-10 .primary{float:left}.example-actions-toolbar-10 .primary,.example-actions-toolbar-10 .secondary{display:inline-block}.example-actions-toolbar-10 .primary a.action,.example-actions-toolbar-10 .secondary a.action{display:inline-block}.example-actions-toolbar-10 .primary .action{margin:0 50px 0 0}.example-actions-toolbar-10 .secondary a.action{margin-top:6px}.example-actions-toolbar-11{text-align:left}.example-actions-toolbar-11:before,.example-actions-toolbar-11:after{content:"";display:table}.example-actions-toolbar-11:after{clear:both}.example-actions-toolbar-11 .primary{float:left}.example-actions-toolbar-11 .primary,.example-actions-toolbar-11 .secondary{display:inline-block}.example-actions-toolbar-11 .primary a.action,.example-actions-toolbar-11 .secondary a.action{display:inline-block}.example-actions-toolbar-11 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-11 .secondary .action{margin:0 50px 0 0}.example-actions-toolbar-11 .secondary a.action{margin-top:6px}.example-actions-toolbar-12:before,.example-actions-toolbar-12:after{content:"";display:table}.example-actions-toolbar-12:after{clear:both}.example-actions-toolbar-12 .primary{float:left}.example-actions-toolbar-12 .secondary{float:right}.example-actions-toolbar-12 .primary,.example-actions-toolbar-12 .secondary{display:inline-block}.example-actions-toolbar-12 .primary a.action,.example-actions-toolbar-12 .secondary a.action{display:inline-block}.example-actions-toolbar-12 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-12 .secondary a.action{margin-top:6px}.example-actions-toolbar-12:before,.example-actions-toolbar-12:after{content:"";display:table}.example-actions-toolbar-12:after{clear:both}.example-actions-toolbar-12 .primary{float:left}.example-actions-toolbar-12 .secondary{float:right}.example-actions-toolbar-12 .primary,.example-actions-toolbar-12 .secondary{display:inline-block}.example-actions-toolbar-12 .primary a.action,.example-actions-toolbar-12 .secondary a.action{display:inline-block}.example-actions-toolbar-12 .primary .action{margin:0 5px 0 0}.example-actions-toolbar-12 .secondary a.action{margin-top:6px}@media only screen and (max-width: 768px){.example-actions-toolbar-12 .primary,.example-actions-toolbar-12 .secondary{ display:block;float:none}}.example-breadcrumbs-1{margin:0 0 20px}.example-breadcrumbs-1 .items{font-size:1.2rem;color:#a3a3a3;margin:0;padding:0;list-style:none none}.example-breadcrumbs-1 .items>li{display:inline-block;vertical-align:top}.example-breadcrumbs-1 .item{margin:0}.example-breadcrumbs-1 a{color:#333;text-decoration:none}.example-breadcrumbs-1 a:visited{color:#333;text-decoration:none}.example-breadcrumbs-1 a:hover{color:#333;text-decoration:underline}.example-breadcrumbs-1 a:active{color:#333;text-decoration:none}.example-breadcrumbs-1 strong{font-weight:400}.example-breadcrumbs-1 .item:not(:last-child){display:inline-block;text-decoration:none}.example-breadcrumbs-1 .item:not(:last-child):after{font-family:'icons-blank-theme';content:'\e608';font-size:24px;line-height:18px;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-breadcrumbs-2{margin:0 0 20px}.example-breadcrumbs-2 .items{font-size:1.2rem;color:#1979c3;margin:0;padding:0;list-style:none none}.example-breadcrumbs-2 .items>li{display:inline-block;vertical-align:top}.example-breadcrumbs-2 .item{margin:0}.example-breadcrumbs-2 a{background-color:#ccc;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #f4f4f4 0, #ccc 100%);background-image:linear-gradient(to bottom, #f4f4f4 0, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f4f4', endColorstr='#cccccc', GradientType=0);border:1px solid #ccc;display:inline-block;padding:3px 5px;color:#333;text-decoration:none}.example-breadcrumbs-2 a:visited{background-color:false;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top,false 0,false 100%);background-image:linear-gradient(to bottom,false 0,false 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='false', endColorstr='false', GradientType=0);color:#333;text-decoration:none}.example-breadcrumbs-2 a:hover{background-color:#f4f4f4;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #ccc 0, #f4f4f4 100%);background-image:linear-gradient(to bottom, #ccc 0, #f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#f4f4f4', GradientType=0);color:#333;text-decoration:none}.example-breadcrumbs-2 a:active{background-color:false;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top,false 0,false 100%);background-image:linear-gradient(to bottom,false 0,false 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='false', endColorstr='false', GradientType=0);color:#333;text-decoration:none}.example-breadcrumbs-2 strong{background-color:#ff5501;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #f7b32e 0, #ff5501 100%);background-image:linear-gradient(to bottom, #f7b32e 0, #ff5501 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7b32e', endColorstr='#ff5501', GradientType=0);border:1px solid #d04b0a;display:inline-block;padding:3px 5px;font-weight:400}.example-breadcrumbs-2 .item:not(:last-child){display:inline-block;text-decoration:none}.example-breadcrumbs-2 .item:not(:last-child):after{font-family:'icons-blank-theme';content:'\e608';font-size:24px;line-height:18px;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-breadcrumbs-3{margin:0 0 20px}.example-breadcrumbs-3 .items{font-size:1.2rem;color:#333;margin:0;padding:0;list-style:none none}.example-breadcrumbs-3 .items>li{display:inline-block;vertical-align:top}.example-breadcrumbs-3 .item{margin:0}.example-breadcrumbs-3 a{background:#f4f4f4;display:inline-block;padding:3px 5px;color:#333;text-decoration:none}.example-breadcrumbs-3 a:visited{color:#333;text-decoration:none}.example-breadcrumbs-3 a:hover{background:#ccc;color:#333;text-decoration:none}.example-breadcrumbs-3 a:active{color:#333;text-decoration:none}.example-breadcrumbs-3 strong{background:#e7e7e7;display:inline-block;padding:3px 5px;font-weight:400}.example-breadcrumbs-3 .item:not(:last-child){display:inline-block;text-decoration:none}.example-breadcrumbs-3 .item:not(:last-child):after{font-family:'icons-blank-theme';content:'\e608';font-size:24px;line-height:18px;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-breadcrumbs-3 .item a{position:relative;margin:0 11px 0 0}.example-breadcrumbs-3 .item a:after{border:12px solid transparent;height:0;width:0;border-left-color:#f4f4f4;content:"";position:absolute;display:block;top:0;right:-23px}.example-breadcrumbs-3 .item a:hover:after{border-color:transparent transparent transparent #ccc}button{background-image:none;background:#f2f2f2;padding:7px 15px;color:#333;border:1px solid #cdcdcd;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle;border-radius:3px}button:focus,button:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}button:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}button.disabled,button[disabled],fieldset[disabled] button{cursor:default;pointer-events:none;opacity:.5}button:active,button:focus{box-shadow:inset 0 2px 1px rgba(0,0,0,.12)}.example-button-1.example-button-2{line-height:2.2rem;padding:14px 17px;font-size:1.8rem}.example-button-1.example-button-3{line-height:1.2rem;padding:5px 8px;font-size:1.1rem;border-radius:0;color:#000}.example-button-1.example-button-3:hover,.example-button-1.example-button-3.active{color:#000}.example-button-10{background:#f2f2f2;padding:7px 15px;color:#333;border:1px solid #cdcdcd;cursor:pointer;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400}.example-button-10>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-button-10:before{font-family:'icons-blank-theme';content:'\e611';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-button-10:hover:before{color:inherit}.example-button-10:active:before{color:inherit}.example-button-10:focus,.example-button-10:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}.example-button-10:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}.example-button-10.disabled,.example-button-10[disabled],fieldset[disabled] .example-button-10{cursor:default;pointer-events:none;opacity:.5}.example-button-10:focus,.example-button-10:active{background:0;border:0}.example-button-10:hover{background:0;border:0}.example-button-10.disabled,.example-button-10[disabled],fieldset[disabled] .example-button-10{cursor:not-allowed;pointer-events:none;opacity:.5}.example-button-11{background-image:none;background:#f2f2f2;padding:7px 15px;color:#333;border:1px solid #cdcdcd;cursor:pointer;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle;display:inline-block;text-decoration:none}.example-button-11:before{font-family:'icons-blank-theme';content:'\e611';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-button-11:hover:before{color:inherit}.example-button-11:active:before{color:inherit}.example-button-11:focus,.example-button-11:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}.example-button-11:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}.example-button-11.disabled,.example-button-11[disabled],fieldset[disabled] .example-button-11{cursor:default;pointer-events:none;opacity:.5}.example-button-12{background-image:none;background:#f2f2f2;padding:7px 15px;color:#333;border:1px solid #cdcdcd;cursor:pointer;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle;display:inline-block;text-decoration:none}.example-button-12:after{font-family:'icons-blank-theme';content:'\e611';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-button-12:hover:after{color:inherit}.example-button-12:active:after{color:inherit}.example-button-12:focus,.example-button-12:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}.example-button-12:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}.example-button-12.disabled,.example-button-12[disabled],fieldset[disabled] .example-button-12{cursor:default;pointer-events:none;opacity:.5}.example-button-13{background-image:none;background:#f2f2f2;padding:7px 15px;width:100px;color:#333;border:1px solid #cdcdcd;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle}.example-button-13:focus,.example-button-13:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}.example-button-13:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}.example-button-13.disabled,.example-button-13[disabled],fieldset[disabled] .example-button-13{cursor:default;pointer-events:none;opacity:.5}.example-button-4{background-image:none;background:#1979c3;padding:7px 15px;color:#fff;border:1px solid #1979c3;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;box-sizing:border-box;margin:3px;vertical-align:middle}.example-button-4:focus,.example-button-4:active{background:#006bb4;border:1px solid #006bb4;color:#fff}.example-button-4:hover{background:#006bb4;border:1px solid #006bb4;color:#fff}.example-button-4.disabled,.example-button-4[disabled],fieldset[disabled] .example-button-4{cursor:default;pointer-events:none;opacity:.5}.example-button-4:active{box-shadow:inset 0 3px 1px rgba(0,0,0,.29)}.example-button-4.example-button-5{line-height:2.2rem;padding:7px 35px;font-size:1.8rem}.example-button-4.example-button-6{line-height:1.2rem;padding:5px 8px;font-size:1.1rem;color:#fff}.example-button-4.example-button-6:hover,.example-button-4.example-button-6.active{color:#fff}.example-button-7{background-image:none;background:#f2f2f2;background-color:#006bb4;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #1979c3 0, #006bb4 100%);background-image:linear-gradient(to bottom, #1979c3 0, #006bb4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1979c3', endColorstr='#006bb4', GradientType=0);padding:7px 15px;color:#fff;border:1px solid #1979c3;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:3px;vertical-align:middle;border-radius:3px}.example-button-7:focus,.example-button-7:active{background:#e2e2e2;background-color:#006bb4;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #006bb4 0, #006bb4 100%);background-image:linear-gradient(to bottom, #006bb4 0, #006bb4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006bb4', endColorstr='#006bb4', GradientType=0);border:1px solid #006bb4;color:#fff}.example-button-7:hover{background:#e2e2e2;background-color:#1979c3;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #006bb4 0, #1979c3 100%);background-image:linear-gradient(to bottom, #006bb4 0, #1979c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006bb4', endColorstr='#1979c3', GradientType=0);border:1px solid #006bb4;color:#fff}.example-button-7.disabled,.example-button-7[disabled],fieldset[disabled] .example-button-7{cursor:default;pointer-events:none;opacity:.5}.example-button-7:active{box-shadow:inset 0 3px 1px rgba(0,0,0,.29)}.example-button-8{background:0;border:0;display:inline;line-height:1.42857143;margin:0;padding:0;color:#1979c3;text-decoration:none;font-weight:400}.example-button-8:visited{color:#1979c3;text-decoration:none}.example-button-8:hover{color:#006bb4;text-decoration:underline}.example-button-8:active{color:#ff5501;text-decoration:underline}.example-button-8:hover{color:#006bb4}.example-button-8:hover,.example-button-8:active,.example-button-8:focus{background:0;border:0}.example-button-8.disabled,.example-button-8[disabled],fieldset[disabled] .example-button-8{color:#1979c3;text-decoration:underline;cursor:default;pointer-events:none;opacity:.5}.example-button-8:active{box-shadow:none}.example-button-9{text-decoration:none;background-image:none;background:#f2f2f2;padding:7px 15px;color:#333;border:1px solid #cdcdcd;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.6rem;box-sizing:border-box;margin:0;vertical-align:middle;margin:3px;border-radius:3px;font-weight:700}.example-button-9:hover,.example-button-9:active,.example-button-9:focus{text-decoration:none}.example-button-9:focus,.example-button-9:active{background:#e2e2e2;border:1px solid #cdcdcd;color:#333}.example-button-9:hover{background:#e2e2e2;border:1px solid #cdcdcd;color:#555}.example-button-9.disabled,.example-button-9[disabled],fieldset[disabled] .example-button-9{cursor:default;pointer-events:none;opacity:.5}.example-button-9:active{box-shadow:inset 0 3px 1px rgba(0,0,0,.29)}.example-button-14{background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400}.example-button-14:focus,.example-button-14:active{background:0;border:0}.example-button-14:hover{background:0;border:0}.example-button-14.disabled,.example-button-14[disabled],fieldset[disabled] .example-button-14{cursor:not-allowed;pointer-events:none;opacity:.5}.example-button-15{background-image:none;background:#1979c3;padding:7px 15px;color:#fff;border:1px solid #1979c3;cursor:pointer;display:inline-block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700;box-sizing:border-box;vertical-align:middle;background:#f2f2f2;color:#333;border:1px solid #cdcdcd}.example-button-15:focus,.example-button-15:active{background:#006bb4;border:1px solid #006bb4;color:#fff}.example-button-15:hover{background:#006bb4;border:1px solid #006bb4;color:#fff}.example-button-15.disabled,.example-button-15[disabled],fieldset[disabled] .example-button-15{cursor:default;pointer-events:none;opacity:.5}.example-button-15:focus,.example-button-15:active{background:#e2e2e2;color:#333;border:1px solid #cdcdcd}.example-button-15:hover{background:#e2e2e2;color:#555;border:1px solid #cdcdcd}.example-button-17{line-height:2.2rem;padding:14px 17px;font-size:1.8rem;font-size:1.4rem;line-height:1.6rem;padding:7px 15px}.example-button-18{font-size:1rem;line-height:1.2rem;padding:4px 10px}.example-dropdown-1{display:inline-block;position:relative}.example-dropdown-1:before,.example-dropdown-1:after{content:"";display:table}.example-dropdown-1:after{clear:both}.example-dropdown-1 .action.toggle{cursor:pointer;display:inline-block;text-decoration:none}.example-dropdown-1 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-1 .action.toggle:hover:after{color:inherit}.example-dropdown-1 .action.toggle:active:after{color:inherit}.example-dropdown-1 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-1 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-1 .action.toggle.active:hover:after{color:inherit}.example-dropdown-1 .action.toggle.active:active:after{color:inherit}.example-dropdown-1 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-1 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-1 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-1 ul.dropdown:before,.example-dropdown-1 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-1 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-1 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-1 ul.dropdown:before{top:-12px;left:10px}.example-dropdown-1 ul.dropdown:after{top:-14px;left:9px}.example-dropdown-1.active{overflow:visible}.example-dropdown-1.active ul.dropdown{display:block}.example-dropdown-2{display:inline-block;position:relative}.example-dropdown-2:before,.example-dropdown-2:after{content:"";display:table}.example-dropdown-2:after{clear:both}.example-dropdown-2 .action.toggle{cursor:pointer;display:inline-block;text-decoration:none}.example-dropdown-2 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-2 .action.toggle:hover:after{color:inherit}.example-dropdown-2 .action.toggle:active:after{color:inherit}.example-dropdown-2 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-2 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-2 .action.toggle.active:hover:after{color:inherit}.example-dropdown-2 .action.toggle.active:active:after{color:inherit}.example-dropdown-2 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-2 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-2 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-2 ul.dropdown:before,.example-dropdown-2 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-2 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-2 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-2 ul.dropdown:before{top:-12px;left:10px}.example-dropdown-2 ul.dropdown:after{top:-14px;left:9px}.example-dropdown-2.active{overflow:visible}.example-dropdown-2.active ul.dropdown{display:block}.example-dropdown-3{display:inline-block;position:relative}.example-dropdown-3:before,.example-dropdown-3:after{content:"";display:table}.example-dropdown-3:after{clear:both}.example-dropdown-3 .action.toggle{cursor:pointer;display:inline-block;text-decoration:none}.example-dropdown-3 .action.toggle:before{font-family:'icons-blank-theme';content:'\e61c';font-size:22px;line-height:1;color:red;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-3 .action.toggle:hover:before{color:red}.example-dropdown-3 .action.toggle:active:before{color:inherit}.example-dropdown-3 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-3 .action.toggle.active:before{font-family:'icons-blank-theme';content:'\e60f';font-size:22px;line-height:1;color:red;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-3 .action.toggle.active:hover:before{color:red}.example-dropdown-3 .action.toggle.active:active:before{color:inherit}.example-dropdown-3 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-3 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-3 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-3 ul.dropdown:before,.example-dropdown-3 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-3 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-3 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-3 ul.dropdown:before{top:-12px;left:10px}.example-dropdown-3 ul.dropdown:after{top:-14px;left:9px}.example-dropdown-3.active{overflow:visible}.example-dropdown-3.active ul.dropdown{display:block}.example-dropdown-5{display:inline-block;position:relative}.example-dropdown-5:before,.example-dropdown-5:after{content:"";display:table}.example-dropdown-5:after{clear:both}.example-dropdown-5 .action.toggle{cursor:pointer;display:inline-block;text-decoration:none}.example-dropdown-5 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:1;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-5 .action.toggle:hover:after{color:inherit}.example-dropdown-5 .action.toggle:active:after{color:inherit}.example-dropdown-5 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-5 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:1;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-5 .action.toggle.active:hover:after{color:inherit}.example-dropdown-5 .action.toggle.active:active:after{color:inherit}.example-dropdown-5 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#eef1f3;border:2px solid #ced1d4;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none}.example-dropdown-5 ul.dropdown li{margin:0;padding:10px;border-top:2px solid #e8eaed}.example-dropdown-5 ul.dropdown li:first-child{border:0}.example-dropdown-5 ul.dropdown li:hover{background:#d8e3e3;cursor:pointer}.example-dropdown-5.active{overflow:visible}.example-dropdown-5.active ul.dropdown{display:block}.example-dropdown-6{display:inline-block;position:relative}.example-dropdown-6:before,.example-dropdown-6:after{content:"";display:table}.example-dropdown-6:after{clear:both}.example-dropdown-6 .action.split{float:left;margin:0}.example-dropdown-6 .action.toggle{float:right;margin:0}.example-dropdown-6 button.action.split{border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-6 button+.action.toggle{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-6 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-6 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-6 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-6 .action.toggle:hover:after{color:inherit}.example-dropdown-6 .action.toggle:active:after{color:inherit}.example-dropdown-6 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-6 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-6 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-6 .action.toggle.active:hover:after{color:inherit}.example-dropdown-6 .action.toggle.active:active:after{color:inherit}.example-dropdown-6 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-6 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-6 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-6 ul.dropdown:before,.example-dropdown-6 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-6 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-6 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-6 ul.dropdown:before{top:-12px;right:10px}.example-dropdown-6 ul.dropdown:after{top:-14px;right:9px}.example-dropdown-6.active{overflow:visible}.example-dropdown-6.active ul.dropdown{display:block}.split.example-dropdown-7{display:inline-block;position:relative}.split.example-dropdown-7:before,.split.example-dropdown-7:after{content:"";display:table}.split.example-dropdown-7:after{clear:both}.split.example-dropdown-7 .action.split{float:left;margin:0}.split.example-dropdown-7 .action.toggle{float:right;margin:0}.split.example-dropdown-7 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.split.example-dropdown-7 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.split.example-dropdown-7 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.split.example-dropdown-7 .action.toggle:hover:after{color:inherit}.split.example-dropdown-7 .action.toggle:active:after{color:inherit}.split.example-dropdown-7 .action.toggle.active{display:inline-block;text-decoration:none}.split.example-dropdown-7 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.split.example-dropdown-7 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.split.example-dropdown-7 .action.toggle.active:hover:after{color:inherit}.split.example-dropdown-7 .action.toggle.active:active:after{color:inherit}.split.example-dropdown-7 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.split.example-dropdown-7 ul.dropdown li{margin:0;padding:3px 5px}.split.example-dropdown-7 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.split.example-dropdown-7 ul.dropdown:before,.split.example-dropdown-7 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.split.example-dropdown-7 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.split.example-dropdown-7 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.split.example-dropdown-7 ul.dropdown:before{top:-12px;right:10px}.split.example-dropdown-7 ul.dropdown:after{top:-14px;right:9px}.split.example-dropdown-7.active{overflow:visible}.split.example-dropdown-7.active ul.dropdown{display:block}.example-dropdown-8{display:inline-block;position:relative}.example-dropdown-8:before,.example-dropdown-8:after{content:"";display:table}.example-dropdown-8:after{clear:both}.example-dropdown-8 .action.split{float:left;margin:0}.example-dropdown-8 .action.toggle{float:right;margin:0}.example-dropdown-8 button.action.split{border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-8 button+.action.toggle{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-8 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-8 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-8 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-8 .action.toggle:hover:after{color:inherit}.example-dropdown-8 .action.toggle:active:after{color:inherit}.example-dropdown-8 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-8 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-8 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-8 .action.toggle.active:hover:after{color:inherit}.example-dropdown-8 .action.toggle.active:active:after{color:inherit}.example-dropdown-8 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-8 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-8 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-8 ul.dropdown:before,.example-dropdown-8 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-8 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-8 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-8 ul.dropdown:before{top:-12px;right:10px}.example-dropdown-8 ul.dropdown:after{top:-14px;right:9px}.example-dropdown-8.active{overflow:visible}.example-dropdown-8.active ul.dropdown{display:block}.example-dropdown-9{display:inline-block;position:relative}.example-dropdown-9 .action.split,.example-dropdown-9 .action.toggle{line-height:2.2rem;padding:14px 17px;font-size:1.8rem}.example-dropdown-9:before,.example-dropdown-9:after{content:"";display:table}.example-dropdown-9:after{clear:both}.example-dropdown-9 .action.split{float:left;margin:0}.example-dropdown-9 .action.toggle{float:right;margin:0}.example-dropdown-9 button.action.split{border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-9 button+.action.toggle{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-9 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-9 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-9 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-9 .action.toggle:hover:after{color:inherit}.example-dropdown-9 .action.toggle:active:after{color:inherit}.example-dropdown-9 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-9 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-9 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-9 .action.toggle.active:hover:after{color:inherit}.example-dropdown-9 .action.toggle.active:active:after{color:inherit}.example-dropdown-9 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-9 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-9 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-9 ul.dropdown:before,.example-dropdown-9 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-9 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-9 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-9 ul.dropdown:before{top:-12px;right:10px}.example-dropdown-9 ul.dropdown:after{top:-14px;right:9px}.example-dropdown-9.active{overflow:visible}.example-dropdown-9.active ul.dropdown{display:block}.example-dropdown-10{display:inline-block;position:relative}.example-dropdown-10 .action.split,.example-dropdown-10 .action.toggle{line-height:1.2rem;padding:5px 8px;font-size:1.1rem}.example-dropdown-10:before,.example-dropdown-10:after{content:"";display:table}.example-dropdown-10:after{clear:both}.example-dropdown-10 .action.split{float:left;margin:0}.example-dropdown-10 .action.toggle{float:right;margin:0}.example-dropdown-10 button.action.split{border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-10 button+.action.toggle{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-10 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-10 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-10 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-10 .action.toggle:hover:after{color:inherit}.example-dropdown-10 .action.toggle:active:after{color:inherit}.example-dropdown-10 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-10 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-10 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-10 .action.toggle.active:hover:after{color:inherit}.example-dropdown-10 .action.toggle.active:active:after{color:inherit}.example-dropdown-10 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-10 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-10 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-10 ul.dropdown:before,.example-dropdown-10 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-10 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-10 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-10 ul.dropdown:before{top:-12px;right:10px}.example-dropdown-10 ul.dropdown:after{top:-14px;right:9px}.example-dropdown-10.active{overflow:visible}.example-dropdown-10.active ul.dropdown{display:block}.example-dropdown-11{display:inline-block;position:relative}.example-dropdown-11:before,.example-dropdown-11:after{content:"";display:table}.example-dropdown-11:after{clear:both}.example-dropdown-11 .action.split{float:right;margin:0}.example-dropdown-11 .action.toggle{float:left;margin:0}.example-dropdown-11 button.action.split{border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-11 button+.action.toggle{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-11 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-11 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-11 .action.toggle:before{font-family:'icons-blank-theme';content:'\e61c';font-size:22px;line-height:22px;color:red;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-11 .action.toggle:hover:before{color:red}.example-dropdown-11 .action.toggle:active:before{color:inherit}.example-dropdown-11 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-11 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-11 .action.toggle.active:before{font-family:'icons-blank-theme';content:'\e60f';font-size:22px;line-height:22px;color:red;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-11 .action.toggle.active:hover:before{color:red}.example-dropdown-11 .action.toggle.active:active:before{color:inherit}.example-dropdown-11 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#fff;border:1px solid #bbb;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none;box-shadow:0 3px 3px rgba(0,0,0,.15)}.example-dropdown-11 ul.dropdown li{margin:0;padding:3px 5px}.example-dropdown-11 ul.dropdown li:hover{background:#e8e8e8;cursor:pointer}.example-dropdown-11 ul.dropdown:before,.example-dropdown-11 ul.dropdown:after{content:"";position:absolute;display:block;width:0;height:0;border-bottom-style:solid}.example-dropdown-11 ul.dropdown:before{z-index:99;border:solid 6px;border-color:transparent transparent #fff transparent}.example-dropdown-11 ul.dropdown:after{z-index:98;border:solid 7px;border-color:transparent transparent #bbb transparent}.example-dropdown-11 ul.dropdown:before{top:-12px;right:10px}.example-dropdown-11 ul.dropdown:after{top:-14px;right:9px}.example-dropdown-11.active{overflow:visible}.example-dropdown-11.active ul.dropdown{display:block}.example-dropdown-12{display:inline-block;position:relative}.example-dropdown-12:before,.example-dropdown-12:after{content:"";display:table}.example-dropdown-12:after{clear:both}.example-dropdown-12 .action.split{float:left;margin:0}.example-dropdown-12 .action.toggle{float:right;margin:0}.example-dropdown-12 button.action.split{border-top-right-radius:0;border-bottom-right-radius:0}.example-dropdown-12 button+.action.toggle{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.example-dropdown-12 .action.toggle{padding:4px 5px;display:inline-block;text-decoration:none}.example-dropdown-12 .action.toggle>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-12 .action.toggle:after{font-family:'icons-blank-theme';content:'\e607';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-12 .action.toggle:hover:after{color:inherit}.example-dropdown-12 .action.toggle:active:after{color:inherit}.example-dropdown-12 .action.toggle.active{display:inline-block;text-decoration:none}.example-dropdown-12 .action.toggle.active>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-dropdown-12 .action.toggle.active:after{font-family:'icons-blank-theme';content:'\e618';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.example-dropdown-12 .action.toggle.active:hover:after{color:inherit}.example-dropdown-12 .action.toggle.active:active:after{color:inherit}.example-dropdown-12 ul.dropdown{margin:0;padding:0;list-style:none none;box-sizing:border-box;background:#eef1f3;border:2px solid #ced1d4;position:absolute;z-index:100;top:100%;min-width:100%;margin-top:4px;display:none}.example-dropdown-12 ul.dropdown li{margin:0;padding:10px;border-top:2px solid #e8eaed}.example-dropdown-12 ul.dropdown li:first-child{border:0}.example-dropdown-12 ul.dropdown li:hover{background:#d8e3e3;cursor:pointer}.example-dropdown-12.active{overflow:visible}.example-dropdown-12.active ul.dropdown{display:block}.example-form-1 .example-form-1-fieldset{padding:0;margin:0 0 40px;border:0;letter-spacing:-.31em}.example-form-1 .example-form-1-fieldset>*{letter-spacing:normal}.example-form-1 .example-form-1-fieldset>.legend{margin:0 0 25px;padding:0;font-size:2rem;line-height:1.2;box-sizing:border-box;float:left}.example-form-1 .example-form-1-fieldset>.legend+br{display:block;visibility:hidden;height:0;overflow:hidden;clear:both}.example-form-1 .example-form-1-fieldset:after{content:attr(data-hasrequired);display:block;font-size:1.2rem;color:#e02b27;margin:10px 0 0;letter-spacing:normal;word-spacing:normal}.example-form-1 .example-form-1-fieldset>.field{margin:0 0 20px}.example-form-1 .example-form-1-fieldset>.field>.label{display:inline-block;margin:0 0 5px}.example-form-1 .example-form-1-fieldset>.field:last-child{margin-bottom:0}.example-form-1 .example-form-1-fieldset>.field>.label{font-weight:700}.example-form-1 .example-form-1-fieldset>.field>.label+br{display:none}.example-form-1 .example-form-1-fieldset>.field .choice input{vertical-align:top}.example-form-1 .example-form-1-fieldset>.field .fields.group:before,.example-form-1 .example-form-1-fieldset>.field .fields.group:after{content:"";display:table}.example-form-1 .example-form-1-fieldset>.field .fields.group:after{clear:both}.example-form-1 .example-form-1-fieldset>.field .fields.group .field{box-sizing:border-box;float:left}.example-form-1 .example-form-1-fieldset>.field .fields.group.group-2 .field{width:50%!important}.example-form-1 .example-form-1-fieldset>.field .fields.group.group-3 .field{width:33.3%!important}.example-form-1 .example-form-1-fieldset>.field .fields.group.group-4 .field{width:25%!important}.example-form-1 .example-form-1-fieldset>.field .fields.group.group-5 .field{width:20%!important}.example-form-1 .example-form-1-fieldset>.field .addon{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;padding:0;width:100%}.example-form-1 .example-form-1-fieldset>.field .addon textarea,.example-form-1 .example-form-1-fieldset>.field .addon select,.example-form-1 .example-form-1-fieldset>.field .addon input{-ms-flex-order:2;-webkit-order:2;order:2;-webkit-flex-basis:100%;flex-basis:100%;box-shadow:none;display:inline-block;margin:0;width:auto}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore,.example-form-1 .example-form-1-fieldset>.field .addon .addafter{-ms-flex-order:3;-webkit-order:3;order:3;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #c2c2c2;border-radius:1px;height:32px;width:100%;padding:0 9px;font-size:14px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.428571429;background-clip:padding-box;vertical-align:baseline;width:auto;white-space:nowrap;vertical-align:middle}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore:disabled,.example-form-1 .example-form-1-fieldset>.field .addon .addafter:disabled{opacity:.5}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore::-moz-placeholder,.example-form-1 .example-form-1-fieldset>.field .addon .addafter::-moz-placeholder{color:#c2c2c2}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore::-webkit-input-placeholder,.example-form-1 .example-form-1-fieldset>.field .addon .addafter::-webkit-input-placeholder{color:#c2c2c2}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore:-ms-input-placeholder,.example-form-1 .example-form-1-fieldset>.field .addon .addafter:-ms-input-placeholder{color:#c2c2c2}.example-form-1 .example-form-1-fieldset>.field .addon .addbefore{float:left;-ms-flex-order:1;-webkit-order:1;order:1}.example-form-1 .example-form-1-fieldset>.field .additional{margin-top:10px}.example-form-1 .example-form-1-fieldset>.field.required>.label:after{content:'*';font-size:1.2rem;color:#e02b27;margin:0 0 0 5px}.example-form-1 .example-form-1-fieldset>.field .note{font-size:1.2rem;margin:3px 0 0;padding:0;display:inline-block;text-decoration:none}.example-form-1 .example-form-1-fieldset>.field .note:before{font-family:'icons-blank-theme';content:'\e618';font-size:24px;line-height:12px;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-form-2 .example-form-2-fieldset{padding:0;margin:0 0 40px;border:0;letter-spacing:-.31em}.example-form-2 .example-form-2-fieldset>*{letter-spacing:normal}.example-form-2 .example-form-2-fieldset>.legend{margin:0 0 25px;padding:0;font-size:2rem;line-height:1.2;box-sizing:border-box;float:left}.example-form-2 .example-form-2-fieldset>.legend+br{display:block;visibility:hidden;height:0;overflow:hidden;clear:both}.example-form-2 .example-form-2-fieldset>.field{margin:0 0 20px;box-sizing:border-box;display:inline-block;padding:0 12px 0 0;width:50%;vertical-align:top}.example-form-2 .example-form-2-fieldset>.field>.label{display:inline-block;margin:0 0 5px}.example-form-2 .example-form-2-fieldset>.field:last-child{margin-bottom:0}.example-form-2 .example-form-2-fieldset>.field+.fieldset{clear:both}.example-form-2 .example-form-2-fieldset>.field>.label{font-weight:700}.example-form-2 .example-form-2-fieldset>.field>.label+br{display:none}.example-form-2 .example-form-2-fieldset>.field .choice input{vertical-align:top}.example-form-2 .example-form-2-fieldset>.field .fields.group:before,.example-form-2 .example-form-2-fieldset>.field .fields.group:after{content:"";display:table}.example-form-2 .example-form-2-fieldset>.field .fields.group:after{clear:both}.example-form-2 .example-form-2-fieldset>.field .fields.group .field{box-sizing:border-box;float:left}.example-form-2 .example-form-2-fieldset>.field .fields.group.group-2 .field{width:50%!important}.example-form-2 .example-form-2-fieldset>.field .fields.group.group-3 .field{width:33.3%!important}.example-form-2 .example-form-2-fieldset>.field .fields.group.group-4 .field{width:25%!important}.example-form-2 .example-form-2-fieldset>.field .fields.group.group-5 .field{width:20%!important}.example-form-2 .example-form-2-fieldset>.field .addon{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;padding:0;width:100%}.example-form-2 .example-form-2-fieldset>.field .addon textarea,.example-form-2 .example-form-2-fieldset>.field .addon select,.example-form-2 .example-form-2-fieldset>.field .addon input{-ms-flex-order:2;-webkit-order:2;order:2;-webkit-flex-basis:100%;flex-basis:100%;box-shadow:none;display:inline-block;margin:0;width:auto}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore,.example-form-2 .example-form-2-fieldset>.field .addon .addafter{-ms-flex-order:3;-webkit-order:3;order:3;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #c2c2c2;border-radius:1px;height:32px;width:100%;padding:0 9px;font-size:14px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.428571429;background-clip:padding-box;vertical-align:baseline;width:auto;white-space:nowrap;vertical-align:middle}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore:disabled,.example-form-2 .example-form-2-fieldset>.field .addon .addafter:disabled{opacity:.5}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore::-moz-placeholder,.example-form-2 .example-form-2-fieldset>.field .addon .addafter::-moz-placeholder{color:#c2c2c2}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore::-webkit-input-placeholder,.example-form-2 .example-form-2-fieldset>.field .addon .addafter::-webkit-input-placeholder{color:#c2c2c2}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore:-ms-input-placeholder,.example-form-2 .example-form-2-fieldset>.field .addon .addafter:-ms-input-placeholder{color:#c2c2c2}.example-form-2 .example-form-2-fieldset>.field .addon .addbefore{float:left;-ms-flex-order:1;-webkit-order:1;order:1}.example-form-2 .example-form-2-fieldset>.field .additional{margin-top:10px}.example-form-2 .example-form-2-fieldset>.field.required>.label:after{content:'*';font-size:1.2rem;color:#e02b27;margin:0 0 0 5px}.example-form-2 .example-form-2-fieldset>.field .note{font-size:1.2rem;margin:3px 0 0;padding:0;display:inline-block;text-decoration:none}.example-form-2 .example-form-2-fieldset>.field .note:before{font-family:'icons-blank-theme';content:'\e618';font-size:24px;line-height:12px;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}input[type="text"],input[type="password"],input[type="url"],input[type="tel"],input[type="search"],input[type="number"],input[type="datetime"],input[type="email"]{box-sizing:border-box;background:#fff;border:1px solid #c2c2c2;border-radius:1px;height:32px;width:100%;padding:0 9px;font-size:14px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.428571429;background-clip:padding-box;vertical-align:baseline;margin-bottom:20px}input[type="text"]:disabled,input[type="password"]:disabled,input[type="url"]:disabled,input[type="tel"]:disabled,input[type="search"]:disabled,input[type="number"]:disabled,input[type="datetime"]:disabled,input[type="email"]:disabled{opacity:.5}input[type="text"]::-moz-placeholder,input[type="password"]::-moz-placeholder,input[type="url"]::-moz-placeholder,input[type="tel"]::-moz-placeholder,input[type="search"]::-moz-placeholder,input[type="number"]::-moz-placeholder,input[type="datetime"]::-moz-placeholder,input[type="email"]::-moz-placeholder{color:#c2c2c2}input[type="text"]::-webkit-input-placeholder,input[type="password"]::-webkit-input-placeholder,input[type="url"]::-webkit-input-placeholder,input[type="tel"]::-webkit-input-placeholder,input[type="search"]::-webkit-input-placeholder,input[type="number"]::-webkit-input-placeholder,input[type="datetime"]::-webkit-input-placeholder,input[type="email"]::-webkit-input-placeholder{color:#c2c2c2}input[type="text"]:-ms-input-placeholder,input[type="password"]:-ms-input-placeholder,input[type="url"]:-ms-input-placeholder,input[type="tel"]:-ms-input-placeholder,input[type="search"]:-ms-input-placeholder,input[type="number"]:-ms-input-placeholder,input[type="datetime"]:-ms-input-placeholder,input[type="email"]:-ms-input-placeholder{color:#c2c2c2}select{box-sizing:border-box;background:#fff;border:1px solid #c2c2c2;border-radius:1px;height:32px;width:100%;padding:5px 10px 4px;font-size:14px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.428571429;background-clip:padding-box;vertical-align:baseline;margin-bottom:20px}select:disabled{opacity:.5}select[multiple="multiple"]{height:auto;margin-bottom:20px}textarea{box-sizing:border-box;background:#fff;border:1px solid #c2c2c2;border-radius:1px;height:auto;width:100%;padding:10px;margin:0;font-size:14px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.428571429;background-clip:padding-box;vertical-align:baseline;resize:vertical}textarea:disabled{opacity:.5}textarea::-moz-placeholder{color:#c2c2c2}textarea::-webkit-input-placeholder{color:#c2c2c2}textarea:-ms-input-placeholder{color:#c2c2c2}input[type="checkbox"]{margin:2px 5px 0 0}input[type="checkbox"]:disabled{opacity:.5}input[type="radio"]{margin:2px 5px 0 0}input[type="radio"]:disabled{opacity:.5}input.text-example-1,select.select-example-1,textarea.textarea-example-1{background:#fdf0d5;border-color:#fc0;color:#b30000}input.text-example-1:focus,select.select-example-1:focus,textarea.textarea-example-1:focus{border-color:#cff;color:#060}input.text-example-1:disabled,select.select-example-1:disabled,textarea.textarea-example-1:disabled{color:#fcc}input.text-example-1::-moz-placeholder,textarea.textarea-example-1::-moz-placeholder{color:#ccc}input.text-example-1::-webkit-input-placeholder,textarea.textarea-example-1::-webkit-input-placeholder{color:#ccc}input.text-example-1:-ms-input-placeholder,textarea.textarea-example-1:-ms-input-placeholder{color:#ccc}.number-example{-moz-appearance:textfield}.number-example::-webkit-inner-spin-button,.number-example::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.search-example{-webkit-appearance:none}.search-example::-webkit-search-cancel-button,.search-example::-webkit-search-decoration,.search-example::-webkit-search-results-button,.search-example::-webkit-search-results-decoration{-webkit-appearance:none}input,textarea,select{font-size:1.2rem;color:#e02b27}.example-icon-1{display:inline-block}.example-icon-1:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-2{display:inline-block}.example-icon-2:after{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat -26px 0}.example-icon-3{display:inline-block}.example-icon-3>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-icon-3:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat -156px -52px}.example-icon-4{display:inline-block;text-decoration:none}.example-icon-4:before{font-family:'icons-blank-theme';content:'\e606';font-size:24px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-5{display:inline-block;text-decoration:none}.example-icon-5:after{font-family:'icons-blank-theme';content:'\e605';font-size:24px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-6{display:inline-block;text-decoration:none}.example-icon-6>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-icon-6:before{font-family:'icons-blank-theme';content:'\e61b';font-size:24px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-7{display:inline-block}.example-icon-7:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-8{display:inline-block}.example-icon-8:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-8:before{background-position:-182px 0}.example-icon-9{display:inline-block}.example-icon-9:after{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-9:after{background-position:-52px -26px}.example-icon-10{display:inline-block}.example-icon-10:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-10:before{background-position:-104px 0}.example-icon-11{display:inline-block}.example-icon-11:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.example-icon-11:before{width:30px;height:30px}.example-icon-11:after{width:30px;height:30px}.example-icon-11:before{background-color:#f1f1f1}.example-icon-12{display:inline-block;text-decoration:none}.example-icon-12:before{font-family:'icons-blank-theme';content:'\e612';font-size:28px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-13{display:inline-block;text-decoration:none}.example-icon-13:before{font-family:'icons-blank-theme';content:'\e612';font-size:inherit;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-13:before{font-size:26px;line-height:inherit}.example-icon-14{display:inline-block;text-decoration:none}.example-icon-14:before{font-family:'icons-blank-theme';content:'\e61d';font-size:26px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.example-icon-14>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.icons-image-list{list-style:none;padding:0}.icons-image-list li{float:left;width:33%}.icons-image-list li>span{display:inline-block}.icons-image-list li>span:before{content:'';display:inline-block;width:26px;height:26px;line-height:26px;vertical-align:middle;background:url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0}.icons-image-list li .icon-search:before{background-position:0 0}.icons-image-list li .icon-cart:before{background-position:-26px 0}.icons-image-list li .icon-arrow-down:before{background-position:-52px 0}.icons-image-list li .icon-arrow-up:before{background-position:-78px 0}.icons-image-list li .icon-grid:before{background-position:-104px 0}.icons-image-list li .icon-list:before{background-position:-130px 0}.icons-image-list li .icon-remove:before{background-position:-156px 0}.icons-image-list li .icon-star:before{background-position:-182px 0}.icons-image-list li .icon-pointer-down:before{background-position:-208px 0}.icons-image-list li .icon-pointer-up:before{background-position:-234px 0}.icons-image-list li .icon-pointer-left:before{background-position:-260px 0}.icons-image-list li .icon-pointer-right:before{background-position:-286px 0}.icons-image-list li .icon-compare-empty:before{background-position:0 -26px}.icons-image-list li .icon-compare-full:before{background-position:-26px -26px}.icons-image-list li .icon-wishlist-empty:before{background-position:-52px -26px}.icons-image-list li .icon-wishlist-full:before{background-position:-78px -26px}.icons-image-list li .icon-update:before{background-position:-104px -26px}.icons-image-list li .icon-collapse:before{background-position:-130px -26px}.icons-image-list li .icon-expand:before{background-position:-156px -26px}.icons-image-list li .icon-menu:before{background-position:-182px -26px}.icons-image-list li .icon-prev:before{background-position:-208px -26px}.icons-image-list li .icon-next:before{background-position:-234px -26px}.icons-image-list li .icon-settings:before{background-position:-260px -26px}.icons-image-list li .icon-info:before{background-position:-286px -26px}.icons-image-list li .icon-checkmark:before{background-position:0 -52px}.icons-image-list li .icon-calendar:before{background-position:-26px -52px}.icons-image-list li .icon-comment:before{background-position:-52px -52px}.icons-image-list li .icon-comment-reflected:before{background-position:-78px -52px}.icons-image-list li .icon-envelope:before{background-position:-104px -52px}.icons-image-list li .icon-warning:before{background-position:-130px -52px}.icons-image-list li .icon-trash:before{background-position:-156px -52px}.icons-image-list li .icon-flag:before{background-position:-182px -52px}.icons-image-list li .icon-location:before{background-position:-208px -52px}.icons-image-list li .icon-up:before{background-position:-234px -52px}.icons-image-list li .icon-down:before{background-position:-260px -52px}.icons-font-list{list-style:none;padding:0}.icons-font-list li{float:left;width:25%;margin-bottom:35px;text-align:center}.icons-font-list li>span{display:inline-block;text-decoration:none}.icons-font-list li>span:before{font-family:'icons-blank-theme';font-size:34px;line-height:inherit;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center}.icons-font-list li>span:before{content:attr(data-icon);margin:0 auto;display:block}.loader{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.5);z-index:9999}.loader:before{border-radius:5px;background:transparent url('/pub/static/frontend/Magento/blank/en_US/images/loader-2.gif') no-repeat 50% 50%;box-sizing:border-box;content:'';position:absolute;top:0;right:0;left:0;bottom:0;margin:auto;width:160px;height:160px}.loading{position:relative}.loading:before{content:'';position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(255,255,255,.5) url('/pub/static/frontend/Magento/blank/en_US/images/loader-2.gif') no-repeat 50% 50%}.example-message-info{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fdf0d5;color:#6f4400}.example-message-info a{color:#1979c3}.example-message-info a:hover{color:#006bb4}.example-message-info a:active{color:#006bb4}.example-message-warning{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fdf0d5;color:#6f4400}.example-message-warning a{color:#1979c3}.example-message-warning a:hover{color:#006bb4}.example-message-warning a:active{color:#006bb4}.example-message-error{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fae5e5;color:#e02b27}.example-message-error a{color:#1979c3}.example-message-error a:hover{color:#006bb4}.example-message-error a:active{color:#006bb4}.example-message-success{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#e5efe5;color:#006400}.example-message-success a{color:#1979c3}.example-message-success a:hover{color:#006bb4}.example-message-success a:active{color:#006bb4}.example-message-notice{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fdf0d5;color:#6f4400}.example-message-notice a{color:#1979c3}.example-message-notice a:hover{color:#006bb4}.example-message-notice a:active{color:#006bb4}.example-message-1{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fdf0d5;color:#6f4400;position:relative;padding-left:40px}.example-message-1 a{color:#1979c3}.example-message-1 a:hover{color:#006bb4}.example-message-1 a:active{color:#006bb4}.example-message-1>:first-child:before{font-family:'icons-blank-theme';content:'\e602';font-size:28px;line-height:28px;color:#c07600;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;margin:-14px 0 0;position:absolute;top:18px;left:0;text-align:center;width:40px}.example-message-2{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fae5e5;color:#e02b27;position:relative;padding-right:40px}.example-message-2 a{color:#1979c3}.example-message-2 a:hover{color:#006bb4}.example-message-2 a:active{color:#006bb4}.example-message-2:before{content:'';position:absolute;width:30px;text-align:center;top:0;height:100%;display:block;padding:0;background:#b30000}.example-message-2>:first-child:before{content:'';position:absolute;overflow:hidden;top:50%;margin-top:-5px}.example-message-2>:first-child:after{font-family:'icons-blank-theme';content:'\e602';font-size:28px;line-height:28px;color:#fff;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;margin:-14px 0 0;position:absolute;top:18px;left:0;text-align:center;width:30px}.example-message-2:before{right:0}.example-message-2>:first-child:before{border:5px solid transparent;height:0;width:0;border-right-color:#b30000;right:30px}.example-message-2>:first-child:after{right:0}.example-message-3{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#e5efe5;color:#006400;position:relative;padding-left:40px}.example-message-3 a{color:#1979c3}.example-message-3 a:hover{color:#006bb4}.example-message-3 a:active{color:#006bb4}.example-message-3:before{content:'';position:absolute;width:30px;text-align:center;top:0;height:100%;display:block;padding:0;background:#006400}.example-message-3>:first-child:before{content:'';position:absolute;overflow:hidden;top:50%;margin-top:-5px}.example-message-3>:first-child:after{font-family:'icons-blank-theme';content:'\e610';font-size:28px;line-height:28px;color:#fff;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;margin:-14px 0 0;position:absolute;top:18px;left:0;text-align:center;width:30px}.example-message-3:before{left:0}.example-message-3>:first-child:before{border:5px solid transparent;height:0;width:0;border-left-color:#006400;left:30px}.example-message-3>:first-child:after{left:0}.example-message-4{display:block;margin:0 0 10px;padding:10px 20px;font-size:1.3rem;line-height:1.2em;background:#fc0;border-color:#ffa500;color:#000;position:relative;padding-left:40px;border-width:4px;border-radius:10px}.example-message-4 a{color:#00f}.example-message-4 a:hover{color:#009}.example-message-4 a:active{color:#006}.example-message-4:before{content:'';position:absolute;width:30px;text-align:center;top:0;height:100%;display:block;padding:0;background:#green}.example-message-4>:first-child:before{content:'';position:absolute;overflow:hidden;top:50%;margin-top:-5px}.example-message-4>:first-child:after{font-family:'icons-blank-theme';content:'\e606';font-size:28px;line-height:28px;color:#000;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;margin:-14px 0 0;position:absolute;top:15px;left:0;text-align:center;width:30px}.example-message-4:before{left:0}.example-message-4>:first-child:before{border:5px solid transparent;height:0;width:0;border-left-color:#green;left:30px}.example-message-4>:first-child:after{left:0}header.header{background-color:rgba(255,0,0,.2)}.column.main{background-color:rgba(255,255,0,.2)}.column.left{background-color:rgba(0,255,255,.2)}.column.right{background-color:rgba(0,0,255,.2)}footer.footer{background-color:rgba(0,0,0,.2)}.columns{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.columns:after{content:" ";display:block;height:0;clear:both;overflow:hidden;visibility:hidden}.columns>.column{padding-bottom:40px}@media (min-width: 600px){.page-layout-1column .column.main{ width:100%;-ms-flex-order:2;-webkit-order:2;order:2}.page-layout-3columns .column.main{width:66.66666667%;display:inline-block;-ms-flex-order:2;-webkit-order:2;order:2}.page-layout-2columns-left .column.main{width:83.33333333%;float:right;-ms-flex-order:2;-webkit-order:2;order:2}.page-layout-2columns-right .column.main{width:83.33333333%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.page-layout-3columns .column.left{width:16.66666667%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.page-layout-2columns-left .column.left{width:16.66666667%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.page-layout-2columns-right .column.left{width:16.66666667%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.page-layout-3columns .column.right{width:16.66666667%;float:right;-ms-flex-order:3;-webkit-order:3;order:3}.page-layout-2columns-left .column.right{width:16.66666667%;float:right;-ms-flex-order:2;-webkit-order:2;order:2}.page-layout-2columns-right .column.right{width:16.66666667%;float:right;-ms-flex-order:2;-webkit-order:2;order:2}}.layout-example-3 .column.main{width:60%;display:inline-block;-ms-flex-order:2;-webkit-order:2;order:2}.layout-example-3 .column.left{width:20%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.layout-example-3 .column.right{width:20%;float:right;-ms-flex-order:3;-webkit-order:3;order:3}.layout-example-3-1 .column.main{width:60%;float:left;-ms-flex-order:1;-webkit-order:1;order:1}.layout-example-3-1 .column.left{width:20%;display:inline-block;-ms-flex-order:2;-webkit-order:2;order:2}.layout-example-3-1 .column.right{width:20%;float:right;-ms-flex-order:3;-webkit-order:3;order:3}.pages>.label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pages .items{font-size:0;line-height:0;letter-spacing:-1px;white-space:nowrap;margin:0;padding:0;list-style:none none;display:inline-block;font-weight:700}.pages .item{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;margin:0 2px 0 0;display:inline-block}.pages .item .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pages a.page{color:#1979c3;display:inline-block;padding:0 4px;text-decoration:none}.pages a.page:visited{color:#1979c3}.pages a.page:hover{color:#006bb4;text-decoration:none}.pages a.page:active{color:#ff5501}.pages strong.page{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;color:#333;display:inline-block;font-weight:700;padding:0 4px}.pages .action{border:1px solid #d1d1d1;color:#7d7d7d;display:inline-block;padding:0;text-decoration:none}.pages .action:visited{color:#7d7d7d}.pages .action:hover{color:#7d7d7d;text-decoration:none}.pages .action:active{color:#7d7d7d}.pages .action.next{display:inline-block;text-decoration:none}.pages .action.next:visited:before{color:#7d7d7d}.pages .action.next:active:before{color:#7d7d7d}.pages .action.next>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pages .action.next:before{font-family:'icons-blank-theme';content:'\e608';font-size:46px;line-height:inherit;color:#7d7d7d;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.pages .action.next:hover:before{color:#7d7d7d}.pages .action.next:active:before{color:#7d7d7d}.pages .action.previous{display:inline-block;text-decoration:none}.pages .action.previous:visited:before{color:#7d7d7d}.pages .action.previous:active:before{color:#7d7d7d}.pages .action.previous>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pages .action.previous:before{font-family:'icons-blank-theme';content:'\e617';font-size:46px;line-height:inherit;color:#7d7d7d;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.pages .action.previous:hover:before{color:#7d7d7d}.pages .action.previous:active:before{color:#7d7d7d}.example-pages-1>.label{display:inline-block;font-weight:700;font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal}.example-pages-1>.label:after{content:':'}.example-pages-1 .items{font-size:0;line-height:0;letter-spacing:-1px;white-space:nowrap;margin:0;padding:0;list-style:none none;display:inline-block;font-weight:700}.example-pages-1 .item{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;margin:0 3px;display:inline-block}.example-pages-1 .item .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-1 a.page{background-color:#ccc;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #f4f4f4 0, #ccc 100%);background-image:linear-gradient(to bottom, #f4f4f4 0, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f4f4', endColorstr='#cccccc', GradientType=0);border:1px solid #b3b3b3;color:#333;display:inline-block;padding:0 4px;text-decoration:none}.example-pages-1 a.page:visited{background-color:false;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top,false 0,false 100%);background-image:linear-gradient(to bottom,false 0,false 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='false', endColorstr='false', GradientType=0);color:#1979c3}.example-pages-1 a.page:hover{background-color:#f4f4f4;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #ccc 0, #f4f4f4 100%);background-image:linear-gradient(to bottom, #ccc 0, #f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#f4f4f4', GradientType=0);border:1px solid #999;color:#333;text-decoration:none}.example-pages-1 a.page:active{background-color:false;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top,false 0,false 100%);background-image:linear-gradient(to bottom,false 0,false 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='false', endColorstr='false', GradientType=0);color:#ff5501}.example-pages-1 strong.page{background:#1979c3;border:1px solid #135d96;font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;color:#f7b32e;display:inline-block;font-weight:700;padding:0 4px}.example-pages-1 .action{border:1px solid #d1d1d1;color:#7d7d7d;display:inline-block;padding:0;text-decoration:none}.example-pages-1 .action:visited{color:#7d7d7d}.example-pages-1 .action:hover{color:#ff5501;text-decoration:none}.example-pages-1 .action:active{color:#7d7d7d}.example-pages-1 .action.next{display:inline-block;text-decoration:none}.example-pages-1 .action.next:visited:before{color:#7d7d7d}.example-pages-1 .action.next:active:before{color:#7d7d7d}.example-pages-1 .action.next>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-1 .action.next:before{font-family:'icons-blank-theme';content:'\e608';font-size:30px;line-height:inherit;color:#7d7d7d;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.example-pages-1 .action.next:hover:before{color:#ff5501}.example-pages-1 .action.next:active:before{color:#7d7d7d}.example-pages-1 .action.previous{display:inline-block;text-decoration:none}.example-pages-1 .action.previous:visited:before{color:#7d7d7d}.example-pages-1 .action.previous:active:before{color:#7d7d7d}.example-pages-1 .action.previous>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-1 .action.previous:before{font-family:'icons-blank-theme';content:'\e617';font-size:30px;line-height:inherit;color:#7d7d7d;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.example-pages-1 .action.previous:hover:before{color:#ff5501}.example-pages-1 .action.previous:active:before{color:#7d7d7d}.example-pages-2>.label{display:inline-block;font-weight:700;font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal}.example-pages-2>.label:after{content:':'}.example-pages-2 .items{font-size:0;line-height:0;letter-spacing:-1px;white-space:nowrap;margin:0;padding:0;list-style:none none;display:inline-block;font-weight:700}.example-pages-2 .item{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;margin:0 2px 0 0;display:inline-block}.example-pages-2 .item .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-2 a.page{color:#1979c3;display:inline-block;padding:0 4px;text-decoration:none}.example-pages-2 a.page:visited{color:#1979c3}.example-pages-2 a.page:hover{color:#006bb4;text-decoration:none}.example-pages-2 a.page:active{color:#ff5501}.example-pages-2 strong.page{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;color:#333;display:inline-block;font-weight:700;padding:0 4px}.example-pages-2 .action{border:1px solid #d1d1d1;color:#7d7d7d;display:inline-block;padding:0;text-decoration:none}.example-pages-2 .action:visited{color:#7d7d7d}.example-pages-2 .action:hover{color:#7d7d7d;text-decoration:none}.example-pages-2 .action:active{color:#7d7d7d}.example-pages-3>.label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-3 .items{font-size:0;line-height:0;letter-spacing:-1px;white-space:nowrap;margin:0;padding:0;list-style:none none;display:inline-block;font-weight:700}.example-pages-3 .item{font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;margin:0 2px 0 0;display:inline-block}.example-pages-3 .item .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-3 a.page{background:#1979c3;color:#fff;display:inline-block;padding:0 4px;text-decoration:none}.example-pages-3 a.page:visited{background:#1979c3;color:#fff}.example-pages-3 a.page:hover{background:#006bb4;color:#fff;text-decoration:none}.example-pages-3 a.page:active{background:#ff5501;color:#fff}.example-pages-3 strong.page{background:#1979c3;font-size:1.2rem;font-size:12px;line-height:32px;letter-spacing:normal;color:#fff;display:inline-block;font-weight:700;padding:0 4px}.example-pages-3 .action{background:#1979c3;border:1px solid #d1d1d1;color:#fff;display:inline-block;padding:0;text-decoration:none}.example-pages-3 .action:visited{background:#1979c3;color:#7d7d7d}.example-pages-3 .action:hover{background:#006bb4;color:#fff;text-decoration:none}.example-pages-3 .action:active{background:#ff5501;color:#fff}.example-pages-3 .action.next{display:inline-block;text-decoration:none}.example-pages-3 .action.next:visited:before{color:#7d7d7d}.example-pages-3 .action.next:active:before{color:#fff}.example-pages-3 .action.next>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-3 .action.next:before{font-family:'icons-blank-theme';content:'\e608';font-size:46px;line-height:inherit;color:#fff;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.example-pages-3 .action.next:hover:before{color:#fff}.example-pages-3 .action.next:active:before{color:#fff}.example-pages-3 .action.previous{display:inline-block;text-decoration:none}.example-pages-3 .action.previous:visited:before{color:#7d7d7d}.example-pages-3 .action.previous:active:before{color:#fff}.example-pages-3 .action.previous>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-pages-3 .action.previous:before{font-family:'icons-blank-theme';content:'\e617';font-size:46px;line-height:inherit;color:#fff;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0 0 0 -6px}.example-pages-3 .action.previous:hover:before{color:#fff}.example-pages-3 .action.previous:active:before{color:#fff}.window.popup.popup-example{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example .popup-actions .action.close:focus,.window.popup.popup-example .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example .popup-actions .action.close.disabled,.window.popup.popup-example .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example.active{opacity:1}.window.popup.popup-example-1{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-1 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-1 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-1 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-1 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-1 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-1 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-1 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-1 .popup-actions .action.close:focus,.window.popup.popup-example-1 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-1 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-1 .popup-actions .action.close.disabled,.window.popup.popup-example-1 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-1 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-1.active{opacity:1}.window.overlay{transition:opacity .15s linear;position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1000;opacity:0}.window.overlay.active{opacity:.5;filter:alpha(opacity=50)}.window.popup.popup-example-2{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;overflow-y:auto;max-height:200px;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-2 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-2 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-2 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-2 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-2 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-2 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-2 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-2 .popup-actions .action.close:focus,.window.popup.popup-example-2 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-2 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-2 .popup-actions .action.close.disabled,.window.popup.popup-example-2 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-2 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-2.active{opacity:1}.window.popup.popup-example-3{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-3 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-3 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-3 .popup-content{overflow-y:auto;max-height:200px}.window.popup.popup-example-3 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-3 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-3 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-3 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-3 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-3 .popup-actions .action.close:focus,.window.popup.popup-example-3 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-3 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-3 .popup-actions .action.close.disabled,.window.popup.popup-example-3 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-3 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-3.active{opacity:1}.window.popup.popup-example-4{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-4 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-4 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-4 .popup-content{margin:0 0 20px}.window.popup.popup-example-4 .popup-footer{margin:0 20px}.window.popup.popup-example-4 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-4 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-4 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-4 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-4 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-4 .popup-actions .action.close:focus,.window.popup.popup-example-4 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-4 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-4 .popup-actions .action.close.disabled,.window.popup.popup-example-4 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-4 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-4.active{opacity:1}.window.popup.popup-example-5{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-5 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-5 .popup-header .title{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:0rem;margin-bottom:2rem}.window.popup.popup-example-5 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-5 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-5 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-5 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-5 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-5 .popup-actions .action.close:focus,.window.popup.popup-example-5 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-5 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-5 .popup-actions .action.close.disabled,.window.popup.popup-example-5 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-5 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-5.active{opacity:1}.window.popup.popup-example-6{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-6 .popup-footer .actions.toolbar{text-align:left}.window.popup.popup-example-6 .popup-footer .actions.toolbar:before,.window.popup.popup-example-6 .popup-footer .actions.toolbar:after{content:"";display:table}.window.popup.popup-example-6 .popup-footer .actions.toolbar:after{clear:both}.window.popup.popup-example-6 .popup-footer .actions.toolbar .secondary{float:left}.window.popup.popup-example-6 .popup-footer .actions.toolbar .primary,.window.popup.popup-example-6 .popup-footer .actions.toolbar .secondary{display:inline-block}.window.popup.popup-example-6 .popup-footer .actions.toolbar .primary a.action,.window.popup.popup-example-6 .popup-footer .actions.toolbar .secondary a.action{display:inline-block}.window.popup.popup-example-6 .popup-footer .actions.toolbar .primary .action{margin:0 5px 0 0}.window.popup.popup-example-6 .popup-footer .actions.toolbar .secondary a.action{margin-top:6px}.window.popup.popup-example-6 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-6 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-6 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-6 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-6 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-6 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-6 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-6 .popup-actions .action.close:focus,.window.popup.popup-example-6 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-6 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-6 .popup-actions .action.close.disabled,.window.popup.popup-example-6 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-6 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-6.active{opacity:1}.window.popup.popup-example-7{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-7 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-7 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-7 .popup-actions .action.close{position:absolute;top:10px;right:10px}.window.popup.popup-example-7.active{opacity:1}.window.popup.popup-example-8{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-8 .popup-header{margin:0 0 25px;padding-right:30px}.window.popup.popup-example-8 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-8 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-8 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e613';font-size:30px;line-height:22px;color:red;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:middle;text-align:center;margin:0}.window.popup.popup-example-8 .popup-actions .action.close:hover:before{color:#090}.window.popup.popup-example-8 .popup-actions .action.close:active:before{color:#00f}.window.popup.popup-example-8 .popup-actions .action.close:focus,.window.popup.popup-example-8 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-8 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-8 .popup-actions .action.close.disabled,.window.popup.popup-example-8 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-8 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-8.active{opacity:1}.window.popup.popup-example-9{background:#fff;border:1px solid #aeaeae;padding:22px;width:auto;box-shadow:0 3px 3px rgba(0,0,0,.15);top:0;right:0;bottom:0;left:0;display:none;opacity:0;position:fixed;z-index:1001;transition:opacity .3s linear}.window.popup.popup-example-9 .popup-header{margin:0 0 25px;padding-right:22px}.window.popup.popup-example-9 .popup-header .title{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}.window.popup.popup-example-9 .popup-actions .action.close{position:absolute;display:inline-block;background-image:none;background:0;border:0;margin:0;padding:0;-moz-box-sizing:content-box;box-shadow:none;text-shadow:none;text-decoration:none;line-height:inherit;font-weight:400;top:10px;right:10px}.window.popup.popup-example-9 .popup-actions .action.close>span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.window.popup.popup-example-9 .popup-actions .action.close:before{font-family:'icons-blank-theme';content:'\e616';font-size:22px;line-height:22px;color:inherit;overflow:hidden;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;text-align:center;margin:0}.window.popup.popup-example-9 .popup-actions .action.close:hover:before{color:inherit}.window.popup.popup-example-9 .popup-actions .action.close:active:before{color:inherit}.window.popup.popup-example-9 .popup-actions .action.close:focus,.window.popup.popup-example-9 .popup-actions .action.close:active{background:0;border:0}.window.popup.popup-example-9 .popup-actions .action.close:hover{background:0;border:0}.window.popup.popup-example-9 .popup-actions .action.close.disabled,.window.popup.popup-example-9 .popup-actions .action.close[disabled],fieldset[disabled] .window.popup.popup-example-9 .popup-actions .action.close{cursor:not-allowed;pointer-events:none;opacity:.5}.window.popup.popup-example-9.active{opacity:1}.window.overlay.example-overlay-1.active{transition:opacity .15s linear;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f5293;z-index:1000;opacity:0}.window.overlay.example-overlay-1.active.active{opacity:.8;filter:alpha(opacity=80)}.example-ratings-1{overflow:hidden}.example-ratings-1:before{color:#c7c7c7;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;content:'\e605' '\e605' '\e605' '\e605' '\e605';position:absolute;z-index:1;display:block}.example-ratings-1 input[type="radio"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-1 input[type="radio"]:focus+label:before,.example-ratings-1 input[type="radio"]:checked+label:before{opacity:1}.example-ratings-1 label{position:absolute;display:block;cursor:pointer}.example-ratings-1 label span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-1 label:before{color:#ff5601;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;opacity:0}.example-ratings-1 label:hover:before{opacity:1}.example-ratings-1 label:hover~label:before{opacity:0}.example-ratings-1 .rating-5{z-index:2}.example-ratings-1 .rating-5:before{content:'\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-1 .rating-4{z-index:3}.example-ratings-1 .rating-4:before{content:'\e605' '\e605' '\e605' '\e605'}.example-ratings-1 .rating-3{z-index:4}.example-ratings-1 .rating-3:before{content:'\e605' '\e605' '\e605'}.example-ratings-1 .rating-2{z-index:5}.example-ratings-1 .rating-2:before{content:'\e605' '\e605'}.example-ratings-1 .rating-1{z-index:6}.example-ratings-1 .rating-1:before{content:'\e605'}.example-ratings-2{overflow:hidden}.example-ratings-2:before{color:#c7c7c7;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605';position:absolute;z-index:1;display:block}.example-ratings-2 input[type="radio"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-2 input[type="radio"]:focus+label:before,.example-ratings-2 input[type="radio"]:checked+label:before{opacity:1}.example-ratings-2 label{position:absolute;display:block;cursor:pointer}.example-ratings-2 label span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-2 label:before{color:#ff5601;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;opacity:0}.example-ratings-2 label:hover:before{opacity:1}.example-ratings-2 label:hover~label:before{opacity:0}.example-ratings-2 .rating-8{z-index:2}.example-ratings-2 .rating-8:before{content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-2 .rating-7{z-index:3}.example-ratings-2 .rating-7:before{content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-2 .rating-6{z-index:4}.example-ratings-2 .rating-6:before{content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-2 .rating-5{z-index:5}.example-ratings-2 .rating-5:before{content:'\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-2 .rating-4{z-index:6}.example-ratings-2 .rating-4:before{content:'\e605' '\e605' '\e605' '\e605'}.example-ratings-2 .rating-3{z-index:7}.example-ratings-2 .rating-3:before{content:'\e605' '\e605' '\e605'}.example-ratings-2 .rating-2{z-index:8}.example-ratings-2 .rating-2:before{content:'\e605' '\e605'}.example-ratings-2 .rating-1{z-index:9}.example-ratings-2 .rating-1:before{content:'\e605'}.example-ratings-3{overflow:hidden}.example-ratings-3:before{color:#aff5e3;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;content:'\e605' '\e605' '\e605' '\e605' '\e605';position:absolute;z-index:1;display:block}.example-ratings-3 input[type="radio"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-3 input[type="radio"]:focus+label:before,.example-ratings-3 input[type="radio"]:checked+label:before{opacity:1}.example-ratings-3 label{position:absolute;display:block;cursor:pointer}.example-ratings-3 label span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-3 label:before{color:#0a6767;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;opacity:0}.example-ratings-3 label:hover:before{opacity:1}.example-ratings-3 label:hover~label:before{opacity:0}.example-ratings-3 .rating-5{z-index:2}.example-ratings-3 .rating-5:before{content:'\e605' '\e605' '\e605' '\e605' '\e605'}.example-ratings-3 .rating-4{z-index:3}.example-ratings-3 .rating-4:before{content:'\e605' '\e605' '\e605' '\e605'}.example-ratings-3 .rating-3{z-index:4}.example-ratings-3 .rating-3:before{content:'\e605' '\e605' '\e605'}.example-ratings-3 .rating-2{z-index:5}.example-ratings-3 .rating-2:before{content:'\e605' '\e605'}.example-ratings-3 .rating-1{z-index:6}.example-ratings-3 .rating-1:before{content:'\e605'}.example-ratings-4{overflow:hidden}.example-ratings-4:before{color:#c7c7c7;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;content:'\e600' '\e600' '\e600' '\e600' '\e600';position:absolute;z-index:1;display:block}.example-ratings-4 input[type="radio"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-4 input[type="radio"]:focus+label:before,.example-ratings-4 input[type="radio"]:checked+label:before{opacity:1}.example-ratings-4 label{position:absolute;display:block;cursor:pointer}.example-ratings-4 label span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-ratings-4 label:before{color:#ff5601;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;opacity:0}.example-ratings-4 label:hover:before{opacity:1}.example-ratings-4 label:hover~label:before{opacity:0}.example-ratings-4 .rating-5{z-index:2}.example-ratings-4 .rating-5:before{content:'\e600' '\e600' '\e600' '\e600' '\e600'}.example-ratings-4 .rating-4{z-index:3}.example-ratings-4 .rating-4:before{content:'\e600' '\e600' '\e600' '\e600'}.example-ratings-4 .rating-3{z-index:4}.example-ratings-4 .rating-3:before{content:'\e600' '\e600' '\e600'}.example-ratings-4 .rating-2{z-index:5}.example-ratings-4 .rating-2:before{content:'\e600' '\e600'}.example-ratings-4 .rating-1{z-index:6}.example-ratings-4 .rating-1:before{content:'\e600'}.exapmle-ratings-5 .control.rating.vote{overflow:hidden}.exapmle-ratings-5 .control.rating.vote:before{color:#c7c7c7;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;content:'\e605' '\e605' '\e605' '\e605' '\e605';position:absolute;z-index:1;display:block}.exapmle-ratings-5 .control.rating.vote input[type="radio"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.exapmle-ratings-5 .control.rating.vote input[type="radio"]:focus+label:before,.exapmle-ratings-5 .control.rating.vote input[type="radio"]:checked+label:before{opacity:1}.exapmle-ratings-5 .control.rating.vote label{position:absolute;display:block;cursor:pointer}.exapmle-ratings-5 .control.rating.vote label span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.exapmle-ratings-5 .control.rating.vote label:before{color:#ff5601;font-family:'icons-blank-theme';font-style:normal;font-size:28px;line-height:28px;letter-spacing:-10px;height:28px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased;vertical-align:top;opacity:0}.exapmle-ratings-5 .control.rating.vote label:hover:before{opacity:1}.exapmle-ratings-5 .control.rating.vote label:hover~label:before{opacity:0}.exapmle-ratings-5 .control.rating.vote .rating-5{z-index:2}.exapmle-ratings-5 .control.rating.vote .rating-5:before{content:'\e605' '\e605' '\e605' '\e605' '\e605'}.exapmle-ratings-5 .control.rating.vote .rating-4{z-index:3}.exapmle-ratings-5 .control.rating.vote .rating-4:before{content:'\e605' '\e605' '\e605' '\e605'}.exapmle-ratings-5 .control.rating.vote .rating-3{z-index:4}.exapmle-ratings-5 .control.rating.vote .rating-3:before{content:'\e605' '\e605' '\e605'}.exapmle-ratings-5 .control.rating.vote .rating-2{z-index:5}.exapmle-ratings-5 .control.rating.vote .rating-2:before{content:'\e605' '\e605'}.exapmle-ratings-5 .control.rating.vote .rating-1{z-index:6}.exapmle-ratings-5 .control.rating.vote .rating-1:before{content:'\e605'}.example-rating-summary-1{white-space:nowrap;overflow:hidden}.example-rating-summary-1 .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-1 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-1 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-1 .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-1 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-2{white-space:nowrap;overflow:hidden}.example-rating-summary-2 .rating-result{width:154px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-2 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-2 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-2 .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-2 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-3{white-space:nowrap;overflow:hidden}.example-rating-summary-3 .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-3 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#aff5e3;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-3 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-3 .rating-result>span:before{position:relative;z-index:2;color:#0a6767;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-3 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-4{white-space:nowrap;overflow:hidden}.example-rating-summary-4 .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-4 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e600' '\e600' '\e600' '\e600' '\e600';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-4 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-4 .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e600' '\e600' '\e600' '\e600' '\e600';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-4 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-5{white-space:nowrap;overflow:hidden}.example-rating-summary-5 .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-5 .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-5 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-5 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-5 .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-5 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-6 .rating-summary{white-space:nowrap;overflow:hidden}.example-rating-summary-6 .rating-summary .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-6 .rating-summary .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-6 .rating-summary .rating-result>span{display:block;overflow:hidden}.example-rating-summary-6 .rating-summary .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-6 .rating-summary .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-7{white-space:nowrap;overflow:hidden}.example-rating-summary-7 .rating-result{width:100px;display:inline-block;vertical-align:middle;position:relative}.example-rating-summary-7 .rating-result:before{position:absolute;top:0;left:0;width:100%;z-index:1;color:#c7c7c7;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-7 .rating-result>span{display:block;overflow:hidden}.example-rating-summary-7 .rating-result>span:before{position:relative;z-index:2;color:#ff5601;display:block;font-family:'icons-blank-theme';content:'\e605' '\e605' '\e605' '\e605' '\e605';font-style:normal;font-size:28px;height:28px;line-height:28px;letter-spacing:-10px;speak:none;font-weight:400;-webkit-font-smoothing:antialiased}.example-rating-summary-7 .rating-result>span span{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-rating-summary-7 .label{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-responsive-block{padding:10px}.example-sections-1{position:relative;z-index:1}.example-sections-1:before,.example-sections-1:after{content:"";display:table}.example-sections-1:after{clear:both}.example-sections-1>.item.title{float:left;width:auto}.example-sections-1>.item.title>.switch{display:block;height:20px;position:relative;z-index:2}.example-sections-1>.item.content{box-sizing:border-box;float:right;margin-top:20px;margin-left:-100%;width:100%}.example-sections-1>.item.content:before,.example-sections-1>.item.content:after{content:"";display:table}.example-sections-1>.item.content:after{clear:both}.example-sections-1>.item.content.active{display:block}.example-sections-1>.item.title{margin:0 5px 0 0}.example-sections-1>.item.title>.switch{font-size:1.4rem;font-weight:600;line-height:20px;color:#7d7d7d;text-decoration:none;background:#f0f0f0;border:1px solid #d1d1d1;border-bottom:0;height:20px;padding:5px 20px 5px 20px}.example-sections-1>.item.title>.switch:visited{color:#7d7d7d;text-decoration:none}.example-sections-1>.item.title>.switch:hover{color:#7d7d7d;text-decoration:none}.example-sections-1>.item.title>.switch:active{color:#333;text-decoration:none}.example-sections-1>.item.title:not(.disabled)>.switch:focus,.example-sections-1>.item.title:not(.disabled)>.switch:hover{background:#fcfcfc}.example-sections-1>.item.title:not(.disabled)>.switch:active,.example-sections-1>.item.title.active>.switch,.example-sections-1>.item.title.active>.switch:focus,.example-sections-1>.item.title.active>.switch:hover{background:#fff;color:#333}.example-sections-1>.item.title.active>.switch,.example-sections-1>.item.title.active>.switch:focus,.example-sections-1>.item.title.active>.switch:hover{padding-bottom:6px}.example-sections-1>.item.content{background:#fff;margin-top:31px;padding:20px 20px 20px 20px;border:1px solid #d1d1d1}.example-sections-2{position:relative;z-index:1}.example-sections-2:before,.example-sections-2:after{content:"";display:table}.example-sections-2:after{clear:both}.example-sections-2>.item.title{float:left;width:auto}.example-sections-2>.item.title>.switch{display:block;height:20px;position:relative;z-index:2}.example-sections-2>.item.content{box-sizing:border-box;float:right;margin-top:20px;margin-left:-100%;width:100%}.example-sections-2>.item.content:before,.example-sections-2>.item.content:after{content:"";display:table}.example-sections-2>.item.content:after{clear:both}.example-sections-2>.item.content.active{display:block}.example-sections-2>.item.title{margin:0 5px 0 0}.example-sections-2>.item.title>.switch{font-size:1.4rem;font-weight:600;line-height:20px;color:#7d7d7d;text-decoration:none;background:#f0f0f0;border:1px solid #d1d1d1;border-bottom:0;height:20px;padding:5px 20px 5px 20px}.example-sections-2>.item.title>.switch:visited{color:#7d7d7d;text-decoration:none}.example-sections-2>.item.title>.switch:hover{color:#7d7d7d;text-decoration:none}.example-sections-2>.item.title>.switch:active{color:#333;text-decoration:none}.example-sections-2>.item.title:not(.disabled)>.switch:focus,.example-sections-2>.item.title:not(.disabled)>.switch:hover{background:#fcfcfc}.example-sections-2>.item.title:not(.disabled)>.switch:active,.example-sections-2>.item.title.active>.switch,.example-sections-2>.item.title.active>.switch:focus,.example-sections-2>.item.title.active>.switch:hover{background:#fff;color:#333}.example-sections-2>.item.title.active>.switch,.example-sections-2>.item.title.active>.switch:focus,.example-sections-2>.item.title.active>.switch:hover{padding-bottom:6px}.example-sections-2>.item.content{background:#fff;margin-top:31px;padding:20px 20px 20px 20px;border:0;border-top:1px solid #d1d1d1}.example-sections-3{margin:0;padding:0}.example-sections-3>.item.title{box-sizing:border-box;float:none;width:100%}.example-sections-3>.item.title>.switch{display:block}.example-sections-3>.item.content{box-sizing:border-box;float:none;margin:0;display:block}.example-sections-3>.item.content:before,.example-sections-3>.item.content:after{content:"";display:table}.example-sections-3>.item.content:after{clear:both}.example-sections-3>.item.content.active{display:block}.example-sections-3>.item.title{margin:0 0 5px}.example-sections-3>.item.title>.switch{background:#f0f0f0;border-top:1px solid #d1d1d1;border-right:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1;border-left:1px solid #d1d1d1;height:40px;padding:5px 20px 5px 20px;font-size:1.8rem;font-weight:600;line-height:40px;color:#7d7d7d;text-decoration:none}.example-sections-3>.item.title>.switch:visited{color:#7d7d7d;text-decoration:none}.example-sections-3>.item.title>.switch:hover{color:#7d7d7d;text-decoration:none}.example-sections-3>.item.title>.switch:active{color:#333;text-decoration:none}.example-sections-3>.item.title:not(.disabled)>.switch:focus,.example-sections-3>.item.title:not(.disabled)>.switch:hover{background:#fcfcfc}.example-sections-3>.item.title:not(.disabled)>.switch:active,.example-sections-3>.item.title.active>.switch,.example-sections-3>.item.title.active>.switch:focus,.example-sections-3>.item.title.active>.switch:hover{background:#fff;padding-bottom:5px}.example-sections-3>.item.content{background:#fff;border:1px solid #d1d1d1;margin:0 0 5px;padding:20px 20px 20px 20px}@media only screen and (max-width: 99999px){.example-sections-4{ position:relative;z-index:1}.example-sections-4:before,.example-sections-4:after{content:"";display:table}.example-sections-4:after{clear:both}.example-sections-4>.item.title{float:left;width:auto}.example-sections-4>.item.title>.switch{display:block;height:20px;position:relative;z-index:2}.example-sections-4>.item.content{box-sizing:border-box;float:right;margin-top:20px;margin-left:-100%;width:100%}.example-sections-4>.item.content:before,.example-sections-4>.item.content:after{content:"";display:table}.example-sections-4>.item.content:after{clear:both}.example-sections-4>.item.content.active{display:block}.example-sections-4>.item.title{margin:0 5px 0 0}.example-sections-4>.item.title>.switch{font-size:1.4rem;font-weight:600;line-height:20px;color:#7d7d7d;text-decoration:none;background:#f0f0f0;border:1px solid #d1d1d1;border-bottom:0;height:20px;padding:5px 20px 5px 20px}.example-sections-4>.item.title>.switch:visited{color:#7d7d7d;text-decoration:none}.example-sections-4>.item.title>.switch:hover{color:#7d7d7d;text-decoration:none}.example-sections-4>.item.title>.switch:active{color:#333;text-decoration:none}.example-sections-4>.item.title:not(.disabled)>.switch:focus,.example-sections-4>.item.title:not(.disabled)>.switch:hover{background:#fcfcfc}.example-sections-4>.item.title:not(.disabled)>.switch:active,.example-sections-4>.item.title.active>.switch,.example-sections-4>.item.title.active>.switch:focus,.example-sections-4>.item.title.active>.switch:hover{background:#fff;color:#333}.example-sections-4>.item.title.active>.switch,.example-sections-4>.item.title.active>.switch:focus,.example-sections-4>.item.title.active>.switch:hover{padding-bottom:6px}.example-sections-4>.item.content{background:#fff;margin-top:31px;padding:20px 20px 20px 20px;border:1px solid #d1d1d1}}@media only screen and (max-width: 768px){.example-sections-4{ margin:0;padding:0}.example-sections-4>.item.title{box-sizing:border-box;float:none;width:100%}.example-sections-4>.item.title>.switch{display:block}.example-sections-4>.item.content{box-sizing:border-box;float:none;margin:0;display:block}.example-sections-4>.item.content:before,.example-sections-4>.item.content:after{content:"";display:table}.example-sections-4>.item.content:after{clear:both}.example-sections-4>.item.content.active{display:block}.example-sections-4>.item.title{margin:0 0 5px}.example-sections-4>.item.title>.switch{background:#f0f0f0;border-top:1px solid #d1d1d1;border-right:1px solid #d1d1d1;border-bottom:1px solid #d1d1d1;border-left:1px solid #d1d1d1;height:40px;padding:5px 20px 5px 20px;font-size:1.8rem;font-weight:600;line-height:40px;color:#7d7d7d;text-decoration:none}.example-sections-4>.item.title>.switch:visited{color:#7d7d7d;text-decoration:none}.example-sections-4>.item.title>.switch:hover{color:#7d7d7d;text-decoration:none}.example-sections-4>.item.title>.switch:active{color:#333;text-decoration:none}.example-sections-4>.item.title:not(.disabled)>.switch:focus,.example-sections-4>.item.title:not(.disabled)>.switch:hover{background:#fcfcfc}.example-sections-4>.item.title:not(.disabled)>.switch:active,.example-sections-4>.item.title.active>.switch,.example-sections-4>.item.title.active>.switch:focus,.example-sections-4>.item.title.active>.switch:hover{background:#fff;padding-bottom:5px}.example-sections-4>.item.content{background:#fff;border:1px solid #d1d1d1;margin:0 0 5px;padding:20px 20px 20px 20px}}.example-sections-5{position:relative;z-index:1}.example-sections-5:before,.example-sections-5:after{content:"";display:table}.example-sections-5:after{clear:both}.example-sections-5>.item.title{float:left;width:auto}.example-sections-5>.item.title>.switch{display:block;height:20px;position:relative;z-index:2}.example-sections-5>.item.content{box-sizing:border-box;float:right;margin-top:20px;margin-left:-100%;width:100%}.example-sections-5>.item.content:before,.example-sections-5>.item.content:after{content:"";display:table}.example-sections-5>.item.content:after{clear:both}.example-sections-5>.item.content.active{display:block}.example-sections-6{margin:0;padding:0}.example-sections-6>.item.title{box-sizing:border-box;float:none;width:100%}.example-sections-6>.item.title>.switch{display:block}.example-sections-6>.item.content{box-sizing:border-box;float:none;margin:0;display:block}.example-sections-6>.item.content:before,.example-sections-6>.item.content:after{content:"";display:table}.example-sections-6>.item.content:after{clear:both}.example-sections-6>.item.content.active{display:block}.example-table-1{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-1 th{text-align:left}.example-table-1>tbody>tr>th,.example-table-1>tfoot>tr>th,.example-table-1>tbody>tr>td,.example-table-1>tfoot>tr>td{vertical-align:top}.example-table-1>thead>tr>th,.example-table-1>thead>tr>td{vertical-align:bottom}.example-table-1>thead>tr>th,.example-table-1>tbody>tr>th,.example-table-1>tfoot>tr>th,.example-table-1>thead>tr>td,.example-table-1>tbody>tr>td,.example-table-1>tfoot>tr>td{padding:8px 10px}.example-table-2>thead>tr>th,.example-table-2>tbody>tr>th,.example-table-2>tfoot>tr>th{color:#111;font-weight:700}.example-table-3{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-3 th{text-align:left}.example-table-3>tbody>tr>th,.example-table-3>tfoot>tr>th,.example-table-3>tbody>tr>td,.example-table-3>tfoot>tr>td{vertical-align:top}.example-table-3>thead>tr>th,.example-table-3>thead>tr>td{vertical-align:bottom}.example-table-3>thead>tr>th,.example-table-3>tbody>tr>th,.example-table-3>tfoot>tr>th,.example-table-3>thead>tr>td,.example-table-3>tbody>tr>td,.example-table-3>tfoot>tr>td{padding:8px 10px}.example-table-3>caption{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-table-4{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-4 th{text-align:left}.example-table-4>tbody>tr>th,.example-table-4>tfoot>tr>th,.example-table-4>tbody>tr>td,.example-table-4>tfoot>tr>td{vertical-align:top}.example-table-4>thead>tr>th,.example-table-4>thead>tr>td{vertical-align:bottom}.example-table-4>thead>tr>th,.example-table-4>tbody>tr>th,.example-table-4>tfoot>tr>th,.example-table-4>thead>tr>td,.example-table-4>tbody>tr>td,.example-table-4>tfoot>tr>td{padding:8px 10px}.example-table-4>thead>tr>td,.example-table-4>tbody>tr>td,.example-table-4>tfoot>tr>td{padding:15px 25px 5px 0}.example-table-4>thead>tr>th,.example-table-4>tbody>tr>th,.example-table-4>tfoot>tr>th{padding:15px 25px 10px 0}.example-table-5{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;background:#fff}.example-table-5 th{text-align:left}.example-table-5>tbody>tr>th,.example-table-5>tfoot>tr>th,.example-table-5>tbody>tr>td,.example-table-5>tfoot>tr>td{vertical-align:top}.example-table-5>thead>tr>th,.example-table-5>thead>tr>td{vertical-align:bottom}.example-table-5>thead>tr>th,.example-table-5>tbody>tr>th,.example-table-5>tfoot>tr>th,.example-table-5>thead>tr>td,.example-table-5>tbody>tr>td,.example-table-5>tfoot>tr>td{padding:8px 10px}.example-table-5>thead{background:#ccf}.example-table-5>tfoot{background:#cff}.example-table-5>tbody>tr>td{background:#fcc}.example-table-5>tbody>tr>th{background:#ffc}.example-table-6{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;border:1px solid #d1d1d1}.example-table-6 th{text-align:left}.example-table-6>tbody>tr>th,.example-table-6>tfoot>tr>th,.example-table-6>tbody>tr>td,.example-table-6>tfoot>tr>td{vertical-align:top}.example-table-6>thead>tr>th,.example-table-6>thead>tr>td{vertical-align:bottom}.example-table-6>thead>tr>th,.example-table-6>tbody>tr>th,.example-table-6>tfoot>tr>th,.example-table-6>thead>tr>td,.example-table-6>tbody>tr>td,.example-table-6>tfoot>tr>td{padding:8px 10px}.example-table-6>thead>tr>th,.example-table-6>tbody>tr>th,.example-table-6>tfoot>tr>th,.example-table-6>thead>tr>td,.example-table-6>tbody>tr>td,.example-table-6>tfoot>tr>td{border:1px solid #d1d1d1}.example-table-7{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-7 th{text-align:left}.example-table-7>tbody>tr>th,.example-table-7>tfoot>tr>th,.example-table-7>tbody>tr>td,.example-table-7>tfoot>tr>td{vertical-align:top}.example-table-7>thead>tr>th,.example-table-7>thead>tr>td{vertical-align:bottom}.example-table-7>thead>tr>th,.example-table-7>tbody>tr>th,.example-table-7>tfoot>tr>th,.example-table-7>thead>tr>td,.example-table-7>tbody>tr>td,.example-table-7>tfoot>tr>td{padding:8px 10px}.example-table-7>thead>tr>th,.example-table-7>tbody>tr>th,.example-table-7>tfoot>tr>th,.example-table-7>thead>tr>td,.example-table-7>tbody>tr>td,.example-table-7>tfoot>tr>td{border-top:1px solid #d1d1d1}.example-table-7>caption+thead>tr:first-child>th,.example-table-7>colgroup+thead>tr:first-child>th,.example-table-7>thead:first-child>tr:first-child>th,.example-table-7>caption+thead>tr:first-child>td,.example-table-7>colgroup+thead>tr:first-child>td,.example-table-7>thead:first-child>tr:first-child>td{border-top:0}.example-table-7>tbody+tbody{border-top:1px solid #d1d1d1}.example-table-8{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-8 th{text-align:left}.example-table-8>tbody>tr>th,.example-table-8>tfoot>tr>th,.example-table-8>tbody>tr>td,.example-table-8>tfoot>tr>td{vertical-align:top}.example-table-8>thead>tr>th,.example-table-8>thead>tr>td{vertical-align:bottom}.example-table-8>thead>tr>th,.example-table-8>tbody>tr>th,.example-table-8>tfoot>tr>th,.example-table-8>thead>tr>td,.example-table-8>tbody>tr>td,.example-table-8>tfoot>tr>td{padding:8px 10px}.example-table-8>thead>tr>th,.example-table-8>tbody>tr>th,.example-table-8>tfoot>tr>th,.example-table-8>thead>tr>td,.example-table-8>tbody>tr>td,.example-table-8>tfoot>tr>td{border-left:1px solid #d1d1d1}.example-table-8>thead>tr>th:first-child,.example-table-8>tbody>tr>th:first-child,.example-table-8>tfoot>tr>th:first-child,.example-table-8>thead>tr>td:first-child,.example-table-8>tbody>tr>td:first-child,.example-table-8>tfoot>tr>td:first-child{border-left:0}.example-table-9{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;border:0}.example-table-9 th{text-align:left}.example-table-9>tbody>tr>th,.example-table-9>tfoot>tr>th,.example-table-9>tbody>tr>td,.example-table-9>tfoot>tr>td{vertical-align:top}.example-table-9>thead>tr>th,.example-table-9>thead>tr>td{vertical-align:bottom}.example-table-9>thead>tr>th,.example-table-9>tbody>tr>th,.example-table-9>tfoot>tr>th,.example-table-9>thead>tr>td,.example-table-9>tbody>tr>td,.example-table-9>tfoot>tr>td{padding:8px 10px}.example-table-9>thead>tr>th,.example-table-9>tbody>tr>th,.example-table-9>tfoot>tr>th,.example-table-9>thead>tr>td,.example-table-9>tbody>tr>td,.example-table-9>tfoot>tr>td{border:0}.example-table-9>thead>tr>th,.example-table-9>thead>tr>td{border-bottom:1px solid #d1d1d1}.example-table-10{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;border:0}.example-table-10 th{text-align:left}.example-table-10>tbody>tr>th,.example-table-10>tfoot>tr>th,.example-table-10>tbody>tr>td,.example-table-10>tfoot>tr>td{vertical-align:top}.example-table-10>thead>tr>th,.example-table-10>thead>tr>td{vertical-align:bottom}.example-table-10>thead>tr>th,.example-table-10>tbody>tr>th,.example-table-10>tfoot>tr>th,.example-table-10>thead>tr>td,.example-table-10>tbody>tr>td,.example-table-10>tfoot>tr>td{padding:8px 10px}.example-table-10>thead>tr>th,.example-table-10>tbody>tr>th,.example-table-10>tfoot>tr>th,.example-table-10>thead>tr>td,.example-table-10>tbody>tr>td,.example-table-10>tfoot>tr>td{border:0}.example-table-11{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-11 th{text-align:left}.example-table-11>tbody>tr>th,.example-table-11>tfoot>tr>th,.example-table-11>tbody>tr>td,.example-table-11>tfoot>tr>td{vertical-align:top}.example-table-11>thead>tr>th,.example-table-11>thead>tr>td{vertical-align:bottom}.example-table-11>thead>tr>th,.example-table-11>tbody>tr>th,.example-table-11>tfoot>tr>th,.example-table-11>thead>tr>td,.example-table-11>tbody>tr>td,.example-table-11>tfoot>tr>td{padding:8px 10px}.example-table-11>tbody>tr:nth-child(even)>td,.example-table-11>tbody>tr:nth-child(even)>th{background:#ffc;color:#000}.example-table-12{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.example-table-12 th{text-align:left}.example-table-12>tbody>tr>th,.example-table-12>tfoot>tr>th,.example-table-12>tbody>tr>td,.example-table-12>tfoot>tr>td{vertical-align:top}.example-table-12>thead>tr>th,.example-table-12>thead>tr>td{vertical-align:bottom}.example-table-12>thead>tr>th,.example-table-12>tbody>tr>th,.example-table-12>tfoot>tr>th,.example-table-12>thead>tr>td,.example-table-12>tbody>tr>td,.example-table-12>tfoot>tr>td{padding:8px 10px}.example-table-12>tbody>tr:nth-child(even):hover>td,.example-table-12>tbody>tr:nth-child(even):hover>th{background:#f0f0f0}.example-table-12>tbody>tr:nth-child(odd):hover>td,.example-table-12>tbody>tr:nth-child(odd):hover>th{background:#f0f0f0}.example-table-13{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;border:1px solid #d1d1d1}.example-table-13 th{text-align:left}.example-table-13>tbody>tr>th,.example-table-13>tfoot>tr>th,.example-table-13>tbody>tr>td,.example-table-13>tfoot>tr>td{vertical-align:top}.example-table-13>thead>tr>th,.example-table-13>thead>tr>td{vertical-align:bottom}.example-table-13>thead>tr>th,.example-table-13>tbody>tr>th,.example-table-13>tfoot>tr>th,.example-table-13>thead>tr>td,.example-table-13>tbody>tr>td,.example-table-13>tfoot>tr>td{padding:8px 10px}.example-table-13>thead>tr>th,.example-table-13>tbody>tr>th,.example-table-13>tfoot>tr>th,.example-table-13>thead>tr>td,.example-table-13>tbody>tr>td,.example-table-13>tfoot>tr>td{border:1px solid #d1d1d1}.example-table-13>tbody>tr:nth-child(odd)>td,.example-table-13>tbody>tr:nth-child(odd)>th{background:#fff}.example-table-13>tbody>tr:nth-child(even):hover>td,.example-table-13>tbody>tr:nth-child(even):hover>th{background:#f0f0f0}.example-table-13>tbody>tr:nth-child(odd):hover>td,.example-table-13>tbody>tr:nth-child(odd):hover>th{background:#f0f0f0}@media only screen and (max-width: 768px){.example-table-14{ width:100%;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}}.example-table-15{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%;border:1px solid #d1d1d1}.example-table-15 th{text-align:left}.example-table-15>tbody>tr>th,.example-table-15>tfoot>tr>th,.example-table-15>tbody>tr>td,.example-table-15>tfoot>tr>td{vertical-align:top}.example-table-15>thead>tr>th,.example-table-15>thead>tr>td{vertical-align:bottom}.example-table-15>thead>tr>th,.example-table-15>tbody>tr>th,.example-table-15>tfoot>tr>th,.example-table-15>thead>tr>td,.example-table-15>tbody>tr>td,.example-table-15>tfoot>tr>td{padding:8px 10px}.example-table-15>thead>tr>th,.example-table-15>tbody>tr>th,.example-table-15>tfoot>tr>th,.example-table-15>thead>tr>td,.example-table-15>tbody>tr>td,.example-table-15>tfoot>tr>td{border:1px solid #d1d1d1}.example-table-15>tbody>tr:nth-child(odd)>td,.example-table-15>tbody>tr:nth-child(odd)>th{background:#fff}.example-table-15>tbody>tr:nth-child(even):hover>td,.example-table-15>tbody>tr:nth-child(even):hover>th{background:#f0f0f0}.example-table-15>tbody>tr:nth-child(odd):hover>td,.example-table-15>tbody>tr:nth-child(odd):hover>th{background:#f0f0f0}@media only screen and (max-width: 768px){.example-table-15{ border:0;display:block;background:#cff}.example-table-15>tbody>tr:nth-child(odd)>td,.example-table-15>tbody>tr:nth-child(odd)>th{background:#cff}.example-table-15>tbody>tr:nth-child(even):hover>td,.example-table-15>tbody>tr:nth-child(even):hover>th{background:#cff}.example-table-15>tbody>tr:nth-child(odd):hover>td,.example-table-15>tbody>tr:nth-child(odd):hover>th{background:#cff}.example-table-15>thead>tr>th{display:none}.example-table-15>tbody{display:block}.example-table-15>tbody>tr{display:block}.example-table-15>tbody>tr td,.example-table-15>tbody>tr th{border-bottom:0;display:block;padding:5px 0}.example-table-15>tbody>tr td:before,.example-table-15>tbody>tr th:before{content:attr(data-th) ":";display:inline-block;padding-right:10px;color:#111;font-weight:700}.example-table-15>tbody>tr td{background:#cff}.example-table-15>tbody>tr>th{background-color:#ffc!important}}.example-tooltip-bottom{position:relative}.example-tooltip-bottom .tooltip-content{z-index:100;background:#fff;min-width:210px;max-width:360px;padding:12px 16px;display:none;position:absolute;text-align:left;color:#333;line-height:1.4;border:1px solid #bbb;top:100%;left:0;margin-top:5px}.example-tooltip-bottom .tooltip-content:after,.example-tooltip-bottom .tooltip-content:before{border:solid transparent;content:'';height:0;width:0;position:absolute}.example-tooltip-bottom .tooltip-content:after{border-color:transparent;border-width:5px}.example-tooltip-bottom .tooltip-content:before{border-color:transparent;border-width:6px}.example-tooltip-bottom .tooltip-content:after,.example-tooltip-bottom .tooltip-content:before{bottom:100%}.example-tooltip-bottom .tooltip-content:after{border-bottom-color:#fff;margin-left:-5px;left:15px}.example-tooltip-bottom .tooltip-content:before{border-bottom-color:#bbb;margin-left:-6px;left:15px}.example-tooltip-bottom .tooltip-toggle{cursor:help}.example-tooltip-bottom .tooltip-toggle:hover+.tooltip-content,.example-tooltip-bottom .tooltip-toggle:focus+.tooltip-content,.example-tooltip-bottom:hover .tooltip-content{display:block}.example-tooltip-left{position:relative}.example-tooltip-left .tooltip-content{z-index:100;background:#fff;min-width:210px;max-width:360px;padding:12px 16px;display:none;position:absolute;text-align:left;color:#333;line-height:1.4;border:1px solid #bbb;right:100%;top:0;margin-right:5px}.example-tooltip-left .tooltip-content:after,.example-tooltip-left .tooltip-content:before{border:solid transparent;content:'';height:0;width:0;position:absolute}.example-tooltip-left .tooltip-content:after{border-color:transparent;border-width:5px}.example-tooltip-left .tooltip-content:before{border-color:transparent;border-width:6px}.example-tooltip-left .tooltip-content:after,.example-tooltip-left .tooltip-content:before{left:100%}.example-tooltip-left .tooltip-content:after{border-left-color:#fff;margin-top:-5px;top:15px}.example-tooltip-left .tooltip-content:before{border-left-color:#bbb;margin-top:-6px;top:15px}.example-tooltip-left .tooltip-toggle{cursor:help}.example-tooltip-left .tooltip-toggle:hover+.tooltip-content,.example-tooltip-left .tooltip-toggle:focus+.tooltip-content,.example-tooltip-left:hover .tooltip-content{display:block}.example-tooltip-right{position:relative}.example-tooltip-right .tooltip-content{z-index:100;background:#fff;min-width:210px;max-width:360px;padding:12px 16px;display:none;position:absolute;text-align:left;color:#333;line-height:1.4;border:1px solid #bbb;left:100%;top:0;margin-left:5px}.example-tooltip-right .tooltip-content:after,.example-tooltip-right .tooltip-content:before{border:solid transparent;content:'';height:0;width:0;position:absolute}.example-tooltip-right .tooltip-content:after{border-color:transparent;border-width:5px}.example-tooltip-right .tooltip-content:before{border-color:transparent;border-width:6px}.example-tooltip-right .tooltip-content:after,.example-tooltip-right .tooltip-content:before{right:100%}.example-tooltip-right .tooltip-content:after{border-right-color:#fff;margin-top:-5px;top:15px}.example-tooltip-right .tooltip-content:before{border-right-color:#bbb;margin-top:-6px;top:15px}.example-tooltip-right .tooltip-toggle{cursor:help}.example-tooltip-right .tooltip-toggle:hover+.tooltip-content,.example-tooltip-right .tooltip-toggle:focus+.tooltip-content,.example-tooltip-right:hover .tooltip-content{display:block}.example-tooltip-top{position:relative}.example-tooltip-top .tooltip-content{z-index:100;background:#fff;min-width:210px;max-width:360px;padding:12px 16px;display:none;position:absolute;text-align:left;color:#333;line-height:1.4;border:1px solid #bbb;bottom:100%;left:0;margin-bottom:5px}.example-tooltip-top .tooltip-content:after,.example-tooltip-top .tooltip-content:before{border:solid transparent;content:'';height:0;width:0;position:absolute}.example-tooltip-top .tooltip-content:after{border-color:transparent;border-width:5px}.example-tooltip-top .tooltip-content:before{border-color:transparent;border-width:6px}.example-tooltip-top .tooltip-content:after,.example-tooltip-top .tooltip-content:before{top:100%}.example-tooltip-top .tooltip-content:after{border-top-color:#fff;margin-left:-5px;left:15px}.example-tooltip-top .tooltip-content:before{border-top-color:#bbb;margin-left:-6px;left:15px}.example-tooltip-top .tooltip-toggle{cursor:help}.example-tooltip-top .tooltip-toggle:hover+.tooltip-content,.example-tooltip-top .tooltip-toggle:focus+.tooltip-content,.example-tooltip-top:hover .tooltip-content{display:block}html{font-size:62.5%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size-adjust:100%}body{font-size:1.4rem;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;line-height:1.42857143}p{margin-top:0rem;margin-bottom:1rem}abbr[title]{cursor:help;border-bottom:1px dotted #d1d1d1}b,strong{font-weight:700}em,i{font-style:italic}mark{background:#f0f0f0;color:#000}small,.small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #d1d1d1}sub,sup{font-size:71.42857143%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dfn{font-style:italic}h1{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:0rem;margin-bottom:2rem}h2{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:2.5rem;margin-bottom:2rem}h3{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}h4{font-size:1.4rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h5{font-size:1.2rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h6{font-size:1rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small{font-size:71.42857143%;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;line-height:1}a,.alink{color:#1979c3;text-decoration:none}a:visited,.alink:visited{color:#1979c3;text-decoration:none}a:hover,.alink:hover{color:#006bb4;text-decoration:underline}a:active,.alink:active{color:#ff5501;text-decoration:underline}ul,ol{margin-top:0rem;margin-bottom:2.5rem}ul>li,ol>li{margin-top:0rem;margin-bottom:1rem}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}dl{margin-top:0;margin-bottom:20px}dt{font-weight:700;margin-top:0;margin-bottom:5px}dd{margin-top:0;margin-bottom:10px;margin-left:0}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,'Courier New',monospace}code{background:#f0f0f0;color:#111;font-size:1.2rem;padding:2px 4px;white-space:nowrap}kbd{background:#f0f0f0;color:#111;font-size:1.2rem;padding:2px 4px}pre{background:#f0f0f0;border:1px solid #d1d1d1;color:#111;display:block;font-size:1.2rem;margin:0 0 10px;line-height:1.42857143;padding:10px;word-break:break-all;word-wrap:break-word}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}blockquote{border-left:0 solid #d1d1d1;margin:0 0 20px 40px;padding:0;font-size:1.4rem;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:italic;line-height:1.42857143}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{color:#333;display:block;font-size:1rem;line-height:1.42857143}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote cite{font-style:normal}blockquote:before,blockquote:after{content:""}q{quotes:none}q:before,q:after{content:'';content:none}cite{font-style:normal}.example-line-height{line-height:3rem}.example-word-wrap{word-break:break-all;word-break:break-word;word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;background:#ccc;width:120px}.example-text-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#ccc;width:120px}.example-text-hide{background-color:transparent;border:0;font:0/0 a;color:transparent;text-shadow:none}.example-hyphens{word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.example-hyphens-none{word-wrap:break-word;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.example-typography{color:#fc0;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-weight:500;font-style:italic;line-height:1.2}.example-list-reset-styles{margin:0;padding:0;list-style:none none}.example-list-inline{margin:0;padding:0;list-style:none none}.example-list-inline>li{display:inline-block;vertical-align:top}.example-link-default{color:#1979c3;text-decoration:none}.example-link-default:visited{color:#1979c3;text-decoration:none}.example-link-default:hover{color:#006bb4;text-decoration:underline}.example-link-default:active{color:#ff5501;text-decoration:underline}.example-link{color:#008000;text-decoration:none}.example-link:visited{color:#1979c3;text-decoration:none}.example-link:hover{color:#ffa500;text-decoration:none}.example-link:active{color:#ff5501;text-decoration:underline}.example-heading{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:0rem;margin-bottom:2rem}.example-heading-2{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:2.5rem;margin-bottom:2rem}html{font-size:62.5%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size-adjust:100%}body{font-size:1.4rem;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;line-height:1.42857143}p{margin-top:0rem;margin-bottom:1rem}abbr[title]{cursor:help;border-bottom:1px dotted #d1d1d1}b,strong{font-weight:700}em,i{font-style:italic}mark{background:#f0f0f0;color:#000}small,.small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #d1d1d1}sub,sup{font-size:71.42857143%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dfn{font-style:italic}h1{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:0rem;margin-bottom:2rem}h2{font-size:2.6rem;font-weight:300;line-height:1.1;margin-top:2.5rem;margin-bottom:2rem}h3{font-size:1.8rem;font-weight:300;line-height:1.1;margin-top:1.5rem;margin-bottom:1rem}h4{font-size:1.4rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h5{font-size:1.2rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h6{font-size:1rem;font-weight:700;line-height:1.1;margin-top:2rem;margin-bottom:2rem}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small{font-size:71.42857143%;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;line-height:1}a,.alink{color:#1979c3;text-decoration:none}a:visited,.alink:visited{color:#1979c3;text-decoration:none}a:hover,.alink:hover{color:#006bb4;text-decoration:underline}a:active,.alink:active{color:#ff5501;text-decoration:underline}ul,ol{margin-top:0rem;margin-bottom:2.5rem}ul>li,ol>li{margin-top:0rem;margin-bottom:1rem}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}dl{margin-top:0;margin-bottom:20px}dt{font-weight:700;margin-top:0;margin-bottom:5px}dd{margin-top:0;margin-bottom:10px;margin-left:0}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,'Courier New',monospace}code{background:#f0f0f0;color:#111;font-size:1.2rem;padding:2px 4px;white-space:nowrap}kbd{background:#f0f0f0;color:#111;font-size:1.2rem;padding:2px 4px}pre{background:#f0f0f0;border:1px solid #d1d1d1;color:#111;display:block;font-size:1.2rem;margin:0 0 10px;line-height:1.42857143;padding:10px;word-break:break-all;word-wrap:break-word}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}blockquote{border-left:0 solid #d1d1d1;margin:0 0 20px 40px;padding:0;font-size:1.4rem;color:#333;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:italic;line-height:1.42857143}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{color:#333;display:block;font-size:1rem;line-height:1.42857143}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote cite{font-style:normal}blockquote:before,blockquote:after{content:""}q{quotes:none}q:before,q:after{content:'';content:none}cite{font-style:normal}.example-clearfix-container-1{border:1px solid red}.example-clearfix-container-2{border:1px solid #0f0}.example-clearfix-container-2:before,.example-clearfix-container-2:after{content:"";display:table}.example-clearfix-container-2:after{clear:both}.example-clearfix-item.left{float:left}.example-clearfix-item.right{float:right}.example-visibility-hidden{height:0;visibility:hidden}.example-visually-hidden-1{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-visually-hidden-2{background:#fdf0d5;padding:5px;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.example-visually-hidden-2{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.example-css-container{padding:20px;background:#e8e8e8}.example-rotate{background:red;position:absolute;height:20px;width:40px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.example-placeholder::-webkit-input-placeholder{color:#808080;font-weight:700}.example-placeholder:-moz-placeholder{color:#808080;font-weight:700}.example-placeholder::-moz-placeholder{color:#808080;font-weight:700}.example-placeholder:-ms-input-placeholder{color:#808080;font-weight:700}.example-background-gradient-1{background-color:#ccf;background-repeat:repeat-x;background-image:-webkit-linear-gradient(top, #cff 0, #ccf 100%);background-image:linear-gradient(to bottom, #cff 0, #ccf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ccffff', endColorstr='#ccccff', GradientType=0)}.example-background-gradient-2{background-color:#ccf;background-repeat:repeat-x;background-image:-webkit-linear-gradient(left,color-stop( #cff 0),color-stop( #ccf 100%));background-image:linear-gradient(to right, #cff 0, #ccf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ccffff', endColorstr='#ccccff', GradientType=1)}.example-background-gradient-3-wrapper{background:#ffc;padding:10px}.example-background-gradient-3{background-color:rgba(255,255,255,0);background-repeat:repeat-x;background-image:-webkit-linear-gradient(left,color-stop(rgba(255,255,255,0) 0),color-stop( #ccf 100%));background-image:linear-gradient(to right,rgba(255,255,255,0) 0, #ccf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(255, 255, 255, 0)',endColorstr='#ccccff',GradientType=1)}body{padding:15px;background-image:none}</style></head><body><nav class="bar top cf"><div class="container"><a href="index.html" class="brand">Magento UI Library</a><ul class="menu"><li><a href="#" data-toggle="dropdown-1" unselectable="on" class="dropdown-toggle">files</a><ul id="dropdown-1" hidden class="dropdown"><li><a href="actions-toolbar.html">actions-toolbar</a></li><li><a href="breadcrumbs.html">breadcrumbs</a></li><li><a href="buttons.html">buttons</a></li><li><a href="docs.html">docs</a></li><li><a href="dropdowns.html">dropdowns</a></li><li><a href="forms.html">forms</a></li><li><a href="icons.html">icons</a></li><li><a href="layout.html">layout</a></li><li><a href="lib.html">lib</a></li><li><a href="loaders.html">loaders</a></li><li><a href="messages.html">messages</a></li><li><a href="pages.html">pages</a></li><li><a href="popups.html">popups</a></li><li><a href="rating.html">rating</a></li><li><a href="resets.html">resets</a></li><li><a href="responsive.html">responsive</a></li><li><a href="sections.html">sections</a></li><li><a href="tables.html">tables</a></li><li><a href="tooltips.html">tooltips</a></li><li><a href="typography.html">typography</a></li><li><a href="utilities.html">utilities</a></li><li><a href="variables.html">variables</a></li></ul></li></ul><div class="nav"><button title="Table of Contents" data-toggle="nav-toc"><svg viewBox="0 0 512 512" height="22" width="22" class="icon"><path d="M108.9,403.1V462H50v-58.9H108.9z M108.9,285.4H50v58.9h58.9V285.4zM108.9,50H50v58.9h58.9V50z M108.9,167.7H50v58.9h58.9V167.7z M167.7,344.3H462v-58.9H167.7V344.3zM167.7,50v58.9H462V50H167.7z M167.7,462H462v-58.9H167.7V462z M167.7,226.6H462v-58.9H167.7V226.6z"></path></svg></button><input type="search" placeholder="Search" class="search"></div></div></nav><section class="container"><article id="forms-mixins" class="section"><div class="docs"><a href="#forms-mixins" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="forms-mixins">Forms mixins</h1> <p> Magento UI library provides a set of mixins for forms elements customization. You can customize your forms globally by configuring global variables, or you can customize every form separately using appropriate mixin.</p> @@ -19,7 +19,7 @@ <h2 id="simple-form-with-required-fields-message">Simple form with "required fields" message</h2> <textarea class="preview-code" spellcheck="false"> <form class="example-form-1"> <fieldset class="example-form-1-fieldset" data-hasrequired="* Required Fields"> - <legend class="legend"><span>Login Information</span></legend><br> + <legend class="legend"><span>Sign-in Information</span></legend><br> <div class="field password required"> <label for="password" class="label"><span>Password</span></label> @@ -195,29 +195,30 @@ </div> </fieldset> </form></textarea> -</div><div class="code"><pre><code> -.example-form-1 { - .example-form-1-fieldset { - .form-fieldset(); - .form-hasrequired(bottom); - > .field { - .form-field(); - } - } -} - -.example-form-2 { - .example-form-2-fieldset { - .form-fieldset(); - > .field { - .form-field( - @_type: block, - @_column: true - ); - } - } -} - </code></pre></div></article><article id="fieldset-and-legend-customization-variables" class="section"><div class="docs"><a href="#fieldset-and-legend-customization-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="fieldset-and-legend-customization-variables">Fieldset and legend customization variables</h1> +</div><div class="code"><pre><code> +.example-form-1 { + .example-form-1-fieldset { + .form-fieldset(); + .form-hasrequired(bottom); + > .field { + .form-field(); + } + } +} + +.example-form-2 { + .example-form-2-fieldset { + .form-fieldset(); + > .field { + .form-field( + @_type: block, + @_column: true + ); + } + } +} + +</code></pre></div></article><article id="fieldset-and-legend-customization-variables" class="section"><div class="docs"><a href="#fieldset-and-legend-customization-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="fieldset-and-legend-customization-variables">Fieldset and legend customization variables</h1> <p> The <code>.form-fieldset()</code> mixin variables <pre> <table> @@ -677,35 +678,36 @@ <select><option>type = select</option><option>option</option></select> <select multiple="multiple"><option>type = select multiple</option><option>option</option></select> <textarea placeholder="placeholder, type = textarea" ></textarea></textarea> -</div><div class="code"><pre><code> - -input[type="text"], -input[type="password"], -input[type="url"], -input[type="tel"], -input[type="search"], -input[type="number"], -input[type="datetime"], -input[type="email"] { - .form-element-input(@_type: input-text); - margin-bottom: 20px; -} - -select { - .form-element-input(@_type: select); - margin-bottom: 20px; -} - -select[multiple="multiple"] { - .css(height, auto); - margin-bottom: 20px; -} - -textarea { - .form-element-input(@_type: textarea); - .form-element-textarea-resize(); -} - </code></pre></div></article><article id="form-element-inputs-customization-variables" class="section"><div class="docs"><a href="#form-element-inputs-customization-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-inputs-customization-variables">Form element inputs customization variables</h1> +</div><div class="code"><pre><code> + +input[type="text"], +input[type="password"], +input[type="url"], +input[type="tel"], +input[type="search"], +input[type="number"], +input[type="datetime"], +input[type="email"] { + .form-element-input(@_type: input-text); + margin-bottom: 20px; +} + +select { + .form-element-input(@_type: select); + margin-bottom: 20px; +} + +select[multiple="multiple"] { + .css(height, auto); + margin-bottom: 20px; +} + +textarea { + .form-element-input(@_type: textarea); + .form-element-textarea-resize(); +} + +</code></pre></div></article><article id="form-element-inputs-customization-variables" class="section"><div class="docs"><a href="#form-element-inputs-customization-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-inputs-customization-variables">Form element inputs customization variables</h1> <pre> <table> <tr> @@ -890,19 +892,21 @@ textarea { </tr> </table> </pre> -</div><div class="code"><pre><code> </code></pre></div></article><article id="form-element-choice" class="section"><div class="docs"><a href="#form-element-choice" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-choice">Form element choice</h1> +</div><div class="code"><pre><code> +</code></pre></div></article><article id="form-element-choice" class="section"><div class="docs"><a href="#form-element-choice" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-choice">Form element choice</h1> <p> The <code>.form-element-choise()</code> mixin is used to customize checkboxes and radio buttons.</p> <textarea class="preview-code" spellcheck="false"> <input type="checkbox" name="checkbox-example" /><label for="checkbox-example">Label for checkbox</label><br /> <input type="radio" name="radio-example" /><label for="radio-example">Label for radio button</label></textarea> -</div><div class="code"><pre><code> -input[type="checkbox"] { - .form-element-choice(@_type: input-checkbox); -} - -input[type="radio"] { - .form-element-choice(@_type: input-radio); -} - </code></pre></div></article><article id="form-element-choice-variables" class="section"><div class="docs"><a href="#form-element-choice-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-choice-variables">Form element choice variables</h1> +</div><div class="code"><pre><code> +input[type="checkbox"] { + .form-element-choice(@_type: input-checkbox); +} + +input[type="radio"] { + .form-element-choice(@_type: input-radio); +} + +</code></pre></div></article><article id="form-element-choice-variables" class="section"><div class="docs"><a href="#form-element-choice-variables" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-element-choice-variables">Form element choice variables</h1> <pre> <table> <tr> @@ -937,7 +941,8 @@ input[type="radio"] { </tr> </table> </pre> -</div><div class="code"><pre><code> </code></pre></div></article><article id="custom-color" class="section"><div class="docs"><a href="#custom-color" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="custom-color">Custom color</h1> +</div><div class="code"><pre><code> +</code></pre></div></article><article id="custom-color" class="section"><div class="docs"><a href="#custom-color" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="custom-color">Custom color</h1> <p> The <code>.form-element-color()</code> mixin is used to set form elements background and color.</p> <pre><code class="lang-css"> @_border-color: '' @_background: '' @@ -953,37 +958,40 @@ input[type="radio"] { <input type="text" class="text text-example-1" placeholder="placeholder, type = text, disabled" disabled="disabled" /><br /><br /> <select class="select-example-1"><option>type = select</option><option>option</option></select><br /><br /> <textarea class="textarea-example-1" placeholder="placeholder, type = textarea"></textarea></textarea> -</div><div class="code"><pre><code> -input.text-example-1, -select.select-example-1, -textarea.textarea-example-1 { - .form-element-color( - @_background: #fdf0d5, - @_border-color: #fc0, - @_color: #b30000, - @_focus-color: #060, - @_focus-border-color: #cff, - @_disabled-color: #fcc - ); -} - -input.text-example-1, -textarea.textarea-example-1 { - .form-element-color( - @_placeholder-color: #ccc - ); -} - </code></pre></div></article><article id="input-number-inputtext-view" class="section"><div class="docs"><a href="#input-number-inputtext-view" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="input-number-inputtext-view">Input number - input-text view</h1> +</div><div class="code"><pre><code> +input.text-example-1, +select.select-example-1, +textarea.textarea-example-1 { + .form-element-color( + @_background: #fdf0d5, + @_border-color: #fc0, + @_color: #b30000, + @_focus-color: #060, + @_focus-border-color: #cff, + @_disabled-color: #fcc + ); +} + +input.text-example-1, +textarea.textarea-example-1 { + .form-element-color( + @_placeholder-color: #ccc + ); +} + +</code></pre></div></article><article id="input-number-inputtext-view" class="section"><div class="docs"><a href="#input-number-inputtext-view" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="input-number-inputtext-view">Input number - input-text view</h1> <textarea class="preview-code" spellcheck="false"> <input type="number" class="number number-example" placeholder="placeholder, type = number " /></textarea> -</div><div class="code"><pre><code>.number-example { - .form-element-number-reset(); -} - </code></pre></div></article><article id="input-search-inputtext-view" class="section"><div class="docs"><a href="#input-search-inputtext-view" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="input-search-inputtext-view">Input search - input-text view</h1> +</div><div class="code"><pre><code>.number-example { + .form-element-number-reset(); +} + +</code></pre></div></article><article id="input-search-inputtext-view" class="section"><div class="docs"><a href="#input-search-inputtext-view" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="input-search-inputtext-view">Input search - input-text view</h1> <textarea class="preview-code" spellcheck="false"> <input type="search" class="search search-example" placeholder="placeholder, type = search " /></textarea> -</div><div class="code"><pre><code>.search-example { - .form-element-search-reset(); -} - </code></pre></div></article><article id="form-validation" class="section"><div class="docs"><a href="#form-validation" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-validation">Form validation</h1> +</div><div class="code"><pre><code>.search-example { + .form-element-search-reset(); +} + +</code></pre></div></article><article id="form-validation" class="section"><div class="docs"><a href="#form-validation" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-validation">Form validation</h1> <p> The <code>.form-validation-note()</code> mixin is used to customize form validation error messages.</p> <textarea class="preview-code" spellcheck="false"> <input type="text" class="textarea-example-4 mage-error" placeholder="placeholder, type = text" /> <div class="mage-error">This is a required field.</div> @@ -1009,12 +1017,13 @@ textarea.textarea-example-1 { <br /><br /> <input type="radio" name="radio-example-1" class="radio-example-2 mage-error" /> <div class="mage-error">This is a required field.</div></textarea> -</div><div class="code"><pre><code>input, -textarea, -select { - .form-validation-note(); -} - </code></pre></div></article><article id="form-validation-variables-pre" class="section"><div class="docs"><a href="#form-validation-variables-pre" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-validation-variables-pre">Form validation variables// <pre></h1> +</div><div class="code"><pre><code>input, +textarea, +select { + .form-validation-note(); +} + +</code></pre></div></article><article id="form-validation-variables-pre" class="section"><div class="docs"><a href="#form-validation-variables-pre" class="permalink"><svg viewBox="0 0 512 512" height="32" width="32" class="icon"><path d="M156.2,199.7c7.5-7.5,15.9-13.8,24.8-18.7c49.6-27.3,113.1-12.8,145,35.5l-38.5,38.5c-11.1-25.2-38.5-39.6-65.8-33.5c-10.3,2.3-20.1,7.4-28,15.4l-73.9,73.9c-22.4,22.4-22.4,58.9,0,81.4c22.4,22.4,58.9,22.4,81.4,0l22.8-22.8c20.7,8.2,42.9,11.5,64.9,9.9l-50.3,50.3c-43.1,43.1-113,43.1-156.1,0c-43.1-43.1-43.1-113-0-156.1L156.2,199.7z M273.6,82.3l-50.3,50.3c21.9-1.6,44.2,1.6,64.9,9.9l22.8-22.8c22.4-22.4,58.9-22.4,81.4,0c22.4,22.4,22.4,58.9,0,81.4l-73.9,73.9c-22.5,22.5-59.1,22.3-81.4,0c-5.2-5.2-9.7-11.7-12.5-18l-38.5,38.5c4,6.1,8.3,11.5,13.7,16.9c13.9,13.9,31.7,24.3,52.1,29.3c26.5,6.4,54.8,2.8,79.2-10.6c8.9-4.9,17.3-11.1,24.8-18.7l73.9-73.9c43.1-43.1,43.1-113,0-156.1C386.6,39.2,316.7,39.2,273.6,82.3z"></path></svg></a><h1 id="form-validation-variables-pre">Form validation variables// <pre></h1> <textarea class="preview-code" spellcheck="false"><table> <tr> <th class="vars_head">Mixin variable</th> diff --git a/lib/web/css/docs/source/forms.less b/lib/web/css/docs/source/forms.less index f3fd20c0c88c4dd0748c90677499b5d92121bdb9..ec9a19e5ce052d980541ea28d4b49755d645375a 100644 --- a/lib/web/css/docs/source/forms.less +++ b/lib/web/css/docs/source/forms.less @@ -27,7 +27,7 @@ // ```html // <form class="example-form-1"> // <fieldset class="example-form-1-fieldset" data-hasrequired="* Required Fields"> -// <legend class="legend"><span>Login Information</span></legend><br> +// <legend class="legend"><span>Sign-in Information</span></legend><br> // // <div class="field password required"> // <label for="password" class="label"><span>Password</span></label> diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js index 1bc9729b4dad2c266e3d24406b960f35945fb0a1..a32bd5026d829202ddd2709ec8b1955e1d0f7cdc 100644 --- a/lib/web/mage/validation.js +++ b/lib/web/mage/validation.js @@ -901,7 +901,7 @@ } return hasWithValue ^ hasWithNoValue; }, - 'Field is not complete.' + 'The field isn\'t complete.' ], "validate-required-datetime": [ function(v, elm, param) { diff --git a/pub/errors/processor.php b/pub/errors/processor.php index 73d1925e8a300f47d534a682aecd224a152f3f23..edbbb4dd6020481a5ee403a88ada146c30332f17 100755 --- a/pub/errors/processor.php +++ b/pub/errors/processor.php @@ -511,7 +511,7 @@ class Processor . "IP Address: {$this->_getClientIp()}\n" . "First Name: {$this->postData['firstName']}\n" . "Last Name: {$this->postData['lastName']}\n" - . "E-mail Address: {$this->postData['email']}\n"; + . "Email Address: {$this->postData['email']}\n"; if ($this->postData['telephone']) { $msg .= "Telephone: {$this->postData['telephone']}\n"; } diff --git a/pub/get.php b/pub/get.php index 68626e0a57e0a5ba25cfff4e41c461d87c367c9a..9888d7627acaea160f3d4a18297941fba2cb60dc 100755 --- a/pub/get.php +++ b/pub/get.php @@ -8,13 +8,14 @@ use Magento\Framework\App\Cache\Frontend\Factory; use Magento\Framework\App\ObjectManagerFactory; +use Magento\Framework\HTTP\PhpEnvironment\Request; +use Magento\Framework\Stdlib\Cookie\PhpCookieReader; require dirname(__DIR__) . '/app/bootstrap.php'; $mediaDirectory = null; $allowedResources = []; -$configCacheFile = dirname(__DIR__) . '/var/resource_config.json'; -$relativeFilename = null; +$configCacheFile = BP . '/var/resource_config.json'; $isAllowed = function ($resource, array $allowedResources) { $isResourceAllowed = false; @@ -26,39 +27,39 @@ $isAllowed = function ($resource, array $allowedResources) { return $isResourceAllowed; }; +$request = new \Magento\MediaStorage\Model\File\Storage\Request(new Request(new PhpCookieReader())); +$relativePath = $request->getPathInfo(); if (file_exists($configCacheFile) && is_readable($configCacheFile)) { $config = json_decode(file_get_contents($configCacheFile), true); //checking update time if (filemtime($configCacheFile) + $config['update_time'] > time()) { - $mediaDirectory = trim(str_replace(__DIR__, '', $config['media_directory']), '/'); - $allowedResources = array_merge($allowedResources, $config['allowed_resources']); - } -} - -// Serve file if it's materialized -$request = new \Magento\MediaStorage\Model\File\Storage\Request(__DIR__); -if ($mediaDirectory) { - if (0 !== stripos($request->getPathInfo(), $mediaDirectory . '/') || is_dir($request->getFilePath())) { - header('HTTP/1.0 404 Not Found'); - exit; - } + $mediaDirectory = $config['media_directory']; + $allowedResources = $config['allowed_resources']; - $relativeFilename = str_replace($mediaDirectory . '/', '', $request->getPathInfo()); - if (!$isAllowed($relativeFilename, $allowedResources)) { - header('HTTP/1.0 404 Not Found'); - exit; - } - - if (is_readable($request->getFilePath())) { - $transfer = new \Magento\Framework\File\Transfer\Adapter\Http( - new \Magento\Framework\HTTP\PhpEnvironment\Response(), - new \Magento\Framework\File\Mime() - ); - $transfer->send($request->getFilePath()); - exit; + // Serve file if it's materialized + if ($mediaDirectory) { + if (!$isAllowed($relativePath, $allowedResources)) { + header('HTTP/1.0 404 Not Found'); + exit; + } + $mediaAbsPath = $mediaDirectory . '/' . $relativePath; + if (is_readable($mediaAbsPath)) { + if (is_dir($mediaAbsPath)) { + header('HTTP/1.0 404 Not Found'); + exit; + } + $transfer = new \Magento\Framework\File\Transfer\Adapter\Http( + new \Magento\Framework\HTTP\PhpEnvironment\Response(), + new \Magento\Framework\File\Mime() + ); + $transfer->send($mediaAbsPath); + exit; + } + } } } + // Materialize file in application $params = $_SERVER; if (empty($mediaDirectory)) { @@ -70,12 +71,10 @@ $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); $app = $bootstrap->createApplication( 'Magento\MediaStorage\App\Media', [ - 'request' => $request, - 'workingDirectory' => __DIR__, 'mediaDirectory' => $mediaDirectory, 'configCacheFile' => $configCacheFile, 'isAllowed' => $isAllowed, - 'relativeFileName' => $relativeFilename, + 'relativeFileName' => $relativePath, ] ); $bootstrap->run($app); diff --git a/setup/pub/angular/angular.js b/setup/pub/angular/angular.js index 66b1d2569b7b7c174055db5672c574ee64ee809b..f53b5280f8647b6f382dd133858440fbfc91b75f 100644 --- a/setup/pub/angular/angular.js +++ b/setup/pub/angular/angular.js @@ -809,7 +809,7 @@ <div ng-controller="Controller"> <form novalidate class="simple-form"> Name: <input type="text" ng-model="user.name" /><br /> - E-mail: <input type="email" ng-model="user.email" /><br /> + Email: <input type="email" ng-model="user.email" /><br /> Gender: <input type="radio" ng-model="user.gender" value="male" />male <input type="radio" ng-model="user.gender" value="female" />female<br /> <button ng-click="reset()">RESET</button> diff --git a/setup/src/Magento/Setup/Controller/Environment.php b/setup/src/Magento/Setup/Controller/Environment.php index e88ed5e59602a0485f5bbfc2bf42bbdc69404b8f..1be039847995bec34c7366efc63413b0876de890 100644 --- a/setup/src/Magento/Setup/Controller/Environment.php +++ b/setup/src/Magento/Setup/Controller/Environment.php @@ -8,7 +8,7 @@ namespace Magento\Setup\Controller; use Composer\Package\Version\VersionParser; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\JsonModel; -use Magento\Setup\Model\ComposerInformation; +use Magento\Framework\Composer\ComposerInformation; use Magento\Setup\Model\PhpInformation; use Magento\Setup\Model\FilePermissions; diff --git a/setup/src/Magento/Setup/Model/ComposerInformation.php b/setup/src/Magento/Setup/Model/ComposerInformation.php deleted file mode 100644 index 431f4c8243f7b800ac9c07729c0d52d017e11de5..0000000000000000000000000000000000000000 --- a/setup/src/Magento/Setup/Model/ComposerInformation.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Setup\Model; - -use Composer\Factory as ComposerFactory; -use Composer\IO\BufferIO; -use Composer\Package\Link; -use Composer\Package\PackageInterface; -use Magento\Framework\App\Filesystem\DirectoryList; -use Magento\Framework\Filesystem; - -/** - * Class ComposerInformation uses Composer to determine dependency information. - */ -class ComposerInformation -{ - /** - * @var \Composer\Composer - */ - private $composer; - - /** - * @var \Composer\Package\Locker - */ - private $locker; - - /** - * Constructor - * - * @param Filesystem $filesystem - * @param BufferIO $io - * @throws \Exception - */ - public function __construct( - Filesystem $filesystem, - BufferIO $io - ) { - // composer.json is in same directory as vendor - $vendorPath = $filesystem->getDirectoryRead(DirectoryList::CONFIG)->getAbsolutePath('vendor_path.php'); - $vendorDir = require "{$vendorPath}"; - $composerJson = $filesystem->getDirectoryRead(DirectoryList::ROOT)->getAbsolutePath() - . "/{$vendorDir}/../composer.json"; - - $composerJsonRealPath = realpath($composerJson); - if ($composerJsonRealPath === false) { - throw new \Exception('Composer file not found: ' . $composerJson); - } - - putenv('COMPOSER_HOME=' . $filesystem->getDirectoryRead(DirectoryList::COMPOSER_HOME)->getAbsolutePath()); - - // Create Composer - $this->composer = ComposerFactory::create($io, $composerJson); - $this->locker = $this->composer->getLocker(); - } - - /** - * Retrieves required php version - * - * @return string - * @throws \Exception If attributes are missing in composer.lock file. - */ - public function getRequiredPhpVersion() - { - if ($this->isMagentoRoot()) { - $allPlatformReqs = $this->locker->getPlatformRequirements(true); - $requiredPhpVersion = $allPlatformReqs['php']->getPrettyConstraint(); - } else { - $packages = $this->locker->getLockedRepository()->getPackages(); - /** @var PackageInterface $package */ - foreach ($packages as $package) { - if ($package instanceof PackageInterface) { - $packageName = $package->getPrettyName(); - if ($packageName === 'magento/product-community-edition') { - $phpRequirementLink = $package->getRequires()['php']; - if ($phpRequirementLink instanceof Link) { - $requiredPhpVersion = $phpRequirementLink->getPrettyConstraint(); - } - } - } - } - } - - if (!isset($requiredPhpVersion)) { - throw new \Exception('Cannot find php version requirement in \'composer.lock\' file'); - } - return $requiredPhpVersion; - } - - /** - * Retrieve list of required extensions - * - * Collect required extensions from composer.lock file - * - * @return array - * @throws \Exception If attributes are missing in composer.lock file. - */ - public function getRequiredExtensions() - { - $requiredExtensions = []; - $allPlatformReqs = array_keys($this->locker->getPlatformRequirements(true)); - - if (!$this->isMagentoRoot()) { - /** @var \Composer\Package\CompletePackage $package */ - foreach ($this->locker->getLockedRepository()->getPackages() as $package) { - $requires = array_keys($package->getRequires()); - $requires = array_merge($requires, array_keys($package->getDevRequires())); - $allPlatformReqs = array_merge($allPlatformReqs, $requires); - } - } - foreach ($allPlatformReqs as $reqIndex) { - if (substr($reqIndex, 0, 4) === 'ext-') { - $requiredExtensions[] = substr($reqIndex, 4); - } - } - return array_unique($requiredExtensions); - } - - /** - * Determines if Magento is the root package or it is included as a requirement. - * - * @return bool - */ - private function isMagentoRoot() - { - $rootPackage = $this->composer->getPackage(); - - return preg_match('/magento\/magento2.e/', $rootPackage->getName()); - } -} diff --git a/setup/src/Magento/Setup/Model/ConfigGenerator.php b/setup/src/Magento/Setup/Model/ConfigGenerator.php index a1a07d52e20bd78e6542f82aa6c8534913ae19b6..fba3107325ecd8175126775cbf4d5ad4eac14cf9 100644 --- a/setup/src/Magento/Setup/Model/ConfigGenerator.php +++ b/setup/src/Magento/Setup/Model/ConfigGenerator.php @@ -210,4 +210,18 @@ class ConfigGenerator return $configData; } + + /** + * Creates x-frame-options header config data + * + * @return ConfigData + */ + public function createXFrameConfig() + { + $configData = new ConfigData(ConfigFilePool::APP_ENV); + if ($this->deploymentConfig->get(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT) === null) { + $configData->set(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT, 'SAMEORIGIN'); + } + return $configData; + } } diff --git a/setup/src/Magento/Setup/Model/ConfigOptionsList.php b/setup/src/Magento/Setup/Model/ConfigOptionsList.php index 64f2a58515eca8addc153c5a8e6151b6b2a5bbfc..ee76fbf6d4ee9851c4b46052fbad10ea6f274a9c 100644 --- a/setup/src/Magento/Setup/Model/ConfigOptionsList.php +++ b/setup/src/Magento/Setup/Model/ConfigOptionsList.php @@ -158,6 +158,7 @@ class ConfigOptionsList implements ConfigOptionsListInterface } $configData[] = $this->configGenerator->createDbConfig($data); $configData[] = $this->configGenerator->createResourceConfig(); + $configData[] = $this->configGenerator->createXFrameConfig(); return $configData; } diff --git a/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php b/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..12ce5af79e7dcd35dab1954cdc71020ce1cb1502 --- /dev/null +++ b/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php @@ -0,0 +1,41 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Setup\Test\Unit\Model; + + +use Magento\Framework\Config\ConfigOptionsListConstants; + +class ConfigGeneratorTest extends \PHPUnit_Framework_TestCase +{ + /** @var \Magento\Framework\App\DeploymentConfig | \PHPUnit_Framework_MockObject_MockObject */ + private $deploymentConfigMock; + /** @var \Magento\Setup\Model\ConfigGenerator | \PHPUnit_Framework_MockObject_MockObject */ + private $model; + + public function setUp() + { + $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + + $this->deploymentConfigMock = $this->getMockBuilder('Magento\Framework\App\DeploymentConfig') + ->disableOriginalConstructor() + ->getMock(); + $this->model = $objectManager->getObject( + 'Magento\Setup\Model\ConfigGenerator', + ['deploymentConfig' => $this->deploymentConfigMock] + ); + } + + public function testCreateXFrameConfig() + { + $this->deploymentConfigMock->expects($this->atLeastOnce()) + ->method('get') + ->with(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT) + ->willReturn(null); + $configData = $this->model->createXFrameConfig(); + $this->assertSame('SAMEORIGIN', $configData->getData()[ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT]); + } +} diff --git a/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php b/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php index f972d2e802b46b9a0bbd5b900fc421536a98b4f1..d1281f7c30c550a55188a3ebb0c3754620d8cb38 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php @@ -82,8 +82,9 @@ class ConfigOptionsListTest extends \PHPUnit_Framework_TestCase $this->generator->expects($this->once())->method('createDefinitionsConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createDbConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createResourceConfig')->willReturn($configDataMock); + $this->generator->expects($this->once())->method('createXFrameConfig')->willReturn($configDataMock); $configData = $this->object->createConfig([], $this->deploymentConfig); - $this->assertEquals(6, count($configData)); + $this->assertEquals(7, count($configData)); } public function testCreateOptionsWithOptionalNull() @@ -95,7 +96,8 @@ class ConfigOptionsListTest extends \PHPUnit_Framework_TestCase $this->generator->expects($this->once())->method('createDefinitionsConfig')->willReturn(null); $this->generator->expects($this->once())->method('createDbConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createResourceConfig')->willReturn($configDataMock); + $this->generator->expects($this->once())->method('createXFrameConfig')->willReturn($configDataMock); $configData = $this->object->createConfig([], $this->deploymentConfig); - $this->assertEquals(5, count($configData)); + $this->assertEquals(6, count($configData)); } } diff --git a/setup/view/magento/setup/create-admin-account.phtml b/setup/view/magento/setup/create-admin-account.phtml index cb6b54e2c631d1b13a4bf2a181e2bf8522804275..08c4177416829f2ea7822388032cc21f3319ca1e 100644 --- a/setup/view/magento/setup/create-admin-account.phtml +++ b/setup/view/magento/setup/create-admin-account.phtml @@ -91,14 +91,14 @@ $passwordWizard = sprintf( ng-class="{'has-error': account.adminEmail.$invalid && account.submitted}" > <div class="col-m-3"> - <label class="form-label required" for="adminEmail">New E-Mail</label> + <label class="form-label required" for="adminEmail">New Email</label> </div> <div class="col-m-4"> <input id="adminEmail" class="form-el-input" tooltip-placement="right" - tooltip="Must be a correct e-mail." + tooltip="Must be a correct email." tooltip-trigger="focus" tooltip-append-to-body="true" type="email" @@ -109,10 +109,10 @@ $passwordWizard = sprintf( > <div class="error-container"> <span ng-show="account.adminEmail.$error.required"> - Please enter your new e-mail. + Please enter your new email. </span> <span ng-show="account.adminEmail.$error.email"> - Please enter a correct e-mail. + Please enter a correct email. </span> </div> </div> diff --git a/setup/view/magento/setup/success.phtml b/setup/view/magento/setup/success.phtml index f0c2867f9b727cb26da330096abccd5ce88f5a17..c75cacc1a28516be1606d480a1938a0483f4be91 100644 --- a/setup/view/magento/setup/success.phtml +++ b/setup/view/magento/setup/success.phtml @@ -22,7 +22,7 @@ <dt>Username:</dt> <dd>{{admin.username}}</dd> - <dt>E-Mail:</dt> + <dt>Email:</dt> <dd>{{admin.email}}</dd> <dt>Password:</dt>