From c79263d70eac66dce4189df797da71ba232935e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de> Date: Fri, 2 Feb 2024 10:26:07 +0000 Subject: [PATCH] =?UTF-8?q?Resolve=20"FormBuilder=20kann=20nicht=20mit=20z?= =?UTF-8?q?us=C3=A4tzlichen=20SORM=20Attributen=20umgehen"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3706 Merge request studip/studip!2578 --- lib/classes/forms/Form.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/classes/forms/Form.php b/lib/classes/forms/Form.php index 5e27895455f..4e384b11a6d 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) { -- GitLab