show Email-fields in summary by default - via onAfterWrite since record is already created $defaults won't work

This commit is contained in:
Bauke Zwaan 2022-10-25 10:28:17 +02:00
parent 98a8a9b195
commit 60fad6af60
2 changed files with 7 additions and 4 deletions

View File

@ -29,6 +29,7 @@ use SilverStripe\ORM\FieldType\DBVarchar;
use SilverStripe\ORM\HasManyList;
use SilverStripe\ORM\ValidationException;
use SilverStripe\UserForms\Extension\UserFormFieldEditorExtension;
use SilverStripe\UserForms\Model\EditableFormField\EditableEmailField;
use SilverStripe\UserForms\Model\EditableFormField\EditableFieldGroup;
use SilverStripe\UserForms\Model\EditableFormField\EditableFieldGroupEnd;
use SilverStripe\UserForms\Model\EditableFormField\EditableFormStep;
@ -444,6 +445,12 @@ class EditableFormField extends DataObject
->filter('ParentID', $parentID)
->max('Sort') + 1;
}
// Include _new_ Email Fields by default in GridField summary
if ($this->isChanged('ClassName') && $this->ClassName === EditableEmailField::class) {
$this->ShowInSummary = true;
};
}
/**

View File

@ -23,10 +23,6 @@ class EditableEmailField extends EditableFormField
private static $table_name = 'EditableEmailField';
private static $defaults = [
'ShowInSummary' => true
];
public function getSetsOwnError()
{
return true;