diff options
| author | Vo Minh Thu <vmt@openerp.com> | 2012-01-16 12:06:31 +0100 |
|---|---|---|
| committer | Vo Minh Thu <vmt@openerp.com> | 2012-01-16 12:06:31 +0100 |
| commit | 3203d264aecd751a8c261cea4f72fa323a3098be (patch) | |
| tree | 93cdf7c89795b809963ef08a68d84d293cf41a7a /addons/web/static/src/js/data_export.js | |
| parent | 1497062ba1dbfd814c69fa4250c4eb6a09a5206a (diff) | |
| parent | 064a50bcde5f1c65a17f4feb42348b5809081085 (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.js | 35 |
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 }); |
