summaryrefslogtreecommitdiff
path: root/addons/base_import/static/src/js/import.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@odoo.com>2015-08-26 16:04:14 +0200
committerXavier Morel <xmo@odoo.com>2015-08-26 16:50:09 +0200
commitf5a1693f064c4a85b7cbc71dc27d72bfcb5e66bf (patch)
tree631cb18936b1ca1c0d425fdf5ad4a43f49ac39af /addons/base_import/static/src/js/import.js
parentaa6ee3fddfbac63969d216ac2290766a63364006 (diff)
[ADD] base_import: support for XLS and ODS files
* added intermediate ``_read_file`` step dispatching between CSV, ODS and XLS(X) parsing - primary dispatch on mime type, secondary on file extension: + OS may not provide a relevant mime type if no software locally installed for the filetype (e.g. Windows sends excel files as application/octet-stream if excel is not installed, and ODS files as zip if OpenOffice/LibreOffice isn't installed) + applications may re-register extensions to non-standard mimetypes breaking the dispatcher So if the mimetype is found trust it, otherwise try with the filename's extension (if any) - all readers skip lines with only empty cells in their output - ODS and XLS content are "CSVified", rows are converted to arrays of unicode strings * UI altered to not assume CSV files everywhere, and avoid returning garbage preview data for non-CSV imports Various: * added a ``can_import`` utility function to tests.common, can be used to skip tests if an optional Python dependency is not installed (but one would like tests to run if the dependency is available) * fixed datetime issue in ir_fields * added converter for monetary fields (iso float) * spreadsheet don't have integers, twiddling required to ensure integral values won't be serialized as floats (breaking conversion back to Python) * improved some tests by asserting no error is generated (bonus: logs the error message if there is one, rather than just saying the result is blown) * because some systems only provide elderly versions of XLRD (e.g. current debian stable provides 0.9.2 from April 2013) - keep using xldate_as_tuple instead of 0.9.3's xldate_as_datetime, workaround is simple - check for xlrd.xlsx in case of pre-0.8 XLRD Authorship: Ronak Baxi <rba@odoo.com> Mohammed Shekha <msh@openerp.com> Task 10792 Closes #7285
Diffstat (limited to 'addons/base_import/static/src/js/import.js')
-rw-r--r--addons/base_import/static/src/js/import.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/addons/base_import/static/src/js/import.js b/addons/base_import/static/src/js/import.js
index 4854df76410..5c57ff708f5 100644
--- a/addons/base_import/static/src/js/import.js
+++ b/addons/base_import/static/src/js/import.js
@@ -144,7 +144,7 @@ var DataImport = Widget.extend(ControlPanelMixin, {
this.id = null;
this.Import = new Model('base_import.import');
this.session = session;
- action.display_name = _t('Import a CSV File'); // Displayed in the breadcrumbs
+ action.display_name = _t('Import a File'); // Displayed in the breadcrumbs
},
start: function () {
var self = this;
@@ -237,6 +237,7 @@ var DataImport = Widget.extend(ControlPanelMixin, {
if (!this.$('input.oe_import_file').val()) { return; }
this.$el.removeClass('oe_import_preview oe_import_error');
+ this.$el.find('.oe_import_toggle').toggle((this.$('input.oe_import_file')[0].files[0].type == "text/csv"));
jsonp(this.$el, {
url: '/base_import/set_file'
}, this.proxy('settings_changed'));