diff options
| author | Xavier Morel <xmo@odoo.com> | 2015-08-26 16:04:14 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2015-08-26 16:50:09 +0200 |
| commit | f5a1693f064c4a85b7cbc71dc27d72bfcb5e66bf (patch) | |
| tree | 631cb18936b1ca1c0d425fdf5ad4a43f49ac39af /addons/base_import/static/src/js/import.js | |
| parent | aa6ee3fddfbac63969d216ac2290766a63364006 (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.js | 3 |
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')); |
