From bbb386bb5ab25c19c302a545f261eca588b0b828 Mon Sep 17 00:00:00 2001 From: Patrick McLain Date: Fri, 14 Dec 2018 02:07:47 -0500 Subject: [PATCH 01/13] Prevent display of token when save for later is not selected This sets the token `isVisible` value to faluse if `VaultConfigProvider::IS_ACTIVE_CODE` is not set in the payment's `additionalInformation` property. The value is not set when placing orders through the admin panel, unless the save for later checkbox is selected. This caused all admin order payment to be visible in the stored payment method section in the storefront. Fixes magento/magento2#19515 Testing on 2.3 depends on magento/magento2#19764 --- .../Observer/AfterPaymentSaveObserver.php | 8 ++--- .../Observer/AfterPaymentSaveObserverTest.php | 31 ++++++++++++++++--- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php b/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php index 49d34091b136a..00aee961d8d3f 100644 --- a/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php +++ b/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php @@ -77,11 +77,9 @@ public function execute(Observer $observer) $paymentToken->setPaymentMethodCode($payment->getMethod()); $additionalInformation = $payment->getAdditionalInformation(); - if (isset($additionalInformation[VaultConfigProvider::IS_ACTIVE_CODE])) { - $paymentToken->setIsVisible( - (bool) (int) $additionalInformation[VaultConfigProvider::IS_ACTIVE_CODE] - ); - } + $paymentToken->setIsVisible( + (bool) (int) ($additionalInformation[VaultConfigProvider::IS_ACTIVE_CODE] ?? 0) + ); $paymentToken->setPublicHash($this->generatePublicHash($paymentToken)); diff --git a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php index 09c17d1e58d98..a6b8502f66a1b 100644 --- a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php +++ b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php @@ -15,6 +15,7 @@ use Magento\Sales\Model\Order\Payment; use Magento\Vault\Model\PaymentToken; use Magento\Vault\Model\PaymentTokenManagement; +use Magento\Vault\Model\Ui\VaultConfigProvider; use Magento\Vault\Observer\AfterPaymentSaveObserver; use PHPUnit_Framework_MockObject_MockObject as MockObject; @@ -93,7 +94,7 @@ protected function setUp() // Sales Order Payment Model $this->salesOrderPaymentMock = $this->getMockBuilder(Payment::class) - ->setMethods(null) + ->setMethods(['getAdditionalInformation']) ->disableOriginalConstructor() ->getMock(); $this->salesOrderPaymentMock->setOrder($this->salesOrderMock); @@ -122,9 +123,10 @@ protected function setUp() * @param string $token * @param bool $isActive * @param string $method + * @param array $additionalInformation * @dataProvider positiveCaseDataProvider */ - public function testPositiveCase($customerId, $createdAt, $token, $isActive, $method) + public function testPositiveCase($customerId, $createdAt, $token, $isActive, $method, $additionalInformation) { $this->paymentTokenMock->setGatewayToken($token); $this->paymentTokenMock->setCustomerId($customerId); @@ -136,6 +138,8 @@ public function testPositiveCase($customerId, $createdAt, $token, $isActive, $me ->method('getVaultPaymentToken') ->willReturn($this->paymentTokenMock); + $this->salesOrderPaymentMock->method('getAdditionalInformation')->willReturn($additionalInformation); + if (!empty($token)) { $this->paymentTokenManagementMock->expects($this->once()) ->method('saveTokenWithPaymentLink') @@ -158,6 +162,7 @@ public function testPositiveCase($customerId, $createdAt, $token, $isActive, $me static::assertEquals($token, $paymentToken->getGatewayToken()); static::assertEquals($isActive, $paymentToken->getIsActive()); static::assertEquals($createdAt, $paymentToken->getCreatedAt()); + static::assertEquals($additionalInformation[VaultConfigProvider::IS_ACTIVE_CODE] ?? false, $paymentToken->getIsVisible()); } /** @@ -171,14 +176,32 @@ public function positiveCaseDataProvider() '10\20\2015', 'asdfg', true, - 'paypal' + 'paypal', + [], + ], + [ + 1, + '10\20\2015', + 'asdfg', + true, + 'paypal', + [VaultConfigProvider::IS_ACTIVE_CODE => true], + ], + [ + 1, + '10\20\2015', + 'asdfg', + true, + 'paypal', + [VaultConfigProvider::IS_ACTIVE_CODE => false], ], [ null, null, null, false, - null + null, + [], ], ]; } From d93a9b5c3a01946e29bf87ffea635a45d9bea289 Mon Sep 17 00:00:00 2001 From: Patrick McLain Date: Thu, 27 Dec 2018 12:47:06 -0500 Subject: [PATCH 02/13] Shorten variable name to make codacy happy --- .../Test/Unit/Observer/AfterPaymentSaveObserverTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php index a6b8502f66a1b..539a4b5c38b34 100644 --- a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php +++ b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php @@ -123,10 +123,10 @@ protected function setUp() * @param string $token * @param bool $isActive * @param string $method - * @param array $additionalInformation + * @param array $additionalInfo * @dataProvider positiveCaseDataProvider */ - public function testPositiveCase($customerId, $createdAt, $token, $isActive, $method, $additionalInformation) + public function testPositiveCase($customerId, $createdAt, $token, $isActive, $method, $additionalInfo) { $this->paymentTokenMock->setGatewayToken($token); $this->paymentTokenMock->setCustomerId($customerId); @@ -138,7 +138,7 @@ public function testPositiveCase($customerId, $createdAt, $token, $isActive, $me ->method('getVaultPaymentToken') ->willReturn($this->paymentTokenMock); - $this->salesOrderPaymentMock->method('getAdditionalInformation')->willReturn($additionalInformation); + $this->salesOrderPaymentMock->method('getAdditionalInformation')->willReturn($additionalInfo); if (!empty($token)) { $this->paymentTokenManagementMock->expects($this->once()) @@ -162,7 +162,7 @@ public function testPositiveCase($customerId, $createdAt, $token, $isActive, $me static::assertEquals($token, $paymentToken->getGatewayToken()); static::assertEquals($isActive, $paymentToken->getIsActive()); static::assertEquals($createdAt, $paymentToken->getCreatedAt()); - static::assertEquals($additionalInformation[VaultConfigProvider::IS_ACTIVE_CODE] ?? false, $paymentToken->getIsVisible()); + static::assertEquals($additionalInfo[VaultConfigProvider::IS_ACTIVE_CODE] ?? false, $paymentToken->getIsVisible()); } /** From 8ea824edd0376a2dc77e2e1cf89fb0d2a8271ce5 Mon Sep 17 00:00:00 2001 From: Ihor Sviziev Date: Thu, 14 Mar 2019 12:54:55 +0200 Subject: [PATCH 03/13] Custom option type select - Allow modify list of single selection option types --- .../Model/Product/Option/Type/Select.php | 20 +++++++++++++------ app/code/Magento/Catalog/etc/di.xml | 8 ++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) 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 d88dd58362896..ca506fd451fb3 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php @@ -30,23 +30,35 @@ class Select extends \Magento\Catalog\Model\Product\Option\Type\DefaultType */ protected $string; + /** + * @var array + */ + private $singleSelectionTypes; + /** * @param \Magento\Checkout\Model\Session $checkoutSession * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig * @param \Magento\Framework\Stdlib\StringUtils $string * @param \Magento\Framework\Escaper $escaper * @param array $data + * @param array $singleSelectionTypes */ public function __construct( \Magento\Checkout\Model\Session $checkoutSession, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\Escaper $escaper, - array $data = [] + array $data = [], + array $singleSelectionTypes = [] ) { $this->string = $string; $this->_escaper = $escaper; parent::__construct($checkoutSession, $scopeConfig, $data); + + $this->singleSelectionTypes = $singleSelectionTypes ?: [ + \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN, + \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO, + ]; } /** @@ -310,10 +322,6 @@ public function getOptionSku($optionValue, $skuDelimiter) */ protected function _isSingleSelection() { - $single = [ - \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN, - \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO, - ]; - return in_array($this->getOption()->getType(), $single); + return in_array($this->getOption()->getType(), $this->singleSelectionTypes, true); } } diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index 7d2c3699ee2c2..1ece6b999111d 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -1164,4 +1164,12 @@ + + + + Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN + Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO + + + From 48e9760fb83d9c8136753814c9d913bf77cf940f Mon Sep 17 00:00:00 2001 From: RomanKis Date: Thu, 28 Mar 2019 10:21:37 +0200 Subject: [PATCH 04/13] #21473 Form element validation is not triggered when validation rules change --- app/code/Magento/Ui/view/base/web/js/form/element/abstract.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js b/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js index ca3d383accca1..9fac2c5adfbb3 100755 --- a/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js +++ b/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js @@ -296,7 +296,7 @@ define([ this.validation[rule] = options; } - changed = utils.compare(rules, this.validation).equal; + changed = !(utils.compare(rules, this.validation).equal); if (changed) { this.required(!!rules['required-entry']); From d3e37b826ec887353e328e699780c32bdf9ef2e1 Mon Sep 17 00:00:00 2001 From: RomanKis Date: Mon, 1 Apr 2019 12:37:59 +0300 Subject: [PATCH 05/13] #21473 Form element validation is not triggered when validation rules change --- app/code/Magento/Ui/view/base/web/js/form/element/abstract.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js b/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js index 9fac2c5adfbb3..c7fab7da4567e 100755 --- a/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js +++ b/app/code/Magento/Ui/view/base/web/js/form/element/abstract.js @@ -296,7 +296,7 @@ define([ this.validation[rule] = options; } - changed = !(utils.compare(rules, this.validation).equal); + changed = !utils.compare(rules, this.validation).equal; if (changed) { this.required(!!rules['required-entry']); From 996cb1a70e25b663d8e3ee587649512fa3fa3139 Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Fri, 12 Apr 2019 15:44:42 +0300 Subject: [PATCH 06/13] Fix static tests. --- app/code/Magento/Catalog/Model/Product/Option/Type/Select.php | 2 ++ 1 file changed, 2 insertions(+) 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 ca506fd451fb3..9c4a917926b59 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php @@ -10,6 +10,8 @@ /** * Catalog product option select type + * + * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) */ class Select extends \Magento\Catalog\Model\Product\Option\Type\DefaultType { From 03cfa3706f6fb3c48a926f7ed8b19334bb1992f4 Mon Sep 17 00:00:00 2001 From: Ihor Sviziev Date: Wed, 17 Apr 2019 17:12:38 +0300 Subject: [PATCH 07/13] Custom option type select - Allow modify list of single selection options type Make associative array as a default value in constructor --- app/code/Magento/Catalog/Model/Product/Option/Type/Select.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 9c4a917926b59..31e178f0bd9b4 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Type/Select.php @@ -58,8 +58,8 @@ public function __construct( parent::__construct($checkoutSession, $scopeConfig, $data); $this->singleSelectionTypes = $singleSelectionTypes ?: [ - \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN, - \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO, + 'drop_down' => \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN, + 'radio' => \Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO, ]; } From a69e9e9cc7daddca58c4b0575a116fec3f0fed93 Mon Sep 17 00:00:00 2001 From: Justin Liotta <6843459+justin-at-bounteous@users.noreply.github.com> Date: Wed, 1 May 2019 09:49:07 -0400 Subject: [PATCH 08/13] Update credit-card-number-validator.js - Remove: erroneous leading alternation, preventing space characters from being replaced - Add: replace each contiguous string of space characters, for good measure --- .../credit-card-validation/credit-card-number-validator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Payment/view/base/web/js/model/credit-card-validation/credit-card-number-validator.js b/app/code/Magento/Payment/view/base/web/js/model/credit-card-validation/credit-card-number-validator.js index 785b636d5832f..b459b3598a857 100644 --- a/app/code/Magento/Payment/view/base/web/js/model/credit-card-validation/credit-card-number-validator.js +++ b/app/code/Magento/Payment/view/base/web/js/model/credit-card-validation/credit-card-number-validator.js @@ -36,7 +36,7 @@ define([ return resultWrapper(null, false, false); } - value = value.replace(/|\s/g, ''); + value = value.replace(/\s+/g, ''); if (!/^\d*$/.test(value)) { return resultWrapper(null, false, false); From 093af61ea5db9f2c052d85f26d097aea19ec492a Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Fri, 3 May 2019 12:44:04 +0300 Subject: [PATCH 09/13] Fix static tests. --- .../Magento/Vault/Observer/AfterPaymentSaveObserver.php | 2 +- .../Test/Unit/Observer/AfterPaymentSaveObserverTest.php | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php b/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php index 00aee961d8d3f..14b7cc6c726bb 100644 --- a/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php +++ b/app/code/Magento/Vault/Observer/AfterPaymentSaveObserver.php @@ -113,7 +113,7 @@ protected function generatePublicHash(PaymentTokenInterface $paymentToken) /** * Reads Payment token from Order Payment * - * @param OrderPaymentExtensionInterface | null $extensionAttributes + * @param OrderPaymentExtensionInterface|null $extensionAttributes * @return PaymentTokenInterface | null */ protected function getPaymentToken(OrderPaymentExtensionInterface $extensionAttributes = null) diff --git a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php index 539a4b5c38b34..2ae16e186030d 100644 --- a/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php +++ b/app/code/Magento/Vault/Test/Unit/Observer/AfterPaymentSaveObserverTest.php @@ -3,6 +3,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + namespace Magento\Vault\Test\Unit\Observer; use Magento\Framework\App\DeploymentConfig; @@ -19,6 +20,9 @@ use Magento\Vault\Observer\AfterPaymentSaveObserver; use PHPUnit_Framework_MockObject_MockObject as MockObject; +/** + * Tests for AfterPaymentSaveObserver. + */ class AfterPaymentSaveObserverTest extends \PHPUnit\Framework\TestCase { /** @@ -162,7 +166,10 @@ public function testPositiveCase($customerId, $createdAt, $token, $isActive, $me static::assertEquals($token, $paymentToken->getGatewayToken()); static::assertEquals($isActive, $paymentToken->getIsActive()); static::assertEquals($createdAt, $paymentToken->getCreatedAt()); - static::assertEquals($additionalInfo[VaultConfigProvider::IS_ACTIVE_CODE] ?? false, $paymentToken->getIsVisible()); + static::assertEquals( + $additionalInfo[VaultConfigProvider::IS_ACTIVE_CODE] ?? false, + $paymentToken->getIsVisible() + ); } /** From df3047bfc17f96ce37f0f9106dcf1b4eed2b5790 Mon Sep 17 00:00:00 2001 From: Vishal Sutariya Date: Sat, 4 May 2019 11:04:41 +0530 Subject: [PATCH 10/13] Fixed typo issue and added missing header in customer sales order grid --- app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php | 4 ++-- app/code/Magento/Customer/i18n/en_US.csv | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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 2fb59ec767e8a..3d4ccb789dc72 100644 --- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php +++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php @@ -107,7 +107,7 @@ protected function _prepareCollection() */ protected function _prepareColumns() { - $this->addColumn('increment_id', ['header' => __('Order'), 'width' => '100', 'index' => 'increment_id']); + $this->addColumn('increment_id', ['header' => __('Order #'), 'width' => '100', 'index' => 'increment_id']); $this->addColumn( 'created_at', @@ -140,7 +140,7 @@ protected function _prepareColumns() $this->addColumn( 'action', [ - 'header' => ' ', + 'header' => 'Action', 'filter' => false, 'sortable' => false, 'width' => '100px', diff --git a/app/code/Magento/Customer/i18n/en_US.csv b/app/code/Magento/Customer/i18n/en_US.csv index 578267984f985..e1c68f3d81e9d 100644 --- a/app/code/Magento/Customer/i18n/en_US.csv +++ b/app/code/Magento/Customer/i18n/en_US.csv @@ -47,7 +47,7 @@ Sending,Sending Paused,Paused View,View Unknown,Unknown -Order,Order +"Order #","Order #" Purchased,Purchased "Bill-to Name","Bill-to Name" "Ship-to Name","Ship-to Name" From 1ae8bf536dc6174e5d810ef7c82864b6134cf376 Mon Sep 17 00:00:00 2001 From: Arvinda kumar Date: Sat, 4 May 2019 12:32:40 +0530 Subject: [PATCH 11/13] issue #22647 fixed issue #22647 fixed --- .../Magento/luma/Magento_Theme/web/css/source/_module.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/design/frontend/Magento/luma/Magento_Theme/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_Theme/web/css/source/_module.less index dfcc51e0a0a26..b841f2206e1d9 100644 --- a/app/design/frontend/Magento/luma/Magento_Theme/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_Theme/web/css/source/_module.less @@ -80,7 +80,7 @@ .page-main { > .page-title-wrapper { .page-title { - word-break: break-all; + hyphens: auto; } } } From fbcfd11559def0891e829746a75ff5df2db438ee Mon Sep 17 00:00:00 2001 From: Satya Prakash Date: Sat, 4 May 2019 16:41:52 +0530 Subject: [PATCH 12/13] Fixed:#22395 Fixed #22395: config:set -le and -lc short form options don't work --- app/code/Magento/Config/Console/Command/ConfigSetCommand.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Config/Console/Command/ConfigSetCommand.php b/app/code/Magento/Config/Console/Command/ConfigSetCommand.php index cb79daddbf5f9..2e76e717ba36b 100644 --- a/app/code/Magento/Config/Console/Command/ConfigSetCommand.php +++ b/app/code/Magento/Config/Console/Command/ConfigSetCommand.php @@ -114,13 +114,13 @@ protected function configure() ), new InputOption( static::OPTION_LOCK_ENV, - 'le', + 'e', InputOption::VALUE_NONE, 'Lock value which prevents modification in the Admin (will be saved in app/etc/env.php)' ), new InputOption( static::OPTION_LOCK_CONFIG, - 'lc', + 'c', InputOption::VALUE_NONE, 'Lock and share value with other installations, prevents modification in the Admin ' . '(will be saved in app/etc/config.php)' From 62cbf5b9d9443cd4b2dbdbef18d188b58888124c Mon Sep 17 00:00:00 2001 From: Nazarn96 Date: Tue, 7 May 2019 10:27:21 +0300 Subject: [PATCH 13/13] magento/magento2#22720 static-test-fix --- app/code/Magento/Config/Console/Command/ConfigSetCommand.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Config/Console/Command/ConfigSetCommand.php b/app/code/Magento/Config/Console/Command/ConfigSetCommand.php index 2e76e717ba36b..999d8e41af5bc 100644 --- a/app/code/Magento/Config/Console/Command/ConfigSetCommand.php +++ b/app/code/Magento/Config/Console/Command/ConfigSetCommand.php @@ -139,8 +139,10 @@ protected function configure() /** * Creates and run appropriate processor, depending on input options. * - * {@inheritdoc} + * @param InputInterface $input + * @param OutputInterface $output * @since 100.2.0 + * @return int|null */ protected function execute(InputInterface $input, OutputInterface $output) {