Skip to content

Commit

Permalink
Merge pull request #4519 from magento-engcom/2.3-develop-fast-lane-prs
Browse files Browse the repository at this point in the history
[Magento Community Engineering] Community Contributions - 2.3-develop expedited
  • Loading branch information
VladimirZaets authored Jul 26, 2019
2 parents d7b928a + e67e0b3 commit 90200f6
Show file tree
Hide file tree
Showing 9 changed files with 313 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct0"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct1"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct2"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct3"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct4"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct5"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct6"/>
</before>
<after>
<!-- Delete simple product -->
Expand All @@ -31,6 +36,11 @@
<amOnPage url="{{AdminLogoutPage.url}}" stepKey="amOnLogoutPage"/>
<deleteData createDataKey="simpleProduct0" stepKey="deleteSimpleProduct0"/>
<deleteData createDataKey="simpleProduct1" stepKey="deleteSimpleProduct1"/>
<deleteData createDataKey="simpleProduct2" stepKey="deleteSimpleProduct2"/>
<deleteData createDataKey="simpleProduct3" stepKey="deleteSimpleProduct3"/>
<deleteData createDataKey="simpleProduct4" stepKey="deleteSimpleProduct4"/>
<deleteData createDataKey="simpleProduct5" stepKey="deleteSimpleProduct5"/>
<deleteData createDataKey="simpleProduct6" stepKey="deleteSimpleProduct6"/>
</after>

<!--Create product-->
Expand Down Expand Up @@ -69,6 +79,28 @@
<conditionalClick selector="{{AdminProductFormRelatedUpSellCrossSellSection.relatedDropdown}}" dependentSelector="{{AdminProductFormRelatedUpSellCrossSellSection.relatedDependent}}" visible="false" stepKey="openDropDownIfClosedRelatedSee"/>
<see selector="{{AdminProductFormRelatedUpSellCrossSellSection.selectedRelatedProduct}}" userInput="$$simpleProduct1.sku$$" stepKey="seeRelatedProduct"/>

<!--See more related products in admin-->
<actionGroup ref="addRelatedProductBySku" stepKey="addRelatedProduct2">
<argument name="sku" value="$$simpleProduct2.sku$$"/>
</actionGroup>
<actionGroup ref="addRelatedProductBySku" stepKey="addRelatedProduct3">
<argument name="sku" value="$$simpleProduct3.sku$$"/>
</actionGroup>
<actionGroup ref="addRelatedProductBySku" stepKey="addRelatedProduct4">
<argument name="sku" value="$$simpleProduct4.sku$$"/>
</actionGroup>
<actionGroup ref="addRelatedProductBySku" stepKey="addRelatedProduct5">
<argument name="sku" value="$$simpleProduct5.sku$$"/>
</actionGroup>
<actionGroup ref="addRelatedProductBySku" stepKey="addRelatedProduct6">
<argument name="sku" value="$$simpleProduct6.sku$$"/>
</actionGroup>
<scrollTo selector="{{AdminProductFormRelatedUpSellCrossSellSection.relatedDropdown}}" stepKey="scrollTo2"/>
<conditionalClick selector="{{AdminProductFormRelatedUpSellCrossSellSection.relatedDropdown}}" dependentSelector="{{AdminProductFormRelatedUpSellCrossSellSection.relatedDependent}}" visible="false" stepKey="openDropDownIfClosedRelatedSee2"/>
<see selector="{{AdminProductFormRelatedUpSellCrossSellSection.selectedRelatedProduct}}" userInput="$$simpleProduct6.sku$$" stepKey="seeSixthRelatedProduct"/>
<selectOption selector=".admin__collapsible-block-wrapper[data-index='related'] .admin__control-select" userInput="5" stepKey="selectFivePerPage"/>
<dontSee selector="{{AdminProductFormRelatedUpSellCrossSellSection.selectedRelatedProduct}}" userInput="$$simpleProduct6.sku$$" stepKey="dontSeeSixthRelatedProduct"/>

<!--See related product in storefront-->
<amOnPage url="{{SimpleProduct3.sku}}.html" stepKey="goToStorefront"/>
<waitForPageLoad stepKey="waitForStorefront"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

