Skip to content

Commit 0eaee53

Browse files
[Magento Community Engineering] Community Contributions - 2.3-develop-prs
- merged with '2.3-develop-expedited-prs' branch
2 parents 02e4b19 + f72c6ea commit 0eaee53

File tree

6 files changed

+115
-11
lines changed

6 files changed

+115
-11
lines changed

app/code/Magento/Customer/view/adminhtml/templates/system/config/validatevat.phtml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@ require(['prototype'], function(){
2828
result = response.message;
2929
}
3030
if (response.valid == 1) {
31-
validationMessage.removeClassName('hidden').addClassName('success')
31+
validationMessage.removeClassName('hidden').removeClassName('admin__field-error').addClassName('note');
32+
validationMessage.setStyle({color:'green'});
3233
} else {
33-
validationMessage.removeClassName('hidden').addClassName('error')
34+
validationMessage.removeClassName('hidden').addClassName('admin__field-error');
3435
}
3536
} catch (e) {
36-
validationMessage.removeClassName('hidden').addClassName('error')
37+
validationMessage.removeClassName('hidden').addClassName('admin__field-error');
3738
}
3839
validationMessage.update(result);
3940
}
@@ -46,8 +47,9 @@ require(['prototype'], function(){
4647
});
4748
</script>
4849
<div class="actions actions-validate-vat">
49-
<div id="validation_result" class="message-validation hidden"></div>
50+
<p class="admin__field-error hidden" id="validation_result" style="margin-bottom:10px;"></p>
5051
<button onclick="javascript:validateVat(); return false;" class="action-validate-vat" type="button" id="<?= $block->escapeHtmlAttr($block->getHtmlId()) ?>">
5152
<span><?= $block->escapeHtml($block->getButtonLabel()) ?></span>
5253
</button>
5354
</div>
55+

app/code/Magento/EncryptionKey/Block/Adminhtml/Crypt/Key/Form.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\EncryptionKey\Block\Adminhtml\Crypt\Key;
79

810
/**
@@ -53,7 +55,14 @@ protected function _prepareForm()
5355
$fieldset->addField(
5456
'crypt_key',
5557
'text',
56-
['name' => 'crypt_key', 'label' => __('New Key'), 'style' => 'width:32em;', 'maxlength' => 32]
58+
[
59+
'name' => 'crypt_key',
60+
'label' => __('New Key'),
61+
'style' => 'width:32em;',
62+
'maxlength' => 32,
63+
'required' => true,
64+
'class' => 'required-entry'
65+
]
5766
);
5867
$form->setUseContainer(true);
5968
if ($data = $this->getFormData()) {

app/code/Magento/MediaStorage/Model/ResourceModel/File/Storage/Database.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,14 @@ public function deleteFolder($folderName = '')
341341
return;
342342
}
343343

344-
$likeExpression = $this->_resourceHelper->addLikeEscape($folderName . '/', ['position' => 'start']);
345344
$this->getConnection()->delete(
346345
$this->getMainTable(),
347-
new \Zend_Db_Expr('filename LIKE ' . $likeExpression)
346+
new \Zend_Db_Expr(
347+
'directory LIKE ' .
348+
$this->_resourceHelper->addLikeEscape($folderName . '/', ['position' => 'start'])
349+
. ' ' . \Magento\Framework\DB\Select::SQL_OR . ' ' .
350+
$this->getConnection()->prepareSqlCondition('directory', ['seq' => $folderName])
351+
)
348352
);
349353
}
350354

app/code/Magento/SendFriend/Model/SendFriend.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\SendFriend\Model;
79

810
use Magento\Framework\Exception\LocalizedException as CoreException;
@@ -193,8 +195,11 @@ public function send()
193195
'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
194196
'store' => $this->_storeManager->getStore()->getId(),
195197
]
196-
)->setFrom(
197-
$sender
198+
)->setFromByScope(
199+
'general'
200+
)->setReplyTo(
201+
$sender['email'],
202+
$sender['name']
198203
)->setTemplateVars(
199204
[
200205
'name' => $name,
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\MediaStorage\Helper\File\Storage;
7+
8+
use Magento\Framework\ObjectManagerInterface;
9+
use Magento\TestFramework\Helper\Bootstrap;
10+
use Magento\Framework\Filesystem\Directory\WriteInterface;
11+
use Magento\Framework\Filesystem;
12+
use Magento\Framework\App\Filesystem\DirectoryList;
13+
14+
/**
15+
* Integration tests for Magento\MediaStorage\Helper\File\Storage\Database
16+
*/
17+
class DatabaseTest extends \PHPUnit\Framework\TestCase
18+
{
19+
/**
20+
* @var ObjectManagerInterface
21+
*/
22+
private $objectManager;
23+
24+
/**
25+
* @var Database
26+
*/
27+
private $databaseHelper;
28+
29+
/**
30+
* @var WriteInterface
31+
*/
32+
private $mediaDirectory;
33+
34+
/**
35+
* @var Filesystem
36+
*/
37+
private $filesystem;
38+
39+
/**
40+
* @inheritDoc
41+
*/
42+
protected function setUp()
43+
{
44+
parent::setUp();
45+
$this->objectManager = Bootstrap::getObjectManager();
46+
$this->filesystem = $this->objectManager->get(Filesystem::class);
47+
$this->mediaDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::MEDIA);
48+
}
49+
50+
/**
51+
* test for \Magento\MediaStorage\Model\File\Storage\Database::deleteFolder()
52+
*
53+
* @magentoDataFixture Magento/MediaStorage/_files/database_mode.php
54+
*/
55+
public function testDeleteFolder()
56+
{
57+
$this->databaseHelper = $this->objectManager->get(
58+
Database::class
59+
);
60+
61+
$filenames = [
62+
'test1/test2/test3/test4.dat',
63+
'test1/test2/test3/test4a.dat',
64+
'test5/test6/test7.dat',
65+
'test5/test6a/test7a.dat',
66+
'test8/test9.dat'
67+
];
68+
69+
foreach ($filenames as $filename) {
70+
$this->mediaDirectory->writeFile($filename, '');
71+
$this->databaseHelper->saveFile($filename);
72+
$this->assertEquals(true, $this->databaseHelper->fileExists($filename));
73+
}
74+
75+
$this->databaseHelper->deleteFolder('test1/test2/test3');
76+
$this->databaseHelper->deleteFolder('test5');
77+
$this->databaseHelper->deleteFolder('test8');
78+
79+
foreach ($filenames as $filename) {
80+
$this->assertEquals(false, $this->databaseHelper->fileExists($filename));
81+
$this->mediaDirectory->delete($filename);
82+
}
83+
}
84+
}

dev/tests/integration/testsuite/Magento/MediaStorage/_files/database_mode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
*/
66
declare(strict_types=1);
77

8-
/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */
8+
/** @var $objectManager \Magento\TestFramework\ObjectManager */
99
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
10+
1011
/** @var $database \Magento\MediaStorage\Helper\File\Storage\Database */
1112
$database = $objectManager->get(\Magento\MediaStorage\Helper\File\Storage\Database::class);
12-
1313
$database->getStorageDatabaseModel()->init();
1414

1515
$config = $objectManager->get(Magento\Framework\App\Config\ConfigResource\ConfigInterface::class);

0 commit comments

Comments
 (0)