PATCH: ensure that composite and nested form fields can be included

This commit is contained in:
Nicolaas / Sunn Side Up 2022-01-29 15:16:38 +13:00 committed by GitHub
parent 0cb265434a
commit 096064486d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 6 deletions

View File

@ -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');