#1210 (reopened) ...fixed a regression on commit [r3936]: dependent fields could not be loaded when there are link set attribute in the current form

SVN:trunk[3938]
This commit is contained in:
Romain Quetiez
2016-03-04 14:22:13 +00:00
parent d33dad51f8
commit e26eed3142

View File

@@ -386,15 +386,19 @@ abstract class DBObject implements iDisplay
}
}
}
if(!$oAttDef->IsScalar() && !is_object($value))
{
throw new CoreUnexpectedValue("scalar not allowed for attribute '$sAttCode', setting default value (empty list)");
}
if($oAttDef->IsLinkSet())
{
if((get_class($value) != 'DBObjectSet') && !is_subclass_of($value, 'DBObjectSet'))
if (is_null($value))
{
throw new CoreUnexpectedValue("expecting a set of persistent objects (found a '".get_class($value)."'), setting default value (empty list)");
// Normalize
$value = DBObjectSet::FromScratch($oAttDef->GetLinkedClass());
}
else
{
if ((get_class($value) != 'DBObjectSet') && !is_subclass_of($value, 'DBObjectSet'))
{
throw new CoreUnexpectedValue("expecting a set of persistent objects (found a '".get_class($value)."'), setting default value (empty list)");
}
}
$oObjectSet = $value;