N°3198 n:n relations in edit mode : refresh remote class fields on extkey change

This commit is contained in:
Pierre Goiffon
2020-08-18 10:56:57 +02:00
parent 7d7270296e
commit 4e5bbcde35
6 changed files with 232 additions and 85 deletions

View File

@@ -757,14 +757,15 @@ try
$value = $oObj->Get($sAttCode);
$displayValue = $oObj->GetEditValue($sAttCode);
$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
if (!$oAttDef->IsWritable())
if (!$oAttDef->IsWritable() || ($oWizardHelper->GetReturnNotEditableFields()))
{
// Even non-writable fields (like AttributeExternal) can be refreshed
$sHTMLValue = $oObj->GetAsHTML($sAttCode);
}
else
{
$sHTMLValue = cmdbAbstractObject::GetFormElementForField($oPage, $sClass, $sAttCode, $oAttDef, $value, $displayValue, $sId, '', $iFlags, array('this' => $oObj, 'formPrefix' => $sFormPrefix), false);
$sHTMLValue = cmdbAbstractObject::GetFormElementForField($oPage, $sClass, $sAttCode, $oAttDef, $value,
$displayValue, $sId, '', $iFlags, array('this' => $oObj, 'formPrefix' => $sFormPrefix), false);
// Make sure that we immediately validate the field when we reload it
$oPage->add_ready_script("$('#$sId').trigger('validate');");
}
@@ -772,7 +773,7 @@ try
}
}
}
$oPage->add_script("oWizardHelper{$sFormPrefix}.m_oData=".$oWizardHelper->ToJSON().";\noWizardHelper{$sFormPrefix}.UpdateFields();\n");
$oPage->add_script($oWizardHelper->GetJsForUpdateFields());
break;
case 'obj_creation_form':