Do not show the full layout on the login page

...

refs #9892
This commit is contained in:
Johannes Meyer 2015-08-13 08:12:30 +02:00
parent 71cb484299
commit fa1e3a763d
3 changed files with 16 additions and 8 deletions

View File

@ -3,9 +3,7 @@
# namespace Icinga\Application\Controllers; # namespace Icinga\Application\Controllers;
use Icinga\Application\Config;
use Icinga\Application\Icinga; use Icinga\Application\Icinga;
use Icinga\Application\Logger;
use Icinga\Forms\Authentication\LoginForm; use Icinga\Forms\Authentication\LoginForm;
use Icinga\Web\Controller; use Icinga\Web\Controller;
use Icinga\Web\Url; use Icinga\Web\Url;
@ -16,12 +14,15 @@ use Icinga\Web\Url;
class AuthenticationController extends Controller class AuthenticationController extends Controller
{ {
/** /**
* This controller does not require authentication * {@inheritdoc}
*
* @var bool
*/ */
protected $requiresAuthentication = false; protected $requiresAuthentication = false;
/**
* {@inheritdoc}
*/
protected $innerLayout = 'inline';
/** /**
* Log into the application * Log into the application
*/ */

View File

@ -1,6 +1,5 @@
<?php <?php
use Icinga\Web\JavaScript;
use Icinga\Util\Translator; use Icinga\Util\Translator;
if (array_key_exists('_dev', $_GET)) { if (array_key_exists('_dev', $_GET)) {
@ -16,6 +15,7 @@ $lang = Translator::splitLocaleCode()->language;
$isIframe = $this->layout()->isIframe; $isIframe = $this->layout()->isIframe;
$showFullscreen = $this->layout()->showFullscreen; $showFullscreen = $this->layout()->showFullscreen;
$iframeClass = $isIframe ? ' iframe' : ''; $iframeClass = $isIframe ? ' iframe' : '';
$innerLayoutScript = $this->layout()->innerLayout . '.phtml';
?><!DOCTYPE html> ?><!DOCTYPE html>
<!--[if IE 8]> <!--[if IE 8]>
@ -52,7 +52,7 @@ $iframeClass = $isIframe ? ' iframe' : '';
<body id="body"> <body id="body">
<pre id="responsive-debug"></pre> <pre id="responsive-debug"></pre>
<div id="layout" class="default-layout<?php if ($showFullscreen): ?> fullscreen-layout<?php endif ?>"> <div id="layout" class="default-layout<?php if ($showFullscreen): ?> fullscreen-layout<?php endif ?>">
<?= $this->render('body.phtml') ?> <?= $this->render($innerLayoutScript); ?>
</div> </div>
<iframe id="fileupload-frame-target" name="fileupload-frame-target"></iframe> <iframe id="fileupload-frame-target" name="fileupload-frame-target"></iframe>
<!--[if IE 8]> <!--[if IE 8]>

View File

@ -3,7 +3,6 @@
namespace Icinga\Web\Controller; namespace Icinga\Web\Controller;
use Exception;
use Icinga\Application\Benchmark; use Icinga\Application\Benchmark;
use Icinga\Application\Config; use Icinga\Application\Config;
use Icinga\Authentication\Auth; use Icinga\Authentication\Auth;
@ -49,6 +48,13 @@ class ActionController extends Zend_Controller_Action
private $xhrLayout = 'inline'; private $xhrLayout = 'inline';
/**
* The inner layout (inside the body) to use
*
* @var string
*/
protected $innerLayout = 'body';
/** /**
* Authentication manager * Authentication manager
* *
@ -418,6 +424,7 @@ class ActionController extends Zend_Controller_Action
$req = $this->getRequest(); $req = $this->getRequest();
$layout = $this->_helper->layout(); $layout = $this->_helper->layout();
$layout->innerLayout = $this->innerLayout;
if ($user = $req->getUser()) { if ($user = $req->getUser()) {
// Cast preference app.show_benchmark to bool because preferences loaded from a preferences storage are // Cast preference app.show_benchmark to bool because preferences loaded from a preferences storage are