diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 9d0e595d9..d871105da 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -744,7 +744,11 @@ HTML $oPage->SetCurrentTab($sTabCode, $oAttDef->GetLabel().$sCount, $sTabDescription); $aArgs = array('this' => $this); - $bReadOnly = ($iFlags & (OPT_ATT_READONLY | OPT_ATT_SLAVE)); + + $sEditWhen = $oAttDef->GetEditWhen(); + $bIsEditableBasedOnEditWhen = ($sEditWhen === LINKSET_EDITWHEN_ALWAYS || $sEditWhen === LINKSET_EDITWHEN_ON_HOST_EDITION); + + $bReadOnly = ($iFlags & (OPT_ATT_READONLY | OPT_ATT_SLAVE)) || !$bIsEditableBasedOnEditWhen; if ($bEditMode && (!$bReadOnly)) { $sInputId = $this->m_iFormId.'_'.$sAttCode; $sDisplayValue = ''; // not used diff --git a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml index 6c8c2c4f2..f2b969da7 100644 --- a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml +++ b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml @@ -713,6 +713,7 @@ User contactid add_only + on_host_display 0 0 diff --git a/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetEditTable.php b/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetEditTable.php index 36e6bc359..b15995c20 100644 --- a/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetEditTable.php +++ b/sources/Application/UI/Links/Indirect/BlockIndirectLinkSetEditTable.php @@ -281,7 +281,7 @@ EOF if ($bReadOnly) { $aRow['form::checkbox'] = ""; - foreach ($this->m_aEditableFields as $sFieldCode) { + foreach ($this->oUILinksWidget->GetEditableFields() as $sFieldCode) { $sDisplayValue = $linkObjOrId->GetEditValue($sFieldCode); $aRow[$sFieldCode] = $sDisplayValue; } @@ -435,7 +435,7 @@ JS $oAttDef = MetaModel::GetAttributeDef($this->oUILinksWidget->GetLinkedClass(), $sFieldCode); if ($bReadOnlyField) { - $sFieldForHtml = $sDisplayValue; + $sFieldForHtml = $oAttDef->GetAsHTML($sValue); } else { $sFieldForHtml = cmdbAbstractObject::GetFormElementForField( $oP, diff --git a/sources/Composer/iTopComposer.php b/sources/Composer/iTopComposer.php index a24c72202..edee6c12f 100644 --- a/sources/Composer/iTopComposer.php +++ b/sources/Composer/iTopComposer.php @@ -140,6 +140,8 @@ class iTopComposer $APPROOT_WITH_SLASHES.'lib/symfony/web-profiler-bundle/Tests', $APPROOT_WITH_SLASHES.'lib/symfony/yaml/Tests', + $APPROOT_WITH_SLASHES.'lib/thenetworg/oauth2-azure/tests', + $APPROOT_WITH_SLASHES.'lib/twig/twig/src/Test', $APPROOT_WITH_SLASHES.'lib/twig/twig/lib/Twig/Test', $APPROOT_WITH_SLASHES.'lib/twig/twig/doc/tests',