Ejemplo n.º 1
0
 public function testIsValueEmpty()
 {
     $field = new OptionsField('field1', 'field1', array(1 => 'apple', 2 => 'pear'));
     $this->assertEquals($field->isValueEmpty(), true, 'Null value');
     $field->setValue(array());
     $this->assertEquals($field->isValueEmpty(), true, 'Empty array');
     $field->setValue(array(1));
     $this->assertEquals($field->isValueEmpty(), false, 'Non-empty array');
 }
Ejemplo n.º 2
0
 public function testRequiredRuleMultipleValue()
 {
     $rule = new RequiredRule('this field is required');
     $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry'));
     $field->setValue(array());
     $this->assertSame($rule->validate($field), false, 'Empty array');
     $field->setValue(null);
     $this->assertSame($rule->validate($field), false, 'Empty (null)');
 }
Ejemplo n.º 3
0
 public function testMaxLengthRuleMultipleValues()
 {
     $rule = new MaxLengthRule(2, 'too long');
     $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry'));
     $field->setValue(array());
     $this->assertSame($rule->validate($field), true, 'Empty array');
     $field->setValue(null);
     $this->assertSame($rule->validate($field), true, 'Empty (null)');
     $field->setValue(array(1 => 'apple', 2 => 'pear'));
     $this->assertSame($rule->validate($field), true, 'Okay (2 entries)');
     $field->setValue(array(1 => 'apple', 2 => 'pear', 3 => 'cherry'));
     $this->assertSame($rule->validate($field), false, 'Too long (3 entries)');
 }
 public function testMaxLengthRuleMultipleValues()
 {
     $rule = new ValueBetweenRule(5, 10, 'The value has to be between 5 and 10');
     $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry'));
     $field->setValue(array());
     $this->assertSame($rule->validate($field), true, 'Empty array');
     $field->setValue(null);
     $this->assertSame($rule->validate($field), true, 'Empty (null)');
     $field->setValue(array(1, 6, 7));
     $this->assertSame($rule->validate($field), false, '1 out of range, array(1, 6, 7)');
     $field->setValue(array(6, 7, 11));
     $this->assertSame($rule->validate($field), false, '11 out of range, array(6, 7, 11)');
     $field->setValue(array(6, 7, array(3, 12), 8));
     $this->assertSame($rule->validate($field), false, '3 out of range, array(6, 7, array(3, 12), 8)');
     $field->setValue(array(6, 7, array(5, 10), 8));
     $this->assertSame($rule->validate($field), true, 'Okay, array(6, 7, array(5, 10), 8)');
 }
 /**
  * @param RightGroup $rightGroup
  */
 protected function prepareEditRightGroupForm(RightGroup $rightGroup)
 {
     if ($this->form instanceof CmsForm) {
         return;
     }
     $lang = $this->cmsController->getLocaleHandler()->getLanguage();
     $checkOptionsRights = array();
     $options = array();
     $allModules = $this->moduleModel->getAllModules();
     foreach ($allModules as $mod) {
         if (isset($mod->manifest_content->rights) === false || count((array) $mod->manifest_content->rights) === 0) {
             continue;
         }
         $optionsTemp = array();
         foreach ($mod->manifest_content->rights as $key => $label) {
             $checkOptionsRights[$key] = $key;
             $optionsTemp[$key] = isset($label->{$lang}) ? $label->{$lang} : $label->en;
         }
         $options[isset($mod->manifest_content->name->{$lang}) ? $mod->manifest_content->name->{$lang} : $mod->manifest_content->name->en] = $optionsTemp;
     }
     $this->form = new CmsForm();
     $this->form->setInputData(array_merge($_POST, $_GET));
     $fldName = new InputField('name', 'Name');
     $fldName->setValue($rightGroup->getGroupName());
     $fldName->addRule(new RequiredRule($this->translator->_d('backend', 'Please insert a group name')));
     $fldKey = new InputField('key', 'Key');
     $fldKey->setValue($rightGroup->getGroupKey());
     $fldKey->addRule(new RequiredRule($this->translator->_d('backend', 'Please insert a group key')));
     $fldRoot = new OptionsField('root', 'Root', array(1 => $this->translator->_d('backend', 'This group has root rights')));
     $fldRoot->setValue(array((int) $rightGroup->isRoot()));
     $fldRoot->setOptionsFieldRenderer(new CheckboxOptionsFieldRenderer());
     $fldRights = new OptionsField('rights', 'Rights', $checkOptionsRights);
     $fldRights->setOptionsFieldRenderer(new RightsOptionsFieldRenderer($options));
     $fldRights->setValue($rightGroup->getRights());
     $this->form->addFields(array($fldName, $fldKey, $fldRoot, $fldRights));
 }