Index: branches/5.2.x/core/kernel/utility/formatters/multilang_formatter.php =================================================================== diff -u -N -r14585 -r14588 --- branches/5.2.x/core/kernel/utility/formatters/multilang_formatter.php (.../multilang_formatter.php) (revision 14585) +++ branches/5.2.x/core/kernel/utility/formatters/multilang_formatter.php (.../multilang_formatter.php) (revision 14588) @@ -1,6 +1,6 @@ setRequired($field_name, false); - unset($fields[$field_name]['required']); + $object_fields = $object->getFields(); // use kDBBase::getFields, since there are no kDBList::setRequired + unset($fields[$field_name]['required'], $object_fields[$field_name]['required']); + $object->setFields($object_fields); // prevents real field with formatter set to be saved in db - $virtual_fields[$field_name] = $object->GetFieldOptions($field_name); - $object->SetFieldOptions($field_name, $virtual_fields[$field_name], true); + $virtual_fields[$field_name] = $object_fields[$field_name]; + $object->SetFieldOptions($field_name, $object_fields[$field_name], true); } elseif (array_key_exists($field_name, $virtual_fields)) { // substitude virtual field @@ -168,9 +169,10 @@ $this->Application->setUnitOption($object->Prefix, 'CalculatedFields', $calculated_fields); // makes original field non-required - $object->setRequired($field_name, false); - unset($fields[$field_name]['required']); - + $object_fields = $object->getFields(); // use kDBBase::getFields, since there are no kDBList::setRequired + unset($fields[$field_name]['required'], $object_fields[$field_name]['required']); + $object->setFields($object_fields); + $virtual_field_options = $object->GetFieldOptions($field_name, true); unset($virtual_fields[$field_name]['required'], $virtual_field_options['required']); $object->SetFieldOptions($field_name, $virtual_field_options, true);