From 096064486d16976ef49e0843ecd8a4a3604852b8 Mon Sep 17 00:00:00 2001 From: Nicolaas / Sunn Side Up Date: Sat, 29 Jan 2022 15:16:38 +1300 Subject: [PATCH] PATCH: ensure that composite and nested form fields can be included --- code/Report.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/Report.php b/code/Report.php index f1dad08f..2a2c5a0f 100644 --- a/code/Report.php +++ b/code/Report.php @@ -307,14 +307,21 @@ class Report extends ViewableData // Add search fields is available if ($this->hasMethod('parameterFields') && $parameterFields = $this->parameterFields()) { - /** @var FormField $field */ - foreach ($parameterFields as $field) { - // Namespace fields for easier handling in form submissions - $field->setName(sprintf('filters[%s]', $field->getName())); - $field->addExtraClass('no-change-track'); // ignore in changetracker + + //standardise fields with filter[name] and .no-change-track + $parameterFields->recursiveWalk( + function(FormField $field) { + if(strpos($field->getName(), 'filter[') !== 0) { + $field->setName(sprintf('filters[%s]', $field->getName())); + } + $field->addExtraClass('no-change-track'); // ignore in changetracker + } + ); + // add fields + foreach($parameterFields as $field) { $fields->push($field); } - + // Add a search button $formAction = FormAction::create('updatereport', _t('SilverStripe\\Forms\\GridField\\GridField.Filter', 'Filter')); $formAction->addExtraClass('btn-primary mb-4');