summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorChristophe Simonis <chs@openerp.com>2012-11-14 18:41:50 +0100
committerChristophe Simonis <chs@openerp.com>2012-11-14 18:41:50 +0100
commiteb5a5bf838fdeac8564802f3b08fbfad6066e8e7 (patch)
treefe2ca68b7afa00fd8e6b71f26f40198a476a32e7 /addons/web/static
parent17c426870fb8c1c762271089857ebb68f11c5ea5 (diff)
[IMP] add method session.url() to generate correct url
bzr revid: chs@openerp.com-20121114174150-9nhj50vftt4lrf0k
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/chrome.js2
-rw-r--r--addons/web/static/src/js/corelib.js15
-rw-r--r--addons/web/static/src/js/coresetup.js6
-rw-r--r--addons/web/static/src/js/view_form.js10
-rw-r--r--addons/web/static/src/js/view_list.js4
-rw-r--r--addons/web/static/src/js/views.js4
6 files changed, 26 insertions, 15 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 7e4b9a46fe8..9c73ca33165 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -903,7 +903,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
if(res.company_id[0] > 1)
topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]);
self.$el.find('.oe_topbar_name').text(topbar_name);
- var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=image_small&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
+ var avatar_src = self.session.url('/web/binary/image', {model:'res.users', field: 'image_small', id: self.session.uid});
$avatar.attr('src', avatar_src);
});
};
diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js
index 879cf94dcdd..6ea0fd53372 100644
--- a/addons/web/static/src/js/corelib.js
+++ b/addons/web/static/src/js/corelib.js
@@ -1320,7 +1320,7 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
}
};
- url.url = this.get_url(url.url);
+ url.url = this.url(url.url, null);
var ajax = _.extend({
type: "GET",
dataType: 'jsonp',
@@ -1376,8 +1376,17 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
return deferred.done(set_sid);
}
},
- get_url: function (file) {
- return this.prefix + file;
+
+ url: function(path, params) {
+ var qs = '';
+ if (!_.isNull(params)) {
+ params = _.extend(params || {}, {session_id: this.session_id});
+ if (this.httpsessionid) {
+ params.sid = this.httpsessionid;
+ }
+ qs = '?' + $.param(params);
+ }
+ return this.prefix + path + qs;
},
});
diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js
index 87f659340f6..f3166285fe7 100644
--- a/addons/web/static/src/js/coresetup.js
+++ b/addons/web/static/src/js/coresetup.js
@@ -201,7 +201,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
var self = this;
_.each(files, function (file) {
$('head').append($('<link>', {
- 'href': self.get_url(file),
+ 'href': self.url(file, null),
'rel': 'stylesheet',
'type': 'text/css'
}));
@@ -210,11 +210,11 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
load_js: function(files) {
var self = this;
var d = $.Deferred();
- if(files.length != 0) {
+ if(files.length !== 0) {
var file = files.shift();
var tag = document.createElement('script');
tag.type = 'text/javascript';
- tag.src = self.get_url(file);
+ tag.src = self.url(file, null);
tag.onload = tag.onreadystatechange = function() {
if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done )
return;
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 8f5bb86e6b9..867569e2ea5 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -4956,8 +4956,12 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
var field = this.name;
if (this.options.preview_image)
field = this.options.preview_image;
- url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' +
- this.view.dataset.model +'&id=' + id + '&field=' + field + '&t=' + (new Date().getTime());
+ url = this.session.url('/web/binary/image', {
+ model: this.view.dataset.model,
+ id: id,
+ field: field,
+ t: (new Date().getTime()),
+ });
} else {
url = this.placeholder;
}
@@ -5017,7 +5021,7 @@ instance.web.form.FieldOne2ManyBinaryMultiFiles = instance.web.form.AbstractFiel
return _.map(this.get('value'), function (value) { return commands.link_to( value.id ); });
},
get_file_url: function (attachment) {
- return instance.origin + '/web/binary/saveas?session_id=' + this.session.session_id + '&model=ir.attachment&field=datas&filename_field=datas_fname&id=' + attachment['id'];
+ return this.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'datas_fname', id: attachment['id']});
},
render_value: function () {
var render = $(instance.web.qweb.render('FieldBinaryFileUploader.files', {'widget': this}));
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 700c126d68d..db8c962efc7 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -2173,9 +2173,7 @@ instance.web.list.Binary = instance.web.list.Column.extend({
if (value && value.substr(0, 10).indexOf(' ') == -1) {
download_url = "data:application/octet-stream;base64," + value;
} else {
- download_url = _.str.sprintf(
- '/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d',
- instance.session.session_id, options.model, this.id, options.id);
+ download_url = this.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id});
if (this.filename) {
download_url += '&filename_field=' + this.filename;
}
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 19336ec3655..d29ac70bb5a 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1102,11 +1102,11 @@ instance.web.Sidebar = instance.web.Widget.extend({
on_attachments_loaded: function(attachments) {
var self = this;
var items = [];
- var prefix = this.session.origin + '/web/binary/saveas?session_id=' + self.session.session_id + '&model=ir.attachment&field=datas&filename_field=name&id=';
+ var prefix = this.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'name'});
_.each(attachments,function(a) {
a.label = a.name;
if(a.type === "binary") {
- a.url = prefix + a.id + '&t=' + (new Date().getTime());
+ a.url = prefix + '&id=' + a.id + '&t=' + (new Date().getTime());
}
});
self.items['files'] = attachments;