[FIX] web,website,point_of_sale: session.debug value

Now that the debug URL parameter can be equal to "assets", the session
debug variable has to be updated to not only be true or false. Now, its
value is false if the debug parameter is not specified in the url and
a the URL parameter string value otherwise (or 1 if the value is an
empty string).

Also modify all redirection which kept the debug mode to also keep
=assets. Use the $.param.querystring function.
This commit is contained in:
qsm-odoo
2016-07-13 16:13:04 +02:00
parent 05a143a416
commit 9b77d76e71
5 changed files with 11 additions and 6 deletions
+2 -1
View File
@@ -335,7 +335,8 @@ var Gui = core.Class.extend({
this.chrome.loading_message(_t('Closing ...'));
this.pos.push_order().then(function(){
window.location = '/web' + ((session.debug)? '?debug' : '') + '#action=point_of_sale.action_client_pos_menu';
var url = "/web#action=point_of_sale.action_client_pos_menu";
window.location = session.debug ? $.param.querystring(url, {debug: session.debug}) : url;
});
},
+1 -1
View File
@@ -835,7 +835,7 @@ var ActionManager = Widget.extend({
ir_actions_act_url: function (action) {
var url = action.url;
if (session.debug && url && url.length && url[0] === '/') {
url = $.param.querystring(url, 'debug');
url = $.param.querystring(url, {debug: session.debug});
}
if (action.target === 'self') {
+5 -2
View File
@@ -155,8 +155,11 @@ var Apps = Widget.extend({
self.get_client().then(function(client) {
self.client = client;
var qs = (session.debug ? 'debug&' : '') + 'db=' + client.dbname;
var u = client.origin + '/apps/embed/client?' + qs;
var qs = {db: client.dbname};
if (session.debug) {
qs.debug = session.debug;
}
var u = $.param.querystring(client.origin + "/apps/embed/client", qs);
var css = {width: '100%', height: '400px'};
self.$ifr = $('<iframe>').attr('src', u);
@@ -32,7 +32,8 @@ var Session = core.Class.extend(mixins.EventDispatcherMixin, {
this.avoid_recursion = false;
this.use_cors = options.use_cors || false;
this.setup(origin);
this.debug = ($.deparam($.param.querystring()).debug !== undefined);
var debug_param = $.deparam($.param.querystring()).debug;
this.debug = (debug_param !== undefined ? debug_param || 1 : false);
// for historic reasons, the session requires a name to properly work
// (see the methods get_cookie and set_cookie). We should perhaps
@@ -127,7 +127,7 @@ var Theme = Widget.extend({
}
this.$el.addClass('loading');
if (!reload && !session.debug) {
if (!reload && session.debug !== "assets") {
var self = this;
return ajax.jsonRpc('/website/theme_customize', 'call', {
enable: enable,