diff --git a/pages/UI.php b/pages/UI.php index c46f2750c..6d980b07b 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -1685,13 +1685,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)) @@ -1928,13 +1928,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))