BUGFIX: Ensure that ModelAsController::init() can trigger redirections. (from r98702) (from r99067)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102834 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2010-04-14 03:59:37 +00:00
parent ffd0774839
commit 8bdeeba73e

View File

@ -45,7 +45,13 @@ class ModelAsController extends Controller implements NestedController {
$this->response = new SS_HTTPResponse(); $this->response = new SS_HTTPResponse();
$this->init(); $this->init();
// If we had a redirection or something, halt processing.
if($this->response->isFinished()) {
$this->popCurrent();
return $this->response;
}
// If the database has not yet been created, redirect to the build page. // If the database has not yet been created, redirect to the build page.
if(!DB::isActive() || !ClassInfo::hasTable('SiteTree')) { if(!DB::isActive() || !ClassInfo::hasTable('SiteTree')) {
$this->response->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null)); $this->response->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null));