PropertyModifierRejectOrSelect: match booleans

This commit is contained in:
Thomas Gelf 2018-07-03 16:56:57 +02:00
parent 06b6356de1
commit f2e6f86d8e
1 changed files with 22 additions and 0 deletions

View File

@ -17,6 +17,10 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook
return 'Black or White-list rows based on property value'; return 'Black or White-list rows based on property value';
} }
/**
* @inheritdoc
* @throws \Zend_Form_Exception
*/
public static function addSettingsFormFields(QuickForm $form) public static function addSettingsFormFields(QuickForm $form)
{ {
$form->addElement('select', 'filter_method', [ $form->addElement('select', 'filter_method', [
@ -26,6 +30,8 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook
'multiOptions' => $form->optionalEnum([ 'multiOptions' => $form->optionalEnum([
'wildcard' => $form->translate('Simple match with wildcards (*)'), 'wildcard' => $form->translate('Simple match with wildcards (*)'),
'regex' => $form->translate('Regular Expression'), 'regex' => $form->translate('Regular Expression'),
'is_true' => $form->translate('Match boolean TRUE'),
'is_false' => $form->translate('Match boolean FALSE'),
'is_null' => $form->translate('Match NULL value columns'), 'is_null' => $form->translate('Match NULL value columns'),
]), ]),
'class' => 'autosubmit', 'class' => 'autosubmit',
@ -66,6 +72,16 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook
return $string === null; return $string === null;
} }
public function isTrue($string, $expression)
{
return $string === true;
}
public function isFalse($string, $expression)
{
return $string === false;
}
public function matchesWildcard($string, $expression) public function matchesWildcard($string, $expression)
{ {
return $this->filterExpression->matches( return $this->filterExpression->matches(
@ -90,6 +106,12 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook
case 'is_null': case 'is_null':
$func = 'isNull'; $func = 'isNull';
break; break;
case 'is_true':
$func = 'isTrue';
break;
case 'is_false':
$func = 'isFalse';
break;
default: default:
throw new ConfigurationError( throw new ConfigurationError(
'%s is not a valid value for an ArrayFilter filter_method', '%s is not a valid value for an ArrayFilter filter_method',