mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
Simplified implementation of FieldSet::makeReadonlyField()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.3@69349 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
ac83f9d4d9
commit
d64297e9ee
@ -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 {
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user