diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php
index 82c9f6cba..60da9bf02 100644
--- a/core/attributedef.class.inc.php
+++ b/core/attributedef.class.inc.php
@@ -93,9 +93,6 @@ define('LINKSET_EDITMODE_ACTIONS', 2); // Show the usual 'Actions' popup menu
define('LINKSET_EDITMODE_INPLACE', 3); // The "linked" objects can be created/modified/deleted in place
define('LINKSET_EDITMODE_ADDREMOVE', 4); // The "linked" objects can be added/removed in place
-define('LINKSET_RELATIONTYPE_PROPERTY', 'property');
-define('LINKSET_RELATIONTYPE_LINK', 'link');
-
define('LINKSET_DISPLAY_STYLE_PROPERTY', 'property');
define('LINKSET_DISPLAY_STYLE_TAB', 'tab');
@@ -1697,22 +1694,12 @@ class AttributeLinkedSet extends AttributeDefinition
/**
* @return string see LINKSET_EDITMODE_* constants
- * @since 3.1.0 N°5563 relations are edited using new attributes in details mode, but as nothing changed in edit mode we are still using edit_mode attribute
*/
public function GetEditMode()
{
return $this->GetOptional('edit_mode', LINKSET_EDITMODE_ACTIONS);
}
- /**
- * @return string see LINKSET_RELATIONTYPE_* constants
- * @since 3.1.0 N°5563
- */
- public function GetRelationType()
- {
- return $this->GetOptional('relation_type', LINKSET_RELATIONTYPE_LINK);
- }
-
/**
* @return string see LINKSET_DISPLAY_STYLE_* constants
* @since 3.1.0 N°3190
@@ -1737,15 +1724,6 @@ class AttributeLinkedSet extends AttributeDefinition
return $this->GetOptional('with_php_constraint', false);
}
- /**
- * @return boolean
- * @since 3.1.0 N°5563
- */
- public function GetReadOnly()
- {
- return $this->GetOptional('read_only', false);
- }
-
public function GetLinkedClass()
{
return $this->Get('linked_class');
@@ -2604,15 +2582,6 @@ class AttributeLinkedSetIndirect extends AttributeLinkedSet
return $this->GetOptional("duplicates", false);
} // The same object may be linked several times... or not...
- /**
- * @return boolean
- * @since 3.1.0 N°5563
- */
- public function GetReadOnly()
- {
- return $this->GetOptional('read_only', false);
- }
-
public function GetTrackingLevel()
{
return $this->GetOptional('tracking_level',
diff --git a/datamodels/2.x/itop-bridge-cmdb-services/datamodel.itop-bridge-cmdb-services.xml b/datamodels/2.x/itop-bridge-cmdb-services/datamodel.itop-bridge-cmdb-services.xml
index 263af3618..0c70ff2c9 100644
--- a/datamodels/2.x/itop-bridge-cmdb-services/datamodel.itop-bridge-cmdb-services.xml
+++ b/datamodels/2.x/itop-bridge-cmdb-services/datamodel.itop-bridge-cmdb-services.xml
@@ -197,7 +197,6 @@
0
providercontract_id
- false
lnkFunctionalCIToService
@@ -206,7 +205,6 @@
0
service_id
- false
@@ -385,7 +383,6 @@
0
contract_id
- false
lnkDocumentToService
@@ -394,7 +391,6 @@
0
service_id
- false
diff --git a/datamodels/2.x/itop-bridge-cmdb-ticket/datamodel.itop-bridge-cmdb-ticket.xml b/datamodels/2.x/itop-bridge-cmdb-ticket/datamodel.itop-bridge-cmdb-ticket.xml
index 8c7e1e76e..a421d0670 100644
--- a/datamodels/2.x/itop-bridge-cmdb-ticket/datamodel.itop-bridge-cmdb-ticket.xml
+++ b/datamodels/2.x/itop-bridge-cmdb-ticket/datamodel.itop-bridge-cmdb-ticket.xml
@@ -139,7 +139,6 @@
0
ticket_id
- false
diff --git a/datamodels/2.x/itop-change-mgmt-itil/datamodel.itop-change-mgmt-itil.xml b/datamodels/2.x/itop-change-mgmt-itil/datamodel.itop-change-mgmt-itil.xml
index f99dc7162..a4388efb6 100755
--- a/datamodels/2.x/itop-change-mgmt-itil/datamodel.itop-change-mgmt-itil.xml
+++ b/datamodels/2.x/itop-change-mgmt-itil/datamodel.itop-change-mgmt-itil.xml
@@ -264,8 +264,6 @@
add_remove
0
0
- link
- false
Incident
@@ -273,8 +271,6 @@
add_remove
0
0
- link
- false
Problem
@@ -282,8 +278,6 @@
add_remove
0
0
- link
- false
Change
@@ -292,8 +286,6 @@
id]]>
0
0
- link
- false
diff --git a/datamodels/2.x/itop-change-mgmt/datamodel.itop-change-mgmt.xml b/datamodels/2.x/itop-change-mgmt/datamodel.itop-change-mgmt.xml
index f7160f92f..0e7b68d8b 100755
--- a/datamodels/2.x/itop-change-mgmt/datamodel.itop-change-mgmt.xml
+++ b/datamodels/2.x/itop-change-mgmt/datamodel.itop-change-mgmt.xml
@@ -192,8 +192,6 @@
add_remove
0
0
- link
- false
Incident
@@ -201,8 +199,6 @@
add_remove
0
0
- link
- false
Problem
@@ -210,8 +206,6 @@
add_remove
0
0
- link
- false
Change
@@ -220,8 +214,6 @@
id]]>
0
0
- link
- false
diff --git a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
index b6eb9ab2d..543f62c3c 100755
--- a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
+++ b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
@@ -84,7 +84,6 @@
0
contact_id
- false
lnkDocumentToFunctionalCI
@@ -93,7 +92,6 @@
0
document_id
- false
lnkApplicationSolutionToFunctionalCI
@@ -102,7 +100,6 @@
0
applicationsolution_id
- false
SoftwareInstance
@@ -111,8 +108,6 @@
all
0
0
- property
- false
@@ -559,7 +554,6 @@
0
networkdevice_id
true
- false
PhysicalInterface
@@ -568,8 +562,6 @@
all
0
0
- property
- false
@@ -804,8 +796,6 @@
all
0
0
- property
- false
lnkSanToDatacenterDevice
@@ -814,7 +804,6 @@
0
san_id
- false
redundancy
@@ -1036,7 +1025,6 @@
0
connectableci_id
true
- false
iosversion_id
@@ -1376,7 +1364,6 @@
0
volume_id
- false
@@ -1662,7 +1649,6 @@
0
functionalci_id
- false
lnkApplicationSolutionToBusinessProcess
@@ -1671,7 +1657,6 @@
0
businessprocess_id
- false
@@ -1840,7 +1825,6 @@
0
applicationsolution_id
- false
@@ -2185,8 +2169,6 @@
all
0
0
- property
- false
@@ -2341,8 +2323,6 @@
all
0
0
- property
- false
@@ -2497,8 +2477,6 @@
all
0
0
- property
- false
@@ -3364,7 +3342,6 @@
0
document_id
- false
label
@@ -3396,8 +3373,6 @@
add_only
0
0
- link
- false
SoftwarePatch
@@ -3405,8 +3380,6 @@
add_only
0
0
- link
- false
SoftwareLicence
@@ -3414,8 +3387,6 @@
add_only
0
0
- link
- false
@@ -3542,7 +3513,6 @@
0
document_id
- false
description
@@ -3628,7 +3598,6 @@
0
functionalci_id
- false
osversion_id
@@ -3741,7 +3710,6 @@
0
softwareinstance_id
- false
@@ -3845,7 +3813,6 @@
0
document_id
- false
org_id
@@ -4035,8 +4002,6 @@
none
0
0
- link
- true
Server
@@ -4044,8 +4009,6 @@
none
0
0
- link
- true
@@ -4197,8 +4160,6 @@
none
0
0
- link
- true
@@ -4556,8 +4517,6 @@
0
0
- link
- false
@@ -4708,8 +4667,6 @@
0
0
- link
- false
@@ -4796,8 +4753,6 @@
0
0
- link
- false
@@ -5524,7 +5479,6 @@
0
vlan_id
- false
@@ -5737,7 +5691,6 @@
0
subnet_id
- false
lnkPhysicalInterfaceToVLAN
@@ -5746,7 +5699,6 @@
0
physicalinterface_id
- false
@@ -6178,7 +6130,6 @@
0
vlan_id
- false
@@ -6977,7 +6928,6 @@
0
ci_id
- false
@@ -7186,7 +7136,6 @@
0
functionalci_id
- false
@@ -7208,8 +7157,6 @@
add_only
0
0
- link
- false
@@ -7231,7 +7178,6 @@
0
functionalci_id
- false
diff --git a/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml b/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml
index 4c9f66011..bf0566e4b 100755
--- a/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml
+++ b/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml
@@ -44,8 +44,6 @@
add_only
0
0
- link
- false
Enclosure
@@ -53,8 +51,6 @@
add_only
0
0
- link
- false
@@ -255,8 +251,6 @@
add_only
0
0
- link
- false
@@ -613,8 +607,6 @@
add_only
0
0
- link
- false
diff --git a/datamodels/2.x/itop-faq-light/datamodel.itop-faq-light.xml b/datamodels/2.x/itop-faq-light/datamodel.itop-faq-light.xml
index f66d13ebe..9ec307ae9 100755
--- a/datamodels/2.x/itop-faq-light/datamodel.itop-faq-light.xml
+++ b/datamodels/2.x/itop-faq-light/datamodel.itop-faq-light.xml
@@ -176,8 +176,6 @@
add_only
0
0
- link
- false
diff --git a/datamodels/2.x/itop-incident-mgmt-itil/datamodel.itop-incident-mgmt-itil.xml b/datamodels/2.x/itop-incident-mgmt-itil/datamodel.itop-incident-mgmt-itil.xml
index 8e1653ffd..a3918d10d 100755
--- a/datamodels/2.x/itop-incident-mgmt-itil/datamodel.itop-incident-mgmt-itil.xml
+++ b/datamodels/2.x/itop-incident-mgmt-itil/datamodel.itop-incident-mgmt-itil.xml
@@ -458,8 +458,6 @@
add_remove
0
0
- link
- false
Incident
@@ -467,8 +465,6 @@
add_remove
0
0
- link
- false
public_log
diff --git a/datamodels/2.x/itop-knownerror-mgmt/datamodel.itop-knownerror-mgmt.xml b/datamodels/2.x/itop-knownerror-mgmt/datamodel.itop-knownerror-mgmt.xml
index 104f6ce4a..45a4b4149 100755
--- a/datamodels/2.x/itop-knownerror-mgmt/datamodel.itop-knownerror-mgmt.xml
+++ b/datamodels/2.x/itop-knownerror-mgmt/datamodel.itop-knownerror-mgmt.xml
@@ -122,7 +122,6 @@
0
functionalci_id
- false
lnkDocumentToError
@@ -131,7 +130,6 @@
0
document_id
- false
diff --git a/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml b/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml
index db79a1b3d..56bab8392 100644
--- a/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml
+++ b/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml
@@ -112,8 +112,6 @@
oauth_client_id
0
0
- link
- false
diff --git a/datamodels/2.x/itop-problem-mgmt/datamodel.itop-problem-mgmt.xml b/datamodels/2.x/itop-problem-mgmt/datamodel.itop-problem-mgmt.xml
index a182bfa87..6f90a11fa 100755
--- a/datamodels/2.x/itop-problem-mgmt/datamodel.itop-problem-mgmt.xml
+++ b/datamodels/2.x/itop-problem-mgmt/datamodel.itop-problem-mgmt.xml
@@ -215,8 +215,6 @@
add_only
0
0
- link
- false
UserRequest
@@ -224,8 +222,6 @@
add_remove
0
0
- link
- false
Incident
@@ -233,8 +229,6 @@
add_remove
0
0
- link
- false
diff --git a/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml b/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml
index d564e8c04..64a60d799 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml
+++ b/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml
@@ -519,8 +519,6 @@
add_remove
0
0
- link
- false
public_log
diff --git a/datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml b/datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml
index d44c66296..29c537ae9 100755
--- a/datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml
+++ b/datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml
@@ -546,8 +546,6 @@
add_remove
0
0
- link
- false
public_log
diff --git a/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml b/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
index 3fe8114e5..7be80fb6b 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
+++ b/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
@@ -100,7 +100,6 @@
0
contact_id
- false
lnkContractToDocument
@@ -109,7 +108,6 @@
0
document_id
- false
description
@@ -439,7 +437,6 @@ public function PrefillSearchForm(&$aContextParam)
0
service_id
- false
lnkCustomerContractToFunctionalCI
@@ -448,7 +445,6 @@ public function PrefillSearchForm(&$aContextParam)
0
functionalci_id
- false
lnkCustomerContractToProviderContract
@@ -457,7 +453,6 @@ public function PrefillSearchForm(&$aContextParam)
0
providercontract_id
- false
@@ -640,7 +635,6 @@ public function PrefillSearchForm(&$aContextParam)
0
functionalci_id
- false
sla
@@ -1067,8 +1061,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
- link
- false
@@ -1180,7 +1172,6 @@ public function PrefillSearchForm(&$aContextParam)
0
document_id
- false
lnkContactToService
@@ -1189,7 +1180,6 @@ public function PrefillSearchForm(&$aContextParam)
0
contact_id
- false
rank
@@ -1227,7 +1217,6 @@ public function PrefillSearchForm(&$aContextParam)
0
customercontract_id
- false
ServiceSubcategory
@@ -1236,8 +1225,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
- link
- false
@@ -1760,7 +1747,6 @@ public function PrefillSearchForm(&$aContextParam)
0
slt_id
- false
lnkCustomerContractToService
@@ -1769,7 +1755,6 @@ public function PrefillSearchForm(&$aContextParam)
0
customercontract_id
true
- false
@@ -2506,7 +2491,6 @@ public function PrefillSearchForm(&$aContextParam)
0
contact_id
- false
Organization
@@ -2515,8 +2499,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
- link
- false
diff --git a/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml b/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
index 7b1a4bb2b..df841c842 100755
--- a/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
+++ b/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
@@ -100,7 +100,6 @@
0
contact_id
- false
lnkContractToDocument
@@ -109,7 +108,6 @@
0
document_id
- false
description
@@ -439,7 +437,6 @@ public function PrefillSearchForm(&$aContextParam)
0
service_id
- false
@@ -613,7 +610,6 @@ public function PrefillSearchForm(&$aContextParam)
0
functionalci_id
- false
sla
@@ -632,7 +628,6 @@ public function PrefillSearchForm(&$aContextParam)
0
service_id
- false
@@ -1055,8 +1050,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
- link
- false
@@ -1168,7 +1161,6 @@ public function PrefillSearchForm(&$aContextParam)
0
document_id
- false
lnkContactToService
@@ -1177,7 +1169,6 @@ public function PrefillSearchForm(&$aContextParam)
0
contact_id
- false
rank
@@ -1215,7 +1206,6 @@ public function PrefillSearchForm(&$aContextParam)
0
customercontract_id
- false
lnkProviderContractToService
@@ -1224,7 +1214,6 @@ public function PrefillSearchForm(&$aContextParam)
0
providercontract_id
- false
lnkFunctionalCIToService
@@ -1233,7 +1222,6 @@ public function PrefillSearchForm(&$aContextParam)
0
functionalci_id
- false
ServiceSubcategory
@@ -1242,8 +1230,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
- link
- false
@@ -1772,7 +1758,6 @@ public function PrefillSearchForm(&$aContextParam)
0
slt_id
- false
lnkCustomerContractToService
@@ -1780,8 +1765,6 @@ public function PrefillSearchForm(&$aContextParam)
0
0
none
- link
- true
@@ -1949,7 +1932,6 @@ public function PrefillSearchForm(&$aContextParam)
0
sla_id
- false
@@ -2442,7 +2424,6 @@ public function PrefillSearchForm(&$aContextParam)
0
contact_id
- false
Organization
@@ -2450,8 +2431,6 @@ public function PrefillSearchForm(&$aContextParam)
add_remove
0
0
- link
- false
diff --git a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
index 1dafa62a1..e1cb421d6 100644
--- a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
+++ b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
@@ -38,8 +38,6 @@
all
0
0
- property
- false
@@ -302,7 +300,6 @@
0
datacenterdevice_id
- false
@@ -562,8 +559,6 @@
all
0
0
- property
- false
@@ -823,8 +818,6 @@
all
0
0
- property
- false
@@ -1515,7 +1508,6 @@
0
server_id
- false
lnkVirtualDeviceToVolume
@@ -1524,7 +1516,6 @@
0
virtualdevice_id
- false
diff --git a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
index 1aee1ed75..6eafece7a 100644
--- a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
+++ b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
@@ -285,8 +285,6 @@
add_only
0
0
- link
- false
@@ -710,7 +708,6 @@
0
team_id
- false
User
@@ -718,8 +715,6 @@
add_only
0
0
- link
- false
@@ -1028,7 +1023,6 @@
0
person_id
- false
diff --git a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
index 7f3b746c3..1ee54b548 100755
--- a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
+++ b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
@@ -203,7 +203,6 @@
0
contact_id
- false
lnkFunctionalCIToTicket
@@ -212,15 +211,12 @@
0
functionalci_id
- false
WorkOrder
ticket_id
0
0
- link
- false
@@ -839,8 +835,6 @@
add_only
0
0
- link
- false
@@ -861,8 +855,6 @@
none
0
0
- link
- true
diff --git a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
index 269a66148..2143d896a 100644
--- a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
+++ b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
@@ -69,7 +69,6 @@
0
volume_id
- false
@@ -184,8 +183,6 @@
add_only
0
0
- link
- false
@@ -473,8 +470,6 @@
add_only
0
0
- link
- false
redundancy
@@ -676,8 +671,6 @@
all
0
0
- property
- false
managementip
diff --git a/setup/itopdesignformat.class.inc.php b/setup/itopdesignformat.class.inc.php
index ecf4be546..4894385df 100644
--- a/setup/itopdesignformat.class.inc.php
+++ b/setup/itopdesignformat.class.inc.php
@@ -1043,65 +1043,7 @@ class iTopDesignFormat
*/
protected function From30To31($oFactory)
{
- $oXPath = new DOMXPath($this->oDocument);
- // N°5563 AttributeLinkedSet
- // - move edit_mode attribute to legacy_edit_mode attribute
- // - fill relation_type & read_only if non-existing
- $oLinkedSetNodes = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeLinkedSet']");
- /** @var \DOMElement $oNode */
- foreach ($oLinkedSetNodes as $oNode) {
- $sEditMode = 'actions';
- if ($oNode->hasChildNodes()) {
- $oLinkedSetEditModeNodes = $oNode->getElementsByTagName('edit_mode');
- if (count($oLinkedSetEditModeNodes)) {
- $oEditModeNode = $oLinkedSetEditModeNodes->item(0);
- /** @noinspection NullPointerExceptionInspection already checked */
- $sEditMode = $oEditModeNode->nodeValue;
- }
-
- switch ($sEditMode) {
- case 'none':
- $sRelationType = 'link';
- $sReadOnly = 'true';
- break;
- case 'add_only':
- case 'add_remove':
- case 'actions':
- default:
- $sRelationType = 'link';
- $sReadOnly = 'false';
- break;
- case 'in_place':
- $sRelationType = 'property';
- $sReadOnly = 'false';
- break;
- }
-
- $bHasRelationType = ($oNode->getElementsByTagName('relation_type')->count() > 0);
- if (false === $bHasRelationType) {
- $oRelationTypeNode = $oNode->ownerDocument->createElement('relation_type', $sRelationType);
- $oNode->appendChild($oRelationTypeNode);
- }
-
- $bHasReadOnly = ($oNode->getElementsByTagName('read_only')->count() > 0);
- if (false === $bHasReadOnly) {
- $oReadOnlyNode = $oNode->ownerDocument->createElement('read_only', $sReadOnly);
- $oNode->appendChild($oReadOnlyNode);
- }
- }
- }
-
- // N°5563 AttributeLinkedSetIndirect
- // - fill read_only attribute if non-existing
- $oLinkedSetIndirectNodes = $oXPath->query("/itop_design/classes//class/fields/field[@xsi:type='AttributeLinkedSetIndirect']");
- foreach ($oLinkedSetIndirectNodes as $oNode) {
- $bHasReadOnly = ($oNode->getElementsByTagName('read_only')->count() > 0);
- if (false === $bHasReadOnly) {
- $oReadOnlyNode = $oNode->ownerDocument->createElement('read_only', 'false');
- $oNode->appendChild($oReadOnlyNode);
- }
- }
}
/**
* Downgrade the format from version 3.1 to 3.0
@@ -1112,16 +1054,6 @@ class iTopDesignFormat
{
$oXPath = new DOMXPath($this->oDocument);
- // N°5563 AttributeLinkedSet
- // - Remove relation_type & read_only (added in 3.1)
- // - Restore edit_mode attribute from legacy_edit_mode attribute
- $this->RemoveNodeFromXPath("/itop_design/classes//class/fields/field[@xsi:type='AttributeLinkedSet']/read_only");
- $this->RemoveNodeFromXPath("/itop_design/classes//class/fields/field[@xsi:type='AttributeLinkedSet']/relation_type");
-
- // N°5563 AttributeLinkedSetIndirect
- // - Remove read_only attribute (added in 3.1)
- $this->RemoveNodeFromXPath("/itop_design/classes//class/fields/field[@xsi:type='AttributeLinkedSetIndirect']/read_only");
-
// N°4756 - Ease extensibility for CRUD operations : Event Service
$this->RemoveNodeFromXPath('/itop_design/events');
$this->RemoveNodeFromXPath('/itop_design/event_listeners');
diff --git a/sources/Application/UI/Links/Direct/BlockDirectLinkSetViewTable.php b/sources/Application/UI/Links/Direct/BlockDirectLinkSetViewTable.php
index 9a8d51a12..831193e9b 100644
--- a/sources/Application/UI/Links/Direct/BlockDirectLinkSetViewTable.php
+++ b/sources/Application/UI/Links/Direct/BlockDirectLinkSetViewTable.php
@@ -48,9 +48,8 @@ class BlockDirectLinkSetViewTable extends AbstractBlockLinkSetViewTable
$aExtraParams['panel_title_tooltip'] = $this->oAttDef->GetDescription();
}
- // Add creation in modal if the linkset is not readonly
- if (!$this->oAttDef->GetReadOnly()
- && $this->oAttDef->GetEditMode() != LINKSET_EDITMODE_NONE
+ // Add creation in modal if edit mode is not NONE
+ if ($this->oAttDef->GetEditMode() != LINKSET_EDITMODE_NONE
&& $this->bIsAllowCreate) {
$aExtraParams['creation_in_modal'] = true;
$aExtraParams['creation_in_modal_tooltip'] = $this->oAttDef->GetEditMode() == LINKSET_EDITMODE_ADDREMOVE ? $this->GetDictionaryEntry(static::DICT_ADD_BUTTON_TOOLTIP) : $this->GetDictionaryEntry(static::DICT_CREATE_BUTTON_TOOLTIP);
diff --git a/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetViewTable.php b/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetViewTable.php
index 41aed8cd1..dbd18fa18 100644
--- a/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetViewTable.php
+++ b/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetViewTable.php
@@ -59,9 +59,8 @@ class BlockIndirectLinkSetViewTable extends AbstractBlockLinkSetViewTable
$aExtraParams['panel_title_tooltip'] = $this->oAttDef->GetDescription();
}
- // Add creation in modal if the linkset is not readonly
- if (!$this->oAttDef->GetReadOnly()
- && $this->bIsAllowCreate) {
+ // Add creation in modal if creation allowed
+ if ( $this->bIsAllowCreate) {
$aExtraParams['creation_in_modal'] = true;
$aExtraParams['creation_in_modal_tooltip'] = $this->GetDictionaryEntry(static::DICT_ADD_BUTTON_TOOLTIP);
$aExtraParams['creation_in_modal_form_title'] = $this->GetDictionaryEntry(static::DICT_ADD_MODAL_TITLE);
diff --git a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml
index a9efc79cc..bcd33d37d 100644
--- a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml
+++ b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml
@@ -1,66 +1,3 @@
-
-
-
-
- none
- link
- true
-
-
-
-
-
-
- add_only
- link
- false
-
-
-
-
-
-
- add_remove
- link
- false
-
-
-
-
-
-
- actions
- link
- false
-
-
-
-
-
-
- in_place
- property
- false
-
-
-
-
-
-
- Ticket
- link
- false
-
-
-
-
-
-
- false
-
-
-
-
diff --git a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml
index 345edfd05..42642225c 100644
--- a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml
+++ b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml
@@ -1,52 +1,3 @@
-
-
-
-
- none
-
-
-
-
-
-
- add_only
-
-
-
-
-
-
- add_remove
-
-
-
-
-
-
- actions
-
-
-
-
-
-
- in_place
-
-
-
-
-
-
- Ticket
-
-
-
-
-
-
-
-
-
diff --git a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml
index 53caee400..e2b62fe89 100644
--- a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml
+++ b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml
@@ -4,53 +4,6 @@
-
-
-
- none
-
-
-
-
-
-
- add_only
-
-
-
-
-
-
- add_remove
-
-
-
-
-
-
- actions
-
-
-
-
-
-
- in_place
-
-
-
-
-
-
- Ticket
-
-
-
-
-
-
-
-
diff --git a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml
index df08e1260..1e6eaecf8 100644
--- a/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml
+++ b/tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml
@@ -14,67 +14,6 @@
-
-
-
- none
- link
- true
-
-
-
-
-
-
- add_only
- link
- false
-
-
-
-
-
-
- add_remove
- link
- false
-
-
-
-
-
-
- actions
- link
- false
-
-
-
-
-
-
- in_place
- property
- false
-
-
-
-
-
-
- Ticket
- link
- false
-
-
-
-
-
-
- false
-
-
-