diff --git a/pages/UI.php b/pages/UI.php index 2668b94e0..e3670c9db 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -939,6 +939,21 @@ try } } + $sStateAttCode = MetaModel::GetStateAttributeCode($sClass); + if (($sStateAttCode != '') && ($oDummyObj->GetState() == '')) + { + // Hmmm, it's not gonna work like this ! Set a default value for the "state" + // Maybe we should use the "state" that is the most common among the objects... + $aMultiValues = $aValues[$sStateAttCode]; + uasort($aMultiValues, 'MyComparison'); + foreach($aMultiValues as $sCurrValue => $aVal) + { + $oDummyObj->Set($sStateAttCode, $sCurrValue); + break; + } + //$oStateAtt = MetaModel::GetAttributeDef($sClass, $sStateAttCode); + //$oDummyObj->Set($sStateAttCode, $oStateAtt->GetDefaultValue()); + } $oP->add("
\n"); $oP->add("

".$oDummyObj->GetIcon()." ".Dict::Format('UI:Modify_M_ObjectsOf_Class_OutOf_N', $iAllowedCount, $sClass, $iAllowedCount)."

\n"); $oP->add("
\n"); @@ -1500,6 +1515,10 @@ EOF $aArgs = array('this' => $oObj); $sHTMLValue = cmdbAbstractObject::GetFormElementForField($oP, $sClass, $sAttCode, $oAttDef, $oObj->Get($sAttCode), $oObj->GetEditValue($sAttCode), $sAttCode, '', $iExpectCode, $aArgs); $sComments = ''; + if (!isset($aValues[$sAttCode])) + { + $aValues[$sAttCode] = array(); + } if (count($aValues[$sAttCode]) == 1) { $sComments .= '
1
';