From 7c0e38707cf82900ac07d4a0b0764810a7f1b1bd Mon Sep 17 00:00:00 2001 From: Naomi Guyer Date: Tue, 31 Jul 2012 17:49:59 +1200 Subject: [PATCH] BUG: Missing preview archive version button (fixes 7656) Added missing preview button --- code/controllers/CMSPageHistoryController.php | 10 +++++++--- code/controllers/SilverStripeNavigator.php | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/controllers/CMSPageHistoryController.php b/code/controllers/CMSPageHistoryController.php index 3f1e960647..3a076b6582 100644 --- a/code/controllers/CMSPageHistoryController.php +++ b/code/controllers/CMSPageHistoryController.php @@ -97,8 +97,11 @@ function getEditForm($id = null, $fields = null, $versionID = null, $compareID = // Respect permission failures from parent implementation if(!($form instanceof Form)) return $form; + $nav = new SilverStripeNavigatorItem_ArchiveLink($record); + $form->setActions(new FieldList( - $revert = FormAction::create('doRollback', _t('CMSPageHistoryController.REVERTTOTHISVERSION', 'Revert to this version'))->setUseButtonTag(true) + $revert = FormAction::create('doRollback', _t('CMSPageHistoryController.REVERTTOTHISVERSION', 'Revert to this version'))->setUseButtonTag(true), + $navField = new LiteralField('ArchivedLink', $nav->getHTML()) )); $fields = $form->Fields(); @@ -106,8 +109,9 @@ function getEditForm($id = null, $fields = null, $versionID = null, $compareID = $fields->push(new HiddenField("ID")); $fields->push(new HiddenField("Version")); - $fields = $fields->makeReadonly(); - + $fields = $fields->makeReadonly(); + $navField->setAllowHTML(true); + foreach($fields->dataFields() as $field) { $field->dontEscape = true; $field->reserveNL = true; diff --git a/code/controllers/SilverStripeNavigator.php b/code/controllers/SilverStripeNavigator.php index 2241ddc26f..e8e07ab879 100644 --- a/code/controllers/SilverStripeNavigator.php +++ b/code/controllers/SilverStripeNavigator.php @@ -308,10 +308,10 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem { function getHTML() { $this->recordLink = $this->record->AbsoluteLink(); - return "recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Archived Site') .""; + return "recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') .""; } - function getMessage() { + function getMessage() { if($date = Versioned::current_archived_date()) { $dateObj = Datetime::create(); $dateObj->setValue($date);