summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/data_export.js
diff options
context:
space:
mode:
authorVo Minh Thu <vmt@openerp.com>2012-01-16 12:06:31 +0100
committerVo Minh Thu <vmt@openerp.com>2012-01-16 12:06:31 +0100
commit3203d264aecd751a8c261cea4f72fa323a3098be (patch)
tree93cdf7c89795b809963ef08a68d84d293cf41a7a /addons/web/static/src/js/data_export.js
parent1497062ba1dbfd814c69fa4250c4eb6a09a5206a (diff)
parent064a50bcde5f1c65a17f4feb42348b5809081085 (diff)
[MERGE] merged trunk.
bzr revid: vmt@openerp.com-20120116110631-lrzp6uxsjki7by22
Diffstat (limited to 'addons/web/static/src/js/data_export.js')
-rw-r--r--addons/web/static/src/js/data_export.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/addons/web/static/src/js/data_export.js b/addons/web/static/src/js/data_export.js
index 78dc3bef1f9..78be735edc7 100644
--- a/addons/web/static/src/js/data_export.js
+++ b/addons/web/static/src/js/data_export.js
@@ -63,7 +63,15 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
do_setup_export_formats: function (formats) {
var $fmts = this.$element.find('#export_format');
_(formats).each(function (format) {
- $fmts.append(new Option(format[1], format[0]));
+ var opt = new Option(format.label, format.tag);
+ if (format.error) {
+ opt.disabled = true;
+ opt.replaceChild(
+ document.createTextNode(
+ _.str.sprintf("%s — %s", format.label, format.error)),
+ opt.childNodes[0])
+ }
+ $fmts.append(opt);
});
},
show_exports_list: function() {
@@ -74,7 +82,7 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
}
return this.exports.read_slice(['name'], {
domain: [['resource', '=', this.dataset.model]]
- }, function (export_list) {
+ }).then(function (export_list) {
if (!export_list.length) {
return;
}
@@ -114,7 +122,7 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
if (value) {
self.do_save_export_list(value);
} else {
- alert("Pleae Enter Save Field List Name");
+ alert(_t("Please enter save field list name"));
}
});
} else {
@@ -349,24 +357,27 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
export_field.push($(this).val());
});
if (!export_field.length) {
- alert('Please select fields to save export list...');
+ alert(_t("Please select fields to save export list..."));
}
return export_field;
},
on_click_export_data: function() {
- $.blockUI(this.$element);
- var exported_fields = [], self = this;
- this.$element.find("#fields_list option").each(function() {
- var fieldname = self.records[$(this).val()];
- exported_fields.push({name: fieldname, label: $(this).text()});
- });
+ var self = this;
+ var exported_fields = this.$element.find('#fields_list option').map(function () {
+ var name = self.records[this.value] || this.value
+ // DOM property is textContent, but IE8 only knows innerText
+ return {name: this.value,
+ label: this.textContent || this.innerText};
+ }).get();
+
if (_.isEmpty(exported_fields)) {
- alert('Please select fields to export...');
+ alert(_t("Please select fields to export..."));
return;
}
exported_fields.unshift({name: 'id', label: 'External ID'});
var export_format = this.$element.find("#export_format").val();
+ $.blockUI();
this.session.get_file({
url: '/web/export/' + export_format,
data: {data: JSON.stringify({
@@ -375,7 +386,7 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
ids: this.dataset.ids,
domain: this.dataset.domain,
import_compat: Boolean(
- this.$element.find("#import_compat").val())
+ this.$element.find("#import_compat").val())
})},
complete: $.unblockUI
});