diff --git a/code/Model/EditableFormField/EditableCheckbox.php b/code/Model/EditableFormField/EditableCheckbox.php index dcb602c..8439acb 100755 --- a/code/Model/EditableFormField/EditableCheckbox.php +++ b/code/Model/EditableFormField/EditableCheckbox.php @@ -44,7 +44,7 @@ class EditableCheckbox extends EditableFormField public function getFormField() { - $field = CheckboxField::create($this->Name, $this->Title, $this->CheckedDefault) + $field = CheckboxField::create($this->Name, $this->Title ?: false, $this->CheckedDefault) ->setFieldHolderTemplate(__CLASS__ . '_holder') ->setTemplate(__CLASS__); diff --git a/code/Model/EditableFormField/EditableCheckboxGroupField.php b/code/Model/EditableFormField/EditableCheckboxGroupField.php index 4fd136c..58ca64c 100755 --- a/code/Model/EditableFormField/EditableCheckboxGroupField.php +++ b/code/Model/EditableFormField/EditableCheckboxGroupField.php @@ -25,7 +25,7 @@ class EditableCheckboxGroupField extends EditableMultipleOptionField public function getFormField() { - $field = UserFormsCheckboxSetField::create($this->Name, $this->Title, $this->getOptionsMap()) + $field = UserFormsCheckboxSetField::create($this->Name, $this->Title ?: false, $this->getOptionsMap()) ->setFieldHolderTemplate(EditableMultipleOptionField::class . '_holder') ->setTemplate(UserFormsCheckboxSetField::class); diff --git a/code/Model/EditableFormField/EditableCountryDropdownField.php b/code/Model/EditableFormField/EditableCountryDropdownField.php index 1446ad9..dd38a74 100644 --- a/code/Model/EditableFormField/EditableCountryDropdownField.php +++ b/code/Model/EditableFormField/EditableCountryDropdownField.php @@ -35,7 +35,7 @@ class EditableCountryDropdownField extends EditableFormField public function getFormField() { - $field = DropdownField::create($this->Name, $this->Title) + $field = DropdownField::create($this->Name, $this->Title ?: false) ->setSource(i18n::getData()->getCountries()) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableDropdown::class); diff --git a/code/Model/EditableFormField/EditableDateField.php b/code/Model/EditableFormField/EditableDateField.php index 0e54244..d8cf23e 100755 --- a/code/Model/EditableFormField/EditableDateField.php +++ b/code/Model/EditableFormField/EditableDateField.php @@ -58,7 +58,7 @@ class EditableDateField extends EditableFormField ? DBDatetime::now()->Format('Y-m-d') : $this->Default; - $field = FormField::create($this->Name, $this->Title, $defaultValue) + $field = FormField::create($this->Name, $this->Title ?: false, $defaultValue) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableFormField::class); diff --git a/code/Model/EditableFormField/EditableDropdown.php b/code/Model/EditableFormField/EditableDropdown.php index 8020e1f..1fa8968 100755 --- a/code/Model/EditableFormField/EditableDropdown.php +++ b/code/Model/EditableFormField/EditableDropdown.php @@ -60,7 +60,7 @@ class EditableDropdown extends EditableMultipleOptionField */ public function getFormField() { - $field = DropdownField::create($this->Name, $this->Title, $this->getOptionsMap()) + $field = DropdownField::create($this->Name, $this->Title ?: false, $this->getOptionsMap()) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(__CLASS__); diff --git a/code/Model/EditableFormField/EditableEmailField.php b/code/Model/EditableFormField/EditableEmailField.php index 88009d6..deccc11 100644 --- a/code/Model/EditableFormField/EditableEmailField.php +++ b/code/Model/EditableFormField/EditableEmailField.php @@ -30,7 +30,7 @@ class EditableEmailField extends EditableFormField public function getFormField() { - $field = EmailField::create($this->Name, $this->Title, $this->Default) + $field = EmailField::create($this->Name, $this->Title ?: false, $this->Default) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableFormField::class); diff --git a/code/Model/EditableFormField/EditableFileField.php b/code/Model/EditableFormField/EditableFileField.php index eaf020c..cd4a725 100755 --- a/code/Model/EditableFormField/EditableFileField.php +++ b/code/Model/EditableFormField/EditableFileField.php @@ -97,7 +97,7 @@ class EditableFileField extends EditableFormField public function getFormField() { - $field = FileField::create($this->Name, $this->Title) + $field = FileField::create($this->Name, $this->Title ?: false) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(__CLASS__); diff --git a/code/Model/EditableFormField/EditableFormHeading.php b/code/Model/EditableFormField/EditableFormHeading.php index 2b76978..6e9b4eb 100644 --- a/code/Model/EditableFormField/EditableFormHeading.php +++ b/code/Model/EditableFormField/EditableFormHeading.php @@ -68,7 +68,7 @@ class EditableFormHeading extends EditableFormField public function getFormField() { - $labelField = HeaderField::create('userforms-header', $this->Title) + $labelField = HeaderField::create('userforms-header', $this->Title ?: false) ->setHeadingLevel($this->Level); $labelField->addExtraClass('FormHeading'); $labelField->setAttribute('data-id', $this->Name); diff --git a/code/Model/EditableFormField/EditableMemberListField.php b/code/Model/EditableFormField/EditableMemberListField.php index 42d682b..b9b0429 100644 --- a/code/Model/EditableFormField/EditableMemberListField.php +++ b/code/Model/EditableFormField/EditableMemberListField.php @@ -54,7 +54,7 @@ class EditableMemberListField extends EditableFormField } $members = Member::map_in_groups($this->GroupID); - $field = DropdownField::create($this->Name, $this->Title, $members); + $field = DropdownField::create($this->Name, $this->Title ?: false, $members); $this->doUpdateFormField($field); return $field; } diff --git a/code/Model/EditableFormField/EditableNumericField.php b/code/Model/EditableFormField/EditableNumericField.php index ace2dd4..9916db9 100755 --- a/code/Model/EditableFormField/EditableNumericField.php +++ b/code/Model/EditableFormField/EditableNumericField.php @@ -41,7 +41,7 @@ class EditableNumericField extends EditableFormField */ public function getFormField() { - $field = NumericField::create($this->Name, $this->Title, $this->Default) + $field = NumericField::create($this->Name, $this->Title ?: false, $this->Default) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableFormField::class) ->addExtraClass('number'); diff --git a/code/Model/EditableFormField/EditableRadioField.php b/code/Model/EditableFormField/EditableRadioField.php index d997265..433a4c9 100755 --- a/code/Model/EditableFormField/EditableRadioField.php +++ b/code/Model/EditableFormField/EditableRadioField.php @@ -35,7 +35,7 @@ class EditableRadioField extends EditableMultipleOptionField public function getFormField() { - $field = OptionsetField::create($this->Name, $this->Title, $this->getOptionsMap()) + $field = OptionsetField::create($this->Name, $this->Title ?: false, $this->getOptionsMap()) ->setFieldHolderTemplate(EditableMultipleOptionField::class . '_holder') ->setTemplate('SilverStripe\\UserForms\\FormField\\UserFormsOptionSetField'); diff --git a/code/Model/EditableFormField/EditableTextField.php b/code/Model/EditableFormField/EditableTextField.php index 7dc3fbc..3116476 100644 --- a/code/Model/EditableFormField/EditableTextField.php +++ b/code/Model/EditableFormField/EditableTextField.php @@ -128,12 +128,12 @@ class EditableTextField extends EditableFormField public function getFormField() { if ($this->Rows > 1) { - $field = TextareaField::create($this->Name, $this->Title, $this->Default) + $field = TextareaField::create($this->Name, $this->Title ?: false, $this->Default) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(str_replace('EditableTextField', 'EditableTextareaField', __CLASS__)) ->setRows($this->Rows); } else { - $field = TextField::create($this->Name, $this->Title, $this->Default) + $field = TextField::create($this->Name, $this->Title ?: false, $this->Default) ->setFieldHolderTemplate(EditableFormField::class . '_holder') ->setTemplate(EditableFormField::class); } diff --git a/tests/Model/EditableFormField/EditableLiteralFieldTest.php b/tests/Model/EditableFormField/EditableLiteralFieldTest.php index 6d9e291..c12f77f 100644 --- a/tests/Model/EditableFormField/EditableLiteralFieldTest.php +++ b/tests/Model/EditableFormField/EditableLiteralFieldTest.php @@ -87,12 +87,4 @@ class EditableLiteralFieldTest extends SapphireTest 'Actual literal field exists in composite field children' ); } - - public function testAllowEmptyTitle() - { - /** @var EditableLiteralField $field */ - $field = EditableLiteralField::create(); - $field->Name = 'EditableFormField_123456'; - $this->assertEmpty($field->getFormField()->Title()); - } } diff --git a/tests/Model/EditableFormField/EditableTextFieldTest.php b/tests/Model/EditableFormField/EditableTextFieldTest.php index 9bd947b..a00fd07 100644 --- a/tests/Model/EditableFormField/EditableTextFieldTest.php +++ b/tests/Model/EditableFormField/EditableTextFieldTest.php @@ -26,6 +26,10 @@ class EditableTextFieldTest extends SapphireTest /** @var EditableTextField $field */ $field = EditableTextField::create(); $field->Name = 'EditableFormField_123456'; + $field->Rows = 1; + $this->assertEmpty($field->getFormField()->Title()); + + $field->Rows = 3; $this->assertEmpty($field->getFormField()->Title()); } }