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/xml/import.xml | |
| 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/xml/import.xml')
| -rw-r--r-- | addons/base_import/static/src/xml/import.xml | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/addons/base_import/static/src/xml/import.xml b/addons/base_import/static/src/xml/import.xml index c3eb2dc2b0d..ae5c78c497d 100644 --- a/addons/base_import/static/src/xml/import.xml +++ b/addons/base_import/static/src/xml/import.xml @@ -5,15 +5,12 @@ <input type="hidden" name="session_id" t-att-value="widget.session.session_id"/> <input type="hidden" name="import_id"/> - <p>Select the <a - href="http://en.wikipedia.org/wiki/Comma-separated_values" - target="_blank">.CSV</a> - file to import. If you need a sample importable file, you + <p>Select the file to import. If you need a sample importable file, you can use the export tool to generate one.</p> <div class="oe_import_box"> - <label t-attf-for="file_#{_id}" autofocus="autofocus">CSV File:</label> + <label t-attf-for="file_#{_id}" autofocus="autofocus">File:</label> <input type="file" id-attf-id="file_#{_id}" - name="file" class="oe_import_file" accept=".csv"/> + name="file" class="oe_import_file" accept=".csv, .xls, .xlsx, .ods"/> <button type="button" class="oe_import_file_reload" disabled="disabled" title="Reload data to check changes."> @@ -21,7 +18,7 @@ </button> <div class="oe_import_with_file"> <a href="#" class="oe_import_toggle"> - File Format Options…</a> + CSV Format Options…</a> <div class="oe_import_toggled oe_import_options"> <p t-foreach="widget.opts" t-as="option"> <!-- no @name, avoid submission when file_update called --> @@ -363,11 +360,11 @@ </t> <t t-name="ImportView.preview.error"> <div class="oe_import_report oe_import_report_error"> - <p>Import preview failed due to: <t t-esc="error"/>. The issue is - usually an incorrect file encoding.</p> - <p>Here is the start of the file we could not import:</p> + <p>Import preview failed due to: <t t-esc="error"/>.</p> + <p>For CSV files, the issue could be an incorrect encoding.</p> + <p t-if="preview">Here is the start of the file we could not import:</p> </div> - <pre><t t-esc="preview"/></pre> + <pre t-if="preview"><t t-esc="preview"/></pre> </t> <ul t-name="ImportView.error"> <li t-foreach="errors" t-as="error" |
