diff --git a/pages/UI.php b/pages/UI.php index 9a5e22bc6..4f689676d 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -1737,13 +1737,13 @@ EOF { $oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode); $aErrors[] = Dict::Format('UI:AttemptingToSetASlaveAttribute_Name', $oAttDef->GetLabel()); - } - else - { - $oObj->Set($sAttCode, $paramValue); + unset($aExpectedAttributes[$sAttCode]); } } } + + $oObj->UpdateObjectFromPostedForm('', array_keys($aExpectedAttributes), $sTargetState); + if (count($aErrors) == 0) { if ($oObj->ApplyStimulus($sStimulus)) @@ -1980,13 +1980,13 @@ EOF { $oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode); $aErrors[] = Dict::Format('UI:AttemptingToChangeASlaveAttribute_Name', $oAttDef->GetLabel()); + unset($aExpectedAttributes[$sAttCode]); } - else - { - $oObj->Set($sAttCode, $paramValue); } } - } + + $oObj->UpdateObjectFromPostedForm('', array_keys($aExpectedAttributes), $sTargetState); + if (count($aErrors) == 0) { if ($oObj->ApplyStimulus($sStimulus))