Merge pull request #4698 from Icinga/bugfix/set-modal-title-from-response-header-on-autosubmit

Set modal title from response header on auto/formsubmit
This commit is contained in:
Johannes Meyer 2022-04-11 13:26:42 +02:00 committed by GitHub
commit a621229240
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 11 deletions

View File

@ -496,18 +496,20 @@ class ActionController extends Zend_Controller_Action
$resp->setReloadCss(true);
}
if ($this->view->title) {
if (preg_match('~[\r\n]~', $this->view->title)) {
// TODO: Innocent exception and error log for hack attempts
throw new IcingaException('No way, guy');
if ($resp->getHeader('X-Icinga-Title') === null) {
if ($this->view->title) {
if (preg_match('~[\r\n]~', $this->view->title)) {
// TODO: Innocent exception and error log for hack attempts
throw new IcingaException('No way, guy');
}
$resp->setHeader(
'X-Icinga-Title',
rawurlencode($this->view->title . ' :: ' . $this->view->defaultTitle),
true
);
} else {
$resp->setHeader('X-Icinga-Title', rawurlencode($this->view->defaultTitle), true);
}
$resp->setHeader(
'X-Icinga-Title',
rawurlencode($this->view->title . ' :: ' . $this->view->defaultTitle),
true
);
} else {
$resp->setHeader('X-Icinga-Title', rawurlencode($this->view->defaultTitle), true);
}
$layout = $this->_helper->layout();

View File

@ -109,6 +109,11 @@
req.addToHistory = false;
req.$redirectTarget = $modal.data('redirectTarget');
req.done(function (data, textStatus, req) {
var title = req.getResponseHeader('X-Icinga-Title');
if (!! title) {
_this.setTitle($modal, decodeURIComponent(title).replace(/\s::\s.*/, ''));
}
if (req.getResponseHeader('X-Icinga-Redirect')) {
_this.hide($modal);
}