From 00bffb25487570f849092f0f21b0f5a35fdc5056 Mon Sep 17 00:00:00 2001 From: Andrew Short Date: Fri, 11 Oct 2013 21:58:13 +1100 Subject: [PATCH] BUG: Fix access to documents on the staging site. The DMS document controller had been changed to subclass ContentController to correctly initialise the versioned stage. However, this had the side effect of preventing access to documents when the "Stage" stage was selected. ContentController::init() calls the SiteTree::canViewStage() method, which controls access when on the stage. However, since the data record was non-existant, the method would always return false, preventing access to documents. This fix removes the subclassing of ContentController and just directly initialises the versioned stage. --- code/DMSDocument.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/DMSDocument.php b/code/DMSDocument.php index 83eaf61..4cbd478 100755 --- a/code/DMSDocument.php +++ b/code/DMSDocument.php @@ -804,7 +804,7 @@ class DMSDocument extends DataObject implements DMSDocumentInterface { } -class DMSDocument_Controller extends ContentController { +class DMSDocument_Controller extends Controller { static $testMode = false; //mode to switch for testing. Does not return document download, just document URL @@ -812,6 +812,11 @@ class DMSDocument_Controller extends ContentController { 'index' ); + public function init() { + Versioned::choose_site_stage(); + parent::init(); + } + /** * Returns the document object from the request object's ID parameter. * Returns null, if no document found