summaryrefslogtreecommitdiff
path: root/addons/base_import/static/src/xml
AgeCommit message (Collapse)Author
2021-05-17[FIX] *: update documentation links Following the recent reorganisation of ↵Victor Feyens
the documentation in 12.0+, the majority of the documents have been moved and their old links are no longer valid. Some redirection rules will soon be deployed, but those rules might be dropped in some years and we want the links to still work, which is why we still replace the links to the new ones. FW-Port of odoo/odoo#70675 (13.0) closes odoo/odoo#70728 X-original-commit: 85c24961ab9ff5c1c79eb7415c97c46d9a77cca3 Related: odoo/enterprise#18283 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-10-19[FIX] *: update document linksSwapnesh Shah
Before this commit, links to the documentation were referenced the previous version, 13.0, instead of the current one, 14.0. Eventhough there is a redirection done by NGINX of a "versionless" URL to the latest one (e.g. /documentation/user/general/auth/google.html -> /documentation/user/14.0/general/auth/google.html as of today), the goal is to keep links owrking for users that will still be using the 14.0 in three years (and should not endup on the 17.0 doc). closes odoo/odoo#59554 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-08-26[FIX] base_import: remove uppercase under FavoritesHardik Prajapati
this commit removes unnecessary uppercase used under the favorites menu task - 2325684 closes odoo/odoo#56545 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-06-02[FIX] base_import: ensure reloaded file is validJulien Castiaux
The *Reload File* import functionality stands on an undefined behavior or the HTML File API. The API is not clear about what should done in case the underlying file change on the filesystem after it has been imported in the browser. It turns out the actual behavior vary among browsers and even among OSes. The *Reload File* button only works as intended when importing files via Chrome on Linux. In other cases, the browser may refuse to send the file or may send it in a corrupted HTTP request. Such malformed request is rejected in the best cases by the backend web application but there is chance it hangs. Security-wise, this problem is not much likely to happen as it requires an authenticated user with importation privileges to perform the operation. When it comes to the severity, it is possible to exhaust the available workers by forcing every one of them to hang. As there is a security impact, we decided to disable the *Reload File* functionality. Steps to reproduce ------------------ 1) Import a CSV or XLSX document in any model. 2) Wait for the data visualization to come back to the browser. 3) Change the file on disk to a) remove a few lines b) add a few more lines. 4) Click the Reload button. Wrong `size` attribute on Firefox. ---------------------------------- Impact: Firefox The advertised `Content-Length` HTTP header in the POST request is a) *greater* than the actual body length. The backend web application hangs on a `socket.recv` like function waiting for those missing bytes. b) *smaller* than the actual body length. The request is truncated and futher processing is impossible. The malformed request should have been detected and reported by the http web application as requested by the HTTP/1.1 spec [1]: > When a Content-Length is given in a message where a message-body is allowed, its field value MUST exactly match the number of OCTETs in the message-body. HTTP/1.1 user agents MUST notify the user when an invalid length is received and detected. Mitigating the issue is possible using nginx as reverse-proxy. The connection is closed after one minute if data are missing. Invalid `ERR_UPLOAD_FILE_CHANGED` --------------------------------- Impact: Chrome on Windows Chrome prevent sending the XHR due to a `ERR_UPLOAD_FILE_CHANGED` error, this error should only happens when the underlying file content have been changed the second before the request. On Windows, the error is triggered as soon as the file have been changed, not considering the modification time. [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html Section 4.4 opw-2252440 closes odoo/odoo#52276 X-original-commit: 30be09cdb7d5b80fb1e0221f58024586bd72ac61 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com> Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2020-05-04[IMP] base_import,*: move Import button to Favorite menupka-odoo
*account,crm_iap_lead,hr_expense Part of task 2234547 Co-authored-by: Mohammed Shekha <msh@odoo.com> Co-authored-by: Aaron Bohy <aab@odoo.com>
2020-01-16[IMP] base_import: improve preview table UISapan Zaveri
Task 1919628 closes odoo/odoo#30430 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-11-26[IMP] base_import: support multiple xlsx sheetsJulien Castiaux
Excel can store data in multiple tables, each is called a sheet. Odoo was only importing the first sheet making the process to import a file containing multiple sheets cumbersome. It is now possible to select the sheet in the import options. By default the first sheet is selected. closes odoo/odoo#40728 Task: 2043768 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-10-03[FIX] v13 urlsmreficent
Was still pointing to old links closes odoo/odoo#37859 Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2019-09-13[ADD] base_import: batching (& some other features)Xavier Morel
various UI changes ------------------ * renamed "test import" button to "test" * move relation fields thing to debug mode * remove "Defer parent/child computation" option as it was deprecated / removed from the backend in 80f1ac3599ee630e7556ff4fcf3eb192931eccd8, turns out this checkbox existed inactive for longer than it's been of any use (added in 68cb2ade09206b0abb3f7c8dccb5d35a6499f802 on 2017-11-29, made non-operating on 2018-01-24, that's so sad) batching -------- * add support for batching imports (skip & limit parameters) * modify client to use batched imports & properly adapt responses so it still looks like a single import for the client (more or less) e.g. update row numbers in error messages, etc... * properly handle partial imports though * disable usual loading throbber to have a single progress notification displayed continuously throughout all the batches: the normal throbber only shows after 3s of waiting for an RPC response, so it would keep flashing in and out (appear 3s into a batch's import then disappear at the end only to reappear 3s into the next batch's loading) NOTE: the limit is row-wise. If a record straddles the limit (because of nested O2M records), the record is imported in full and the "next row" is whatever row follows the record. This means a limit of 10 can lead to an import of 17 lines, and as the progress indicator is in records# the increments can jump around. Task 2059448
2019-08-28[FIX] base_import: layout issuesAaron Bohy
This rev. makes the 'Formatting Options' area responsive. Closes #34257 Task 2007558 closes odoo/odoo#36159 Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-08-20[IMP] base_import: Improve import general UX (back2basics)Yannick Tivisse
Purpose ======= Improve error management UX on import. TaskID: 2049992 closes odoo/odoo#35804 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-02-13[IMP] web, *: remove explicit references to `session_id`Martin Geubelle
Since rev. odoo/odoo@f4d541e the `session_id` cookie uses the `httponly` flag so it cannot be accessed through client side script. But before this rev. the `session_id` was still provided by the server to the webclient (in session_info, mostly) and was stored and accessible. This made XSS injection more dangerous than they should be as it was very easy to steal the `session_id`. As the browser automatically set the `session_id` on every request to the server, the webclient shouldn't need any explicit reference.
2018-10-09[FIX] v12 urlsmreficent
Was still pointing to old links closes odoo/odoo#27443
2018-09-03[FIX] base_import: 'Create if does not exist' optionJPR
2018-08-16[FIX] base_import: fix formatting options structureDavid Monjoie
It used to work by chance with Bootstrap 3, but since we are now using Bootstrap 4, the fake good appearance collapsed, revealing the awful structure it used to have.
2018-08-16[ADD] base_import: debug option to create M2O/M2M recordsMohammed Shekha
Adds a checkbox to import columns (in debug mode) allowing a user to create records M2O and M2M records not found (via name_search). Task ID: 1850633 * uses a context key to avoid altering basically all the import callstack * attempted to lift the creation in the `_str_to_*` functions and create m2m via commands, but that doesn't really work out
2018-08-09[FIX] base_import: import options layoutXavier Morel
Broke during bootstrap 4 migration.
2018-08-06[FIX] base_import: avoid using the same color for background and fontXavier Morel
That turns out to make the text completely invisible, which is not very convenient for warning and error messages which we may want the user to read.
2018-08-06[IMP] base_import: swap load and reload buttonsXavier Morel
Task 1870663
2018-08-02[FIX] base_import: BS4, visible error text on import failqsm-odoo
In BS3, the combination "text-danger" and "bg-danger" worked as the red color for texts was not the same as the red color for backgrounds. With BS4, they are the same so it does not make sense. Fortunately, we introduced a mixin customization which automatically selects the correct color according to the background. So removing the "text-danger" part is enough to make sure the text will be visible over "bg-danger" background.
2018-07-27[REF] *: BS4, adapt col-related classesqsm-odoo
col-lg-* -> col-xl-* col-md-* -> col-lg-* col-sm-* -> col-md-* col-xs-* -> col-* col-lg-offset-* -> offset-xl-* col-md-offset-* -> offset-lg-* col-sm-offset-* -> offset-md-* col-xs-offset-* -> offset-* col-lg-pull-* -> order-xl-1 col-md-pull-* -> order-lg-1 col-sm-pull-* -> order-md-1 col-xs-pull-* -> order-1 col-lg-push-* -> order-xl-2 col-md-push-* -> order-lg-2 col-sm-push-* -> order-md-2 col-xs-push-* -> order-2
2018-07-27[REF] *: BS4, rename btn-default to btn-secondaryqsm-odoo
BS4 "btn-default" class was replaced with "btn-secondary", which makes more sense.
2018-07-27[REF] *: BS4, remove the use of btn-smqsm-odoo
Odoo made the bad choice of using the 'btn-sm' class for every button instead of configuring the padding for default 'btn' to be smaller. In BS4, the style of btn-sm is actually more complex, lowering the font-size too. Also, btn-xs was removed so we would not have the possibility to display smaller button than our default ones. This commit removes btn-sm wherever it was used. Unfortunately, this might remove it at some places where it made sense but this can be restored in a second time.
2018-07-27[REF] *: BS4, adapt display classesqsm-odoo
The system completely changed. I also had to adapt classes to new screen breakpoints. hidden/hide -> d-none show -> d-block hidden-xs -> d-none d-md-(block/inline/...) hidden-sm -> d-md-none d-lg-(block/inline/...) hidden-md -> d-lg-none d-xl-(block/inline/...) hidden-lg -> d-xl-none visible-xs-* -> d-* d-md-none visible-sm-* -> d-none d-md-* d-lg-none visible-md-* -> d-none d-lg-* d-xl-none visible-lg-* -> d-none d-xl-* hidden-print -> d-print-none visible-print-* -> d-none d-print-* ... and all possible combination of those had to be handled too.
2018-07-17[IMP] import/export UIsJigar Patel
Task 40692 Various changes to import/export (mainly) UIs: * default to excel & "full" (non-import-compatible) export * auto-detect encoding of CSV using chardet * remember column -> field mapping after having imported a file (useful for repeated imports where auto-matching failed) * better handle localised booleans & column names * automatically select source list view's fields when exporting * better integrate import templates feature and add a number of templates
2018-06-22[IMP] Improve compatibility with screen readers (accessibility) (#24574)kujiu
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable. This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader. * [IMP] Labels must have a for attribute. Improve accessibility. * [IMP] Better error message when trying to read a missing cached value * [FIX] Add some aria-label and title attributes for screen readers. * [FIX] Template name is not included in the error message in case of SyntaxError in QWeb * [FIX] Improve the Tour failed at step error message to be more explicit. * [IMP] Add aria-labels * [FIX] Add missing aria-label on failing test * [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all. * [IMP] Color names on kanban views and many2many tags * [IMP] Add some checks on views for accessibility. * [IMP] Add `alt` attribute on `img` tags. * [IMP] Add aria-label and title on non-described icons * [IMP] Add button role to widgets with btn class * [IMP] Translate aria and formatted attributes. * [IMP] Remove wrong aria-labelledby * [IMP] Add menu role on dropdowns * [IMP] Buttons must be focusable * [IMP] Add aria attributes on progress bars * [IMP] Improve accessibility of basic widgets * [IMP] Change main layout to more semantic tags * [IMP] Add menuitem role when missing * [IMP] Remove wrong role='presentation' * [IMP] Improve accessibility of tab panels * [IMP] Add aria-invalid on invalid fields * [IMP] Add aria-sort on ordered columns * [IMP] Add role on alerts * [IMP] Use dialog role, header, main and footer tags for modals * [IMP] Add labels on o_status * [IMP] Improve accessibility of kanban view with feeds and articles * [IMP] Add alerts in case of new messages * [IMP] Add widget, navigation or img role to aria-labelled items
2018-04-25[IMP] base(_import),web: mute Add/Create button in x2mDipali Tank
... by setting it 'btn-default', because users hesitate between that button, and those in the control panel. Task 32950 Co-authored-by: dbh <dbh@odoo.com> Co-authored-by: aab-odoo <aab@odoo.com>
2018-04-18[REF] *: get rid of introduced @​extendqsm-odoo
During first scss convertion, classes called as mixins were changed to an @​extend instruction which was the best approximation given the fact there is no equivalent in sass to do that. The problem is that the instruction is slowing the scss computation a lot and might also break the style in unexpected ways because of the complex unwanted selectors the instruction induces. This commit removes the need of extends. This is done case per case. Sometimes this involves adding classes in xml, sometimes to change the style a little, ... The button rendering refactoring which was made at the start of the LESS to SASS merge was also done in prevision of this. After this commit, sass computation is like 5-6 times faster than less computation while it was like 10 times *slower* before this commit.
2018-04-16[MERGE] forward port branch 11.0 up to ad825b673b5Christophe Simonis
2018-04-12[FIX] base_import: activate advanced modeNicolas Martinelli
The commit 1ba4fbe640cf22abe did not match the specs of the task, but was merged anyway. Reverting the commit, and check by default so the user is not confused with missing fields. opw-1824074
2017-12-12[MERGE] forward port branch 11.0 up to b37cc1f9b78Christophe Simonis
2017-12-12[FIX] v11 urlsMiquel Raïch
Was still pointing to old links Closes #21590
2017-12-12[IMP] base_import: defer parent storeNicolas Seinlet
Makes possible to choose `defer_parent_store_computation` in UI. Closes #21320
2017-10-24[IMP, ADD] base_import,account,...: Provide import templates to ease the ↵Rohan Patel
import process PURPOSE ======= Provide import templates to ease the import process Specification ============= SPECIFICATION ============== 1/ Add specific templates to import screens: e.g. for product.template, res.partner and bank statements 2/ Replace import files suggested in planners (sales & website) by those ones. 3/ Add import template to bank statement import wizard for CSV, OFX, QIF and CODA files
2017-05-23[IMP] base_import: improve import actionAkash Bhavsar
- Rename "Validate" button to "Test Import" - unmatched columns are marked in red - better column matching (show suggestions of the char field even if the imported values are of int type) PR #16881, close task 32894
2017-04-11[IMP] base_import,web: enable 'Import' feature in KanbanAaron Bohy
Applies commit odoo/odoo@dba53fb117d678bf277b55c5a5df83fe44e252fa in the new views. The import feature was only available in List views before this commit.
2017-04-11[REF] web, *: redesign all JS viewsGéry Debongnie
This commit introduce a full redesign of all JS views. We started basically from scratch. The goal was to unify all the various views under a common framework, to make them testable, to make then usable in different conditions (in studio, or in the frontend), and to make our lives easier. Some important points are: - we introduced new coding guidelines (camelCase, 80 chars width, ...) - we have a brand new testing framework (still QUnit based) - kanban view moved to the web addon - calendar view (formerly web_calender) moved to web as well - the tree view was removed - all new code should be documented We hope that this code is the start of a new era for the Odoo web client, we want to have a high quality codebase, well documented, well tested, well designed. Work done by the framework team: mostly aab, ged, chm, dmo, qsm
2016-12-07[ADD] base_import: allow to import XLSM file types in open dialogjoe1981alAPR
XLSM are parsed as MS Office Excel files using xlrd Closes #14137
2016-11-10[IMP] base_import: Improve import preview for related fieldsHaresh Shyara
normal mode: Importing only regular/basic fields from source file advanced mode: Importing any related fields from source file(i.e. if detected pattern in header like '<relational_fieldname>/<fname>') - Rename following checkbox "Show all fields for completion (advanced)" in "Show fields of relation fields (advanced)" - If the import file contains a column with a field of a relation field, show the column label in the preview, even if "Show fields of relation fields (advanced)" is not checked > to make it less confusing when importing advanced files (e.g. products with attributes)
2016-10-20[FIX] base_import: typo in url for helpJeremy Kersten
This commit closes #13903
2016-07-07[MOV] base_import: module directory organizationHitesh Trivedi
Note: move test models file in models to not import tests directory, which breaks the mute_logger of test cases
2016-06-08[MERGE] forward port of branch saas-10 up to 2f948c7Christophe Simonis
2016-06-02[FIX] base_import: t-if does not work with t-jqueryXudong Yang
Not evaluated, move the condition to the button Closes #12230
2016-04-07[REF] base_import: simplify import by reducing choice for the columns based ↵Cedric Snauwaert
on heuristic automatically try to detect type of columns from the first 10 rows of file: If column only contains integer, only show, int, float, monetary, m2o, o2m, m2m fields in wizard If column only contains true/false values, only show boolean fields in wizard etc add an advanced mode which is the same as previous import (show all fields) Support different date format and float value with currency as well as float value with parenthesis to reprensent negative value.
2015-12-18[IMP] base_import: add FAQ entry about CSV date formatsXavier Morel
task 21446
2015-10-01[ADD] client-side CSRF supportXavier Morel
* add CSRF token as core.csrf_token * add CSRF tokens to client-generated and/or JS-submitted forms * remove broken "compatibility" mode of web.ajax.post /cc @dmo-odoo I've no idea how that was supposed to work, from looking things up all modern browsers seem to support FormData, and old IEs which don't don't support fallbacks either and would require submitting an actual form as fallback so...
2015-08-26[ADD] base_import: support for XLS and ODS filesXavier Morel
* 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
2015-07-29[IMP] base_import file selection show only .csv filesAntony Lesuisse
2015-07-29[IMP] base_import: ControlPanelMixin and new design compatibilityAaron Bohy
- Use the ControlPanelMixin in the Import view; - Adapt the stylesheet to fit with both community and enterprise editions; - Convert the css into less, use mixins and variables defined in web; - Return the reload() deferred in the on_reverse_breadcrumb callback so that the previous action waits to be properly reloaded before being shown.
2015-07-29[FIX] base_import: action button 'Import'Aaron Bohy
Adapt the template according to the refactoring of the parent commit.