Skip to content

Commit db1e00e

Browse files
committed
fix converter type & code format
1 parent a32ef06 commit db1e00e

File tree

6 files changed

+37
-7
lines changed

6 files changed

+37
-7
lines changed

Model/Config/DocumentType/Converter.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@ public function convert($source): array
3333
}
3434

3535
$documentTypes = [];
36+
$defaultConverter = $this->nodeConverters['default'];
3637

3738
/** @var DOMElement $documentType */
3839
foreach ($source->getElementsByTagName('documentType') as $documentType) {
3940
$data = [];
4041
/** @var DOMNode $node */
4142
foreach ($documentType->childNodes as $node) {
42-
$data[SimpleDataObjectConverter::camelCaseToSnakeCase($node->nodeName)] = $this->convertNode($node);
43+
$converter = $this->nodeConverters[$node->nodeName] ?? $defaultConverter;
44+
$data[SimpleDataObjectConverter::camelCaseToSnakeCase($node->nodeName)] = $converter->convert($node);
4345
}
4446

4547
$data['code'] = $documentType->getAttribute('code');
@@ -48,9 +50,4 @@ public function convert($source): array
4850

4951
return $documentTypes;
5052
}
51-
52-
private function convertNode(DOMNode $node): string
53-
{
54-
return ($this->nodeConverters[$node->nodeName] ?? $this->nodeConverters['default'])->convert($node);
55-
}
5653
}

Model/Config/DocumentType/Converter/NodeConverterInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111

1212
interface NodeConverterInterface
1313
{
14-
public function convert(DOMNode $node): string;
14+
public function convert(DOMNode $node);
1515
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
/**
3+
* Copyright © OpenGento, All rights reserved.
4+
* See LICENSE bundled with this library for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Opengento\Document\Model\Config\DocumentType\Converter;
9+
10+
use DOMNode;
11+
use Magento\Framework\Stdlib\BooleanUtils;
12+
13+
final class ScheduledImportConverter implements NodeConverterInterface
14+
{
15+
/**
16+
* @var BooleanUtils
17+
*/
18+
private $booleanUtils;
19+
20+
public function __construct(
21+
BooleanUtils $booleanUtils
22+
) {
23+
$this->booleanUtils = $booleanUtils;
24+
}
25+
26+
public function convert(DOMNode $node): bool
27+
{
28+
return $this->booleanUtils->toBoolean($node->nodeValue);
29+
}
30+
}

etc/di.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
<arguments>
209209
<argument name="nodeConverters" xsi:type="array">
210210
<item name="default" xsi:type="object">Opengento\Document\Model\Config\DocumentType\Converter\NodeConverter</item>
211+
<item name="scheduledImport" xsi:type="object">Opengento\Document\Model\Config\DocumentType\Converter\ScheduledImportConverter</item>
211212
<item name="fileAllowedExtensionsComplex" xsi:type="object">Opengento\Document\Model\Config\DocumentType\Converter\FileAllowedExtensionsConverter</item>
212213
</argument>
213214
</arguments>

view/adminhtml/ui_component/document_form.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<visible>true</visible>
7676
<validation>
7777
<rule name="required-entry" xsi:type="boolean">true</rule>
78+
<rule name="validate-identifier" xsi:type="boolean">true</rule>
7879
</validation>
7980
<dataScope>code</dataScope>
8081
</settings>

view/adminhtml/ui_component/document_type_form.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
<visible>true</visible>
5858
<validation>
5959
<rule name="required-entry" xsi:type="boolean">true</rule>
60+
<rule name="validate-identifier" xsi:type="boolean">true</rule>
6061
</validation>
6162
<dataScope>code</dataScope>
6263
</settings>

0 commit comments

Comments
 (0)