mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Simplify code to use dataFields()
This commit is contained in:
parent
2fafff084f
commit
8537d6ddb1
@ -457,12 +457,12 @@ class CMSPageHistoryController extends CMSMain
|
||||
"ID" => $id,
|
||||
"Version" => $fromVersion,
|
||||
));
|
||||
|
||||
|
||||
// Comparison views shouldn't be editable.
|
||||
// As the comparison output is HTML and not valid values for the various field types
|
||||
$readonlyFields = $this->transformReadonly($form->Fields());
|
||||
$form->setFields($readonlyFields);
|
||||
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -472,18 +472,21 @@ class CMSPageHistoryController extends CMSMain
|
||||
$crumbs[0]->Title = _t('CMSPagesController.MENUTITLE', 'Pages');
|
||||
return $crumbs;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Replace all data fields with HTML readonly fields to display diff
|
||||
*
|
||||
* @param FieldList $fields
|
||||
* @return FieldList
|
||||
*/
|
||||
public function transformReadonly(FieldList $fields)
|
||||
{
|
||||
foreach($fields as &$field) {
|
||||
if ($field instanceof CompositeField) {
|
||||
$subfields = $this->transformReadonly($field->FieldList());
|
||||
$field->setChildren($subfields);
|
||||
}
|
||||
if ($field->hasData() && !$field instanceof HiddenField) {
|
||||
$newField = $field->castedCopy(HTMLReadonlyField::class);
|
||||
$fields->replaceField($field->getName(), $newField);
|
||||
foreach ($fields->dataFields() as $field) {
|
||||
if ($field instanceof HiddenField) {
|
||||
continue;
|
||||
}
|
||||
$newField = $field->castedCopy(HTMLReadonlyField::class);
|
||||
$fields->replaceField($field->getName(), $newField);
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user