Fix that disabled stack straces via user prefs had no effect

Web::setupFrontController() took the user object into account when checking for disabled stacktraces.
But we changed our bootstrap order some time ago so we did not have a user in this method anymore.
Now, Web::setupUser() checks for disabled stacktaces in the user prefs instead.

refs 
This commit is contained in:
Eric Lippmann 2017-11-15 17:22:54 +01:00
parent 166f27b947
commit af64ca8fc8
1 changed files with 15 additions and 7 deletions
library/Icinga/Application

View File

@ -423,6 +423,21 @@ class Web extends EmbeddedWeb
$user = $auth->getUser();
$this->getRequest()->setUser($user);
$this->user = $user;
if ($user->can('application/stacktraces')) {
$displayExceptions = $this->user->getPreferences()->getValue(
'icingaweb',
'show_stacktraces'
);
if ($displayExceptions !== null) {
$this->frontController->setParams(
array(
'displayExceptions' => $displayExceptions
)
);
}
}
}
return $this;
}
@ -462,13 +477,6 @@ class Web extends EmbeddedWeb
$this->frontController->setControllerDirectory($this->getApplicationDir('/controllers'));
$displayExceptions = $this->config->get('global', 'show_stacktraces', true);
if ($this->user !== null && $this->user->can('application/stacktraces')) {
$displayExceptions = $this->user->getPreferences()->getValue(
'icingaweb',
'show_stacktraces',
$displayExceptions
);
}
$this->frontController->setParams(
array(