File tree Expand file tree Collapse file tree 6 files changed +37
-7
lines changed
Model/Config/DocumentType
view/adminhtml/ui_component Expand file tree Collapse file tree 6 files changed +37
-7
lines changed Original file line number Diff line number Diff line change @@ -33,13 +33,15 @@ public function convert($source): array
33
33
}
34
34
35
35
$ documentTypes = [];
36
+ $ defaultConverter = $ this ->nodeConverters ['default ' ];
36
37
37
38
/** @var DOMElement $documentType */
38
39
foreach ($ source ->getElementsByTagName ('documentType ' ) as $ documentType ) {
39
40
$ data = [];
40
41
/** @var DOMNode $node */
41
42
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 );
43
45
}
44
46
45
47
$ data ['code ' ] = $ documentType ->getAttribute ('code ' );
@@ -48,9 +50,4 @@ public function convert($source): array
48
50
49
51
return $ documentTypes ;
50
52
}
51
-
52
- private function convertNode (DOMNode $ node ): string
53
- {
54
- return ($ this ->nodeConverters [$ node ->nodeName ] ?? $ this ->nodeConverters ['default ' ])->convert ($ node );
55
- }
56
53
}
Original file line number Diff line number Diff line change 11
11
12
12
interface NodeConverterInterface
13
13
{
14
- public function convert (DOMNode $ node ): string ;
14
+ public function convert (DOMNode $ node );
15
15
}
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change 208
208
<arguments >
209
209
<argument name =" nodeConverters" xsi : type =" array" >
210
210
<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 >
211
212
<item name =" fileAllowedExtensionsComplex" xsi : type =" object" >Opengento\Document\Model\Config\DocumentType\Converter\FileAllowedExtensionsConverter</item >
212
213
</argument >
213
214
</arguments >
Original file line number Diff line number Diff line change 75
75
<visible >true</visible >
76
76
<validation >
77
77
<rule name =" required-entry" xsi : type =" boolean" >true</rule >
78
+ <rule name =" validate-identifier" xsi : type =" boolean" >true</rule >
78
79
</validation >
79
80
<dataScope >code</dataScope >
80
81
</settings >
Original file line number Diff line number Diff line change 57
57
<visible >true</visible >
58
58
<validation >
59
59
<rule name =" required-entry" xsi : type =" boolean" >true</rule >
60
+ <rule name =" validate-identifier" xsi : type =" boolean" >true</rule >
60
61
</validation >
61
62
<dataScope >code</dataScope >
62
63
</settings >
You can’t perform that action at this time.
0 commit comments