Fixed regression: server status was reset

SVN:code[161]
This commit is contained in:
Romain Quetiez
2009-09-16 07:53:12 +00:00
parent 56c70ee33b
commit 4517c61049
2 changed files with 13 additions and 5 deletions

View File

@@ -649,6 +649,10 @@ abstract class MetaModel
if (!empty($sStateAttCode))
{
$aStates = MetaModel::EnumStates($sClass);
if (!array_key_exists($sState, $aStates))
{
throw new CoreException("Invalid state '$sState' for class '$sClass', expecting a value in {".implode(', ', array_keys($aStates))."}");
}
$aCurrentState = $aStates[$sState];
if ( (array_key_exists('attribute_list', $aCurrentState)) && (array_key_exists($sAttCode, $aCurrentState['attribute_list'])) )
{

View File

@@ -428,12 +428,16 @@ switch($operation)
}
else if (!$oAttDef->IsExternalField())
{
$aAttributes[$sAttCode] = trim(utils::ReadPostedParam("attr_$sAttCode", null));
$previousValue = $oObj->Get($sAttCode);
if (!is_null($aAttributes[$sAttCode]) && ($previousValue != $aAttributes[$sAttCode]))
$rawValue = utils::ReadPostedParam("attr_$sAttCode", null);
if (!is_null($rawValue))
{
$oObj->Set($sAttCode, $aAttributes[$sAttCode]);
$bObjectModified = true;
$aAttributes[$sAttCode] = trim($rawValue);
$previousValue = $oObj->Get($sAttCode);
if ($previousValue != $aAttributes[$sAttCode])
{
$oObj->Set($sAttCode, $aAttributes[$sAttCode]);
$bObjectModified = true;
}
}
}
}