Merge pull request #2718 from silverstripe-rebelalliance/2503

BUG: Fixes performReadonlyTransformation for OptionSetField

Closes #2503
This commit is contained in:
Simon Welsh 2014-03-15 20:45:04 +13:00
commit 5beaebc43a
2 changed files with 11 additions and 1 deletions

View File

@ -93,7 +93,7 @@ class OptionsetField extends DropdownField {
public function performReadonlyTransformation() {
// Source and values are DataObject sets.
$field = $this->castedCopy('LookupField');
$field->setValue($this->getSource());
$field->setSource($this->getSource());
$field->setReadonly(true);
return $field;

View File

@ -24,4 +24,14 @@ class OptionsetFieldTest extends SapphireTest {
''
);
}
public function testReadonlyField() {
$sourceArray = array(0 => 'No', 1 => 'Yes');
$field = new OptionsetField('FeelingOk', 'are you feeling ok?', $sourceArray, 1);
$field->setEmptyString('(Select one)');
$field->setValue(1);
$readonlyField = $field->performReadonlyTransformation();
preg_match('/Yes/', $field->Field(), $matches);
$this->assertEquals($matches[0], 'Yes');
}
}