define([
'jquery',
'Magento_Checkout/js/model/postcode-validator',
'mage/translate',
'uiRegistry'
], function (
$,
postcodeValidator,
$t,
uiRegistry
) {
'use strict';

var postcodeElementName = 'postcode';

return {
validateZipCodeTimeout: 0,
validateDelay: 2000,

/**
* Perform postponed binding for fieldset elements
*
* @param {String} formPath
*/
initFields: function (formPath) {
var self = this;

uiRegistry.async(formPath + '.' + postcodeElementName)(self.bindHandler.bind(self));
},

/**
* @param {Object} element
* @param {Number} delay
*/
bindHandler: function (element, delay) {
var self = this;

delay = typeof delay === 'undefined' ? self.validateDelay : delay;

element.on('value', function () {
clearTimeout(self.validateZipCodeTimeout);
self.validateZipCodeTimeout = setTimeout(function () {
self.postcodeValidation(element);
}, delay);
});
},

/**
* @param {Object} postcodeElement
* @return {*}
*/
postcodeValidation: function (postcodeElement) {
var countryId = $('select[name="country_id"]:visible').val(),
validationResult,
warnMessage;

if (postcodeElement == null || postcodeElement.value() == null) {
return true;
}

postcodeElement.warn(null);
validationResult = postcodeValidator.validate(postcodeElement.value(), countryId);

if (!validationResult) {
warnMessage = $t('Provided Zip/Postal Code seems to be invalid.');

if (postcodeValidator.validatedPostCodeExample.length) {
warnMessage += $t(' Example: ') + postcodeValidator.validatedPostCodeExample.join('; ') + '. ';
}
warnMessage += $t('If you believe it is the right one you can ignore this notice.');
postcodeElement.warn(warnMessage);
}

return validationResult;
}
};
});
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ define([
'Magento_Checkout/js/action/set-billing-address',
'Magento_Ui/js/model/messageList',
'mage/translate',
'Magento_Checkout/js/model/shipping-rates-validator'
'Magento_Checkout/js/model/billing-address-postcode-validator'
],
function (
ko,
Expand All @@ -35,7 +35,7 @@ function (
setBillingAddressAction,
globalMessageList,
$t,
shippingRatesValidator
billingAddressPostcodeValidator
) {
'use strict';

Expand Down Expand Up @@ -66,7 +66,7 @@ function (
quote.paymentMethod.subscribe(function () {
checkoutDataResolver.resolveBillingAddress();
}, this);
shippingRatesValidator.initFields(this.get('name') + '.form-fields');
billingAddressPostcodeValidator.initFields(this.get('name') + '.form-fields');
},

/**
Expand Down
2 changes: 1 addition & 1 deletion app/code/Magento/Customer/Model/EmailNotification.php
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ public function passwordResetConfirmation(CustomerInterface $customer)
* @param CustomerInterface $customer
* @param string $type
* @param string $backUrl
* @param string $storeId
* @param int $storeId
* @param string $sendemailStoreId
* @return void
* @throws LocalizedException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function passwordResetConfirmation(CustomerInterface $customer);
* @param CustomerInterface $customer
* @param string $type
* @param string $backUrl
* @param string $storeId
* @param int $storeId
* @param string $sendemailStoreId
* @return void
* @throws LocalizedException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,7 @@ protected function _prepareForm()
['name' => 'label', 'label' => __('Status Label'), 'class' => 'required-entry', 'required' => true]
);

if (!$this->_storeManager->isSingleStoreMode()) {
$this->_addStoresFieldset($model, $form);
}
$this->_addStoresFieldset($model, $form);

if ($model) {
$form->addValues($model->getData());
Expand All @@ -80,10 +78,31 @@ protected function _prepareForm()
protected function _addStoresFieldset($model, $form)
{
$labels = $model ? $model->getStoreLabels() : [];
$fieldset = $form->addFieldset(
'store_labels_fieldset',
['legend' => __('Store View Specific Labels'), 'class' => 'store-scope']
);
if (!$this->_storeManager->isSingleStoreMode()) {
$fieldset = $form->addFieldset(
'store_labels_fieldset',
['legend' => __('Store View Specific Labels'), 'class' => 'store-scope']
);
} else {
$fieldset = $form->addFieldset(
'store_labels_fieldset',
['legend' => __('Frontend Label')]
);
$store = $this->_storeManager->getDefaultStoreView();
$fieldset->addField(
"store_label_{$store->getId()}",
'text',
[
'name' => 'store_labels[' . $store->getId() . ']',
'required' => false,
'label' => $store->getName(),
'value' => isset($labels[$store->getId()]) ? $labels[$store->getId()] : '',
'fieldset_html_class' => 'store'
]
);
return ;
}

$renderer = $this->getLayout()->createBlock(
\Magento\Backend\Block\Store\Switcher\Form\Renderer\Fieldset::class
);
Expand Down
18 changes: 17 additions & 1 deletion app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
namespace Magento\Sales\Model\Order\Pdf;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\MediaStorage\Helper\File\Storage\Database;

/**
* Sales Order PDF abstract model
Expand All @@ -15,6 +16,7 @@
* @api
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @SuppressWarnings(PHPMD.TooManyFields)
* @since 100.0.2
*/
abstract class AbstractPdf extends \Magento\Framework\DataObject
Expand Down Expand Up @@ -122,6 +124,11 @@ abstract public function getPdf();
*/
private $pageSettings;

/**
* @var Database
*/
private $fileStorageDatabase;

/**
* @param \Magento\Payment\Helper\Data $paymentData
* @param \Magento\Framework\Stdlib\StringUtils $string
Expand All @@ -134,6 +141,7 @@ abstract public function getPdf();
* @param \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation
* @param \Magento\Sales\Model\Order\Address\Renderer $addressRenderer
* @param array $data
* @param Database $fileStorageDatabase
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
Expand All @@ -147,7 +155,8 @@ public function __construct(
\Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
\Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
\Magento\Sales\Model\Order\Address\Renderer $addressRenderer,
array $data = []
array $data = [],
Database $fileStorageDatabase = null
) {
$this->addressRenderer = $addressRenderer;
$this->_paymentData = $paymentData;
Expand All @@ -160,6 +169,8 @@ public function __construct(
$this->_pdfTotalFactory = $pdfTotalFactory;
$this->_pdfItemsFactory = $pdfItemsFactory;
$this->inlineTranslation = $inlineTranslation;
$this->fileStorageDatabase = $fileStorageDatabase ?:
\Magento\Framework\App\ObjectManager::getInstance()->get(Database::class);
parent::__construct($data);
}

Expand Down Expand Up @@ -254,6 +265,11 @@ protected function insertLogo(&$page, $store = null)
);
if ($image) {
$imagePath = '/sales/store/logo/' . $image;
if ($this->fileStorageDatabase->checkDbUsage() &&
!$this->_mediaDirectory->isFile($imagePath)
) {
$this->fileStorageDatabase->saveFileToFilesystem($imagePath);
}
if ($this->_mediaDirectory->isFile($imagePath)) {
$image = \Zend_Pdf_Image::imageWithPath($this->_mediaDirectory->getAbsolutePath($imagePath));
$top = 830;
Expand Down
Loading

0 comments on commit 90200f6

Please sign in to comment.