Fixed issue with null value for an Enum that would be hidden in a given state, being handled as an empty string, which is not an allowed value.

SVN:trunk[541]
This commit is contained in:
Romain Quetiez
2010-07-03 15:19:20 +00:00
parent 4a2f94e362
commit 832f6f02ad
2 changed files with 19 additions and 0 deletions

View File

@@ -972,6 +972,14 @@ class AttributeEnum extends AttributeString
}
return $aLocalizedValues;
}
public function MakeRealValue($proposedValue)
{
// For an enum, let's consider an empty value like a null value
// Could be implemented by changing the UI : no value => let the default value
if ($proposedValue == '') return null;
return parent::MakeRealValue($proposedValue);
}
}
/**

View File

@@ -602,6 +602,17 @@ abstract class DBObject
}
elseif ($oAtt->IsWritable() && $oAtt->IsScalar())
{
if (is_null($toCheck))
{
if ($oAtt->IsNullAllowed())
{
return true;
}
else
{
return false;
}
}
$aValues = $oAtt->GetAllowedValues();
if (count($aValues) > 0)
{