From 24f046cf47a99bf252b2557aefca1f384b592527 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 10 Apr 2015 03:50:16 -0400
Subject: [PATCH] Fix bug where forced extwin page reload could exit from the extwin mode (#1490350)
---
CHANGELOG | 1 +
program/js/app.js | 16 +++++++++++-----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 1510fa6..eb484c1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,6 +10,7 @@
- Fix so text/calendar parts are listed as attachments even if not marked as such (#1490325)
- Fix lack of signature separator for plain text signatures in html mode (#1490352)
- Fix font artifact in Google Chrome on Windows (#1490353)
+- Fix bug where forced extwin page reload could exit from the extwin mode (#1490350)
RELEASE 1.1.1
-------------
diff --git a/program/js/app.js b/program/js/app.js
index 1da2a81..64fd548 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1440,7 +1440,7 @@
else if (delay)
setTimeout(function() { ref.reload(); }, delay);
else if (window.location)
- location.href = this.env.comm_path + (this.env.action ? '&_action='+this.env.action : '');
+ location.href = this.url('', {_extwin: this.env.extwin});
};
// Add variable to GET string, replace old value if exists
@@ -7222,7 +7222,7 @@
// compose a valid url with the given parameters
this.url = function(action, query)
{
- var querystring = typeof query === 'string' ? '&' + query : '';
+ var querystring = typeof query === 'string' ? query : '';
if (typeof action !== 'string')
query = action;
@@ -7234,12 +7234,12 @@
else if (this.env.action)
query._action = this.env.action;
- var base = this.env.comm_path, k, param = {};
+ var url = this.env.comm_path, k, param = {};
// overwrite task name
if (action && action.match(/([a-z0-9_-]+)\/([a-z0-9-_.]+)/)) {
query._action = RegExp.$2;
- base = base.replace(/\_task=[a-z0-9_-]+/, '_task='+RegExp.$1);
+ url = url.replace(/\_task=[a-z0-9_-]+/, '_task=' + RegExp.$1);
}
// remove undefined values
@@ -7248,7 +7248,13 @@
param[k] = query[k];
}
- return base + (base.indexOf('?') > -1 ? '&' : '?') + $.param(param) + querystring;
+ if (param = $.param(param))
+ url += (url.indexOf('?') > -1 ? '&' : '?') + param;
+
+ if (querystring)
+ url += (url.indexOf('?') > -1 ? '&' : '?') + querystring;
+
+ return url;
};
this.redirect = function(url, lock)
--
Gitblit v1.9.1