diff --git a/forms/FieldSet.php b/forms/FieldSet.php index 227e20949..e09c6e6c7 100755 --- a/forms/FieldSet.php +++ b/forms/FieldSet.php @@ -471,26 +471,8 @@ class FieldSet extends DataObjectSet { * @param string|FormField */ function makeFieldReadonly($field) { - $fieldName = ($field instanceof FormField) ? $field->Name() : $field; - - // Iterate on items, looking for the applicable field - foreach($this->items as $i => $item) { - if($item->isComposite()) { - $item->makeFieldReadonly($fieldName); - } else { - // Once it's found, use FormField::transform to turn the field into a readonly version of itself. - if($item->Name() == $fieldName) { - $this->items[$i] = $item->transform(new ReadonlyTransformation()); - - // Clear an internal cache - $this->sequentialSet = null; - - // A true results indicates that the field was foudn - return true; - } - } - } - return false; + $srcField = $this->dataFieldByName($fieldName); + $this->replaceField($fieldName, $srcField->performReadonlyTransformation()); } /** @@ -552,4 +534,4 @@ class FieldSet extends DataObjectSet { } -?> \ No newline at end of file +?>