From c9e442edae52b8edfe505b63432d7ef371607c9c Mon Sep 17 00:00:00 2001 From: jekuaitk Date: Tue, 30 Jun 2026 08:46:54 +0200 Subject: [PATCH 1/4] 338: Correctly inherit single files in MaestroInheritTask --- .../Plugin/EngineTasks/MaestroWebformInheritTask.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php index 9544cee5..09d1a8ef 100644 --- a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php +++ b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php @@ -8,6 +8,7 @@ use Drupal\maestro_webform\Plugin\EngineTasks\MaestroWebformTask; use Drupal\webform\Entity\Webform; use Drupal\webform\Entity\WebformSubmission; +use Drupal\webform\Plugin\WebformElement\WebformManagedFileBase; use Drupal\webform\Utility\WebformArrayHelper; /** @@ -160,10 +161,18 @@ public static function webformSubmissionFormAlter(array &$form, FormStateInterfa // element information to properly set default element values nested // inside the form. if ($targetWebform = Webform::load($form['#webform_id'] ?? NULL)) { + $elementManager = \Drupal::service('plugin.manager.webform.element'); foreach ($data as $key => $value) { if ($targetElement = $targetWebform->getElement($key)) { if ($element = &NestedArray::getValue($form['elements'], $targetElement['#webform_parents'])) { - $element['#default_value'] = $value; + // File elements need their default values as an array. + // @see \Drupal\webform\Plugin\WebformElement\WebformManagedFileBase::setDefaultValue() + if ($elementManager->getElementInstance($element) instanceof WebformManagedFileBase) { + $element['#default_value'] = (array) $value; + } + else { + $element['#default_value'] = $value; + } } } } From e124b53ea49e28f80d4b3bfaf52b6ef43decdb9c Mon Sep 17 00:00:00 2001 From: jekuaitk Date: Tue, 30 Jun 2026 09:05:38 +0200 Subject: [PATCH 2/4] 338: Update CHANGELOG --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ddc05ab..4b3adbaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ before starting to add changes. Use example [placed in the end of the page](#exa ## [Unreleased] +- [PR-339](https://github.com/OS2Forms/os2forms/pull/339) + Ensure MaestroInheritTask correctly inherits file-elements. + ## [5.1.0] 2026-06-03 - [PR-326](https://github.com/OS2Forms/os2forms/pull/326) From 1b592ca8c4c01cca49fab69bfc53d9edb44ef2ba Mon Sep 17 00:00:00 2001 From: Jeppe Kuhlmann Andersen <78410897+jekuaitk@users.noreply.github.com> Date: Tue, 30 Jun 2026 09:35:39 +0200 Subject: [PATCH 3/4] Update modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php Co-authored-by: Mikkel Ricky --- .../src/Plugin/EngineTasks/MaestroWebformInheritTask.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php index 09d1a8ef..04659049 100644 --- a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php +++ b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php @@ -165,7 +165,7 @@ public static function webformSubmissionFormAlter(array &$form, FormStateInterfa foreach ($data as $key => $value) { if ($targetElement = $targetWebform->getElement($key)) { if ($element = &NestedArray::getValue($form['elements'], $targetElement['#webform_parents'])) { - // File elements need their default values as an array. + // A file element needs its default value as an array. // @see \Drupal\webform\Plugin\WebformElement\WebformManagedFileBase::setDefaultValue() if ($elementManager->getElementInstance($element) instanceof WebformManagedFileBase) { $element['#default_value'] = (array) $value; From e1b8c392b961463782110fa2d21e0a727dfa6224 Mon Sep 17 00:00:00 2001 From: Jeppe Kuhlmann Andersen <78410897+jekuaitk@users.noreply.github.com> Date: Tue, 30 Jun 2026 09:35:54 +0200 Subject: [PATCH 4/4] Update modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php Co-authored-by: Mikkel Ricky --- .../src/Plugin/EngineTasks/MaestroWebformInheritTask.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php index 04659049..b97e8eee 100644 --- a/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php +++ b/modules/os2forms_forloeb/src/Plugin/EngineTasks/MaestroWebformInheritTask.php @@ -168,11 +168,9 @@ public static function webformSubmissionFormAlter(array &$form, FormStateInterfa // A file element needs its default value as an array. // @see \Drupal\webform\Plugin\WebformElement\WebformManagedFileBase::setDefaultValue() if ($elementManager->getElementInstance($element) instanceof WebformManagedFileBase) { - $element['#default_value'] = (array) $value; - } - else { - $element['#default_value'] = $value; + $value = (array) $value; } + $element['#default_value'] = $value; } } }