N°2982 - Branding: Theme imports with no xsi:type are ignored

This commit is contained in:
Molkobain
2021-05-17 17:51:08 +02:00
parent 186ef1689e
commit 1128490d47
3 changed files with 13 additions and 15 deletions

View File

@@ -2836,24 +2836,22 @@ EOF;
/** @var \DOMNodeList $oVariables */
$oVariables = $oTheme->GetNodes('variables/variable');
foreach($oVariables as $oVariable)
{
foreach ($oVariables as $oVariable) {
$sVariableId = $oVariable->getAttribute('id');
$aThemeParameters['variables'][$sVariableId] = $oVariable->GetText();
}
/** @var \DOMNodeList $oImports */
$oImports = $oTheme->GetNodes('imports/import');
foreach($oImports as $oImport)
{
foreach ($oImports as $oImport) {
$sImportId = $oImport->getAttribute('id');
if($oImport->getAttribute('xsi:type') === 'variables')
{
$sImportType = $oImport->getAttribute('xsi:type');
if ($sImportType === 'variables') {
$aThemeParameters['variable_imports'][$sImportId] = $oImport->GetText();
}
else
{
} elseif ($sImportType === 'utilities') {
$aThemeParameters['utility_imports'][$sImportId] = $oImport->GetText();
} else {
SetupLog::Warning('CompileThemes: Theme #'.$sThemeId.' has an import (#'.$sImportId.') without explicit xsi:type, it will be ignored. Check Datamodel XML Reference to fix it.');
}
}

View File

@@ -173,11 +173,11 @@ class MFCompilerTest extends ItopTestCase {
'ibo-page-banner--text-color' => '$ibo-color-red-100',
'ibo-page-banner--text-content' => '"THIS IS A TEST INSTANCE"',
],
'variable_imports' => [ 'style2' => 'style2.scss'],
'utility_imports' => [ 'style1' => 'style1.scss', 'style3' => 'style3.scss'],
'variable_imports' => ['ok-because-xsi-type-variables' => 'ok-because-xsi-type-variables.scss'],
'utility_imports' => ['ok-because-xsi-type-utilities' => 'ok-because-xsi-type-utilities.scss'],
'stylesheets' => [
"fullmoon" => '../css/backoffice/main.scss',
"environment-banner" => '../css/backoffice/themes/page-banner.scss'
"environment-banner" => '../css/backoffice/themes/page-banner.scss',
],
];

View File

@@ -9,9 +9,9 @@
<variable id="ibo-page-banner--text-content">"THIS IS A TEST INSTANCE"</variable>
</variables>
<imports>
<import id="style1">style1.scss</import>
<import id="style2" xsi:type="variables">style2.scss</import>
<import id="style3" xsi:type="utilities">style3.scss</import>
<import id="ignored-because-lack-xsi-type">ignored-because-lack-xsi-type.scss</import>
<import id="ok-because-xsi-type-variables" xsi:type="variables">ok-because-xsi-type-variables.scss</import>
<import id="ok-because-xsi-type-utilities" xsi:type="utilities">ok-because-xsi-type-utilities.scss</import>
</imports>
<stylesheets>
<stylesheet id="fullmoon">../css/backoffice/main.scss</stylesheet>