From 6fe988b87033757b5b771d8c60f4c3759502ec8e Mon Sep 17 00:00:00 2001 From: Christian Jonak Date: Tue, 27 Nov 2018 10:20:46 +0100 Subject: [PATCH] Add option for how to handle null values on boolean conversion --- .../PropertyModifierMakeBoolean.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/library/Director/PropertyModifier/PropertyModifierMakeBoolean.php b/library/Director/PropertyModifier/PropertyModifierMakeBoolean.php index 29728ef9c..fb59a27d1 100644 --- a/library/Director/PropertyModifier/PropertyModifierMakeBoolean.php +++ b/library/Director/PropertyModifier/PropertyModifierMakeBoolean.php @@ -26,6 +26,20 @@ public function getName() public static function addSettingsFormFields(QuickForm $form) { + $form->addElement('select', 'null_values', array( + 'label' => 'Null values', + 'required' => true, + 'description' => $form->translate( + 'Your import source may contain null values. You can specifiy' + . ' here wether your want to keep them or treat them as invalid' + ), + 'value' => 'keep', + 'multiOptions' => $form->optionalEnum(array( + 'keep' => $form->translate('Keep'), + 'invalid' => $form->translate('Are invalid'), + )), + )); + $form->addElement('select', 'on_invalid', array( 'label' => 'Invalid properties', 'required' => true, @@ -49,7 +63,7 @@ public static function addSettingsFormFields(QuickForm $form) public function transform($value) { - if ($value === false || $value === true) { + if ($value === false || $value === true || ($value === null && $this->getSetting('null_values') == 'keep')) { return $value; }