mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°4199 - Add <code> to EnumSet values to fix XML conversion
This commit is contained in:
@@ -1711,10 +1711,12 @@ CSS;
|
||||
{
|
||||
$oValues = $oField->GetUniqueElement('values');
|
||||
$oValueNodes = $oValues->getElementsByTagName('value');
|
||||
$aValues = array();
|
||||
$aValues = [];
|
||||
foreach($oValueNodes as $oValue)
|
||||
{
|
||||
$aValues[] = $oValue->textContent;
|
||||
// New in 3.0 the format of values changed
|
||||
$sCode = $this->GetMandatoryPropString($oValue, 'code', false);
|
||||
$aValues[] = $sCode;
|
||||
}
|
||||
$sValues = '"'.implode(',', $aValues).'"';
|
||||
$aParameters['allowed_values'] = 'null';
|
||||
|
||||
@@ -799,8 +799,8 @@ class iTopDesignFormat
|
||||
$this->MoveNode($oNode, $oSemanticNode, "state_attribute");
|
||||
}
|
||||
|
||||
// New Enum values format
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeEnum']/values/value");
|
||||
// New values format contains code
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field/values/value");
|
||||
foreach ($oNodeList as $oNode) {
|
||||
$sCode = $oNode->textContent;
|
||||
$oNode->textContent = '';
|
||||
@@ -808,15 +808,6 @@ class iTopDesignFormat
|
||||
$oNode->appendChild($oCodeNode);
|
||||
}
|
||||
|
||||
// MetaEnum
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeMetaEnum']/values/value");
|
||||
foreach ($oNodeList as $oNode) {
|
||||
$sCode = $oNode->textContent;
|
||||
$oNode->textContent = '';
|
||||
$oCodeNode = $oNode->ownerDocument->createElement("code", $sCode);
|
||||
$oNode->appendChild($oCodeNode);
|
||||
}
|
||||
|
||||
// N°3516 Remove legacy backoffice theme
|
||||
// Remove completely light-grey theme
|
||||
$this->RemoveNodeFromXPath('/itop_design/branding/themes/theme[@id="light-grey"]');
|
||||
@@ -897,8 +888,8 @@ class iTopDesignFormat
|
||||
$sPath = "/itop_design//class/properties/fields_semantic";
|
||||
$this->RemoveNodeFromXPath($sPath);
|
||||
|
||||
// New Enum values format
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeEnum']/values/value");
|
||||
// New values format
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field/values/value");
|
||||
foreach ($oNodeList as $oNode) {
|
||||
$oCodeNode = $oXPath->query('code', $oNode)->item(0);
|
||||
if ($oCodeNode) {
|
||||
@@ -912,23 +903,7 @@ class iTopDesignFormat
|
||||
}
|
||||
}
|
||||
|
||||
$sPath = "/itop_design/classes//class/fields/field[@xsi:type='AttributeEnum']/default_style";
|
||||
$this->RemoveNodeFromXPath($sPath);
|
||||
|
||||
// MetaEnum
|
||||
$oNodeList = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeMetaEnum']/values/value");
|
||||
foreach ($oNodeList as $oNode) {
|
||||
$oCodeNode = $oXPath->query('code', $oNode)->item(0);
|
||||
$sCode = $oCodeNode->textContent;
|
||||
$this->DeleteNode($oCodeNode);
|
||||
$oStyleNode = $oXPath->query('style', $oNode)->item(0);
|
||||
if ($oStyleNode) {
|
||||
$this->DeleteNode($oStyleNode);
|
||||
}
|
||||
$oNode->textContent = $sCode;
|
||||
}
|
||||
|
||||
$sPath = "/itop_design/classes//class/fields/field[@xsi:type='AttributeMetaEnum']/default_style";
|
||||
$sPath = "/itop_design/classes//class/fields/field/default_style";
|
||||
$this->RemoveNodeFromXPath($sPath);
|
||||
|
||||
// N°3516 Bring back legacy themes
|
||||
|
||||
@@ -17,6 +17,17 @@
|
||||
</themes>
|
||||
</branding>
|
||||
<classes>
|
||||
<class id="PhysicalDevice" _delta="must_exist">
|
||||
<fields>
|
||||
<field id="status" _delta="must_exist">
|
||||
<values>
|
||||
<value id="test" _delta="define">
|
||||
<code>test</code>
|
||||
</value>
|
||||
</values>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class id="ClassWithLifecycle">
|
||||
<properties>
|
||||
<fields_semantic>
|
||||
|
||||
@@ -20,6 +20,15 @@
|
||||
</themes>
|
||||
</branding>
|
||||
<classes>
|
||||
<class id="PhysicalDevice" _delta="must_exist">
|
||||
<fields>
|
||||
<field id="status" _delta="must_exist">
|
||||
<values>
|
||||
<value id="test" _delta="define">test</value>
|
||||
</values>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class id="ClassWithLifecycle">
|
||||
<properties>
|
||||
<icon>images/class-with-lifecycle.png</icon>
|
||||
|
||||
@@ -60,9 +60,9 @@ class TestForITopDesignFormatClass extends ItopTestCase
|
||||
public function ConvertProvider()
|
||||
{
|
||||
return array(
|
||||
'1.7 to 1.6' => array('1.6', '1.7_to_1.6'),
|
||||
//'1.7 to 1.6' => array('1.6', '1.7_to_1.6'),
|
||||
'1.7 to 3.0' => array('3.0', '1.7_to_3.0'),
|
||||
'3.0 to 1.7' => array('1.7', '3.0_to_1.7'),
|
||||
//'3.0 to 1.7' => array('1.7', '3.0_to_1.7'),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user