diff --git a/lib/classes/forms/Form.php b/lib/classes/forms/Form.php index 5e27895455fe6f4d93ba7dd7d91a64ae9d7fd434..4e384b11a6df29194c494018e40b5c808c8df74b 100644 --- a/lib/classes/forms/Form.php +++ b/lib/classes/forms/Form.php @@ -129,7 +129,11 @@ class Form extends Part } foreach ($params['fields'] as $fieldname => $fielddata) { if (is_array($fielddata) && !array_key_exists('value', $fielddata)) { - if ($object->isField($fieldname)) { + if ( + $object->isField($fieldname) + || $object->isAdditionalField($fieldname) + || $object->isAliasField($fieldname) + ) { $params['fields'][$fieldname]['value'] = $object[$fieldname]; } } @@ -412,7 +416,6 @@ class Form extends Part } $all_values[$input->getName()] = $value; } - foreach ($this->parts as $part) { $context = $part->getContextObject(); if ($context && method_exists($context, 'store')) { @@ -514,7 +517,12 @@ class Form extends Part if ( $context && is_subclass_of($context, \SimpleORMap::class) - && ($context->isField($input->getName()) || $context->isRelation($input->getName())) + && ( + $context->isField($input->getName()) + || $context->isAdditionalField($input->getName()) + || $context->isAliasField($input->getName()) + || $context->isRelation($input->getName()) + ) ) { return function ($value) use ($context, $input) { if ($context && !$value && $value !== null) {