summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/fields/basic_fields_tests.js
AgeCommit message (Collapse)Author
2018-07-23[MERGE] forward port branch 11.0 up to 219d2296d67Christophe Simonis
2018-07-20[FIX] web: controller update now waits for _update to resolveeco-odoo
Before this, the deffered returned by _update was not taken into account.
2018-07-20[IMP] web: core: ajax: loadCSS now returns a promiseeco-odoo
It is useful to know when the stylesheet has been loaded in order to prevent displaying unstyled content. CalendarView and the dashboard_graph widget (JournalDashboardGraph) use loadCSS through cssLibs / loadLibs so the tests now have to use createAsyncView instead of createView.
2018-07-19[FIX] web: format value of statinfo widgetlen-odoo
The value of the statinfo widget is rendered by the qweb after a t-esc. Say if the python rounding returned 14.0000000001 (supposed to be a two digits precision number through the magic of floats) then the statinfo widget would print it as-is. We now format the value at assignation. opw 1865426
2018-07-09[FIX] *: fix some side-effects of ↵qsm-odoo
https://github.com/odoo/odoo/commit/9de1bc0eef6f5bfaa2a8d745431caa361ae91548 - JS Modals were not correctly built anymore, their .modal-body element was duplicated and many without-effect JS lines were introduced (as a side effect, the form view design was broken when inside modals) - Tests were changed to make bugs go unnoticed. For example, the media dialog functionnality was entirely broken because the .modal-dialog element was not receiving the correct class anymore. - The JS translation function is _t, not _ - Do not use the <title/> tag as a regular DOM element, it is meant to be unique, in the <head/> section - CSS rules were added to the utils.scss file, which is meant to contain functions and mixins, otherwise, the rule is duplicated in every asset - Some icons were still broken, as missed by https://github.com/odoo/odoo/commit/f90cf060a3cfeb37a67bec83264c0aaab8892b56 - Tests were changed to use [role="dialog"]/footer/header in their selectors without any reason, this commit restores some of that to avoid rebase conflicts with the BS4 work. - ... Note: other elements should still be discussed, like the direct use of the 'o_form_label' class in views definition... but those do not cause direct problems.
2018-06-27[MOV] web,im_livechat: Move clipboard widget to webYannick Tivisse
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-19[MERGE] forward port branch saas-11.3 up to 204935119d1Christophe Simonis
2018-04-18[MERGE] forward port branch saas-11.2 up to fed775bc0c2Christophe Simonis
2018-04-18[MERGE] forward port branch 11.0 up to 8c64159b884Christophe Simonis
2018-04-18[FIX] web: don't ignore required attrs on image fieldsAaron Bohy
Before this rev., falsy image fields could be saved even if they were required.
2018-04-18[REF] *: stop mentioning "LESS" where this is not requiredqsm-odoo
* web, web_editor, website, im_livechat
2018-04-16Revert "[FIX] web: remove &shy; when saving phone number"Christophe Simonis
This reverts commit b8b0f947bf7f7abf930a1797fa55c7f7dd33faa2.
2018-04-16[MERGE] forward port branch saas-11.2 up to 90f8f17fb4fChristophe Simonis
2018-04-16[MERGE] forward port branch 11.0 up to ad825b673b5Christophe Simonis
2018-04-13[FIX] web: remove &shy; when saving phone numberNicolas Lempereur
When Odoo display a phone number number, on phone or if VOIP is installed a invisible `&shy;` character was added from 9.0 up to saas-11.2 so an applications such as skype would not be concerned with the number. But if someone copy-pasted from this to somewhere else in Odoo, we would get incorrect number with this invisible caracter. So this change make a special case for the "FieldPhone" so the character is removed from data saved. opw-1834858 closes #24223
2018-04-06[MERGE] forward port branch 11.0 up to d277adf4d59Christophe Simonis
2018-04-03[FIX] web: time format without secondsGoffin Simon
Steps to reproduce the issue in 11.0 Enterprise: - Go to the language English - Remove from the time format the seconds - Refresh the page - Go to sales - Create a sales order; Bug: - You get the warning message closes #23596 closes #22027 opw:1829577
2018-03-28[IMP] web: override size attributes in image widgetMartin Geubelle
Size attributes (e.g. `max-width`) are sometimes set in css (i.e. with classes, see `oe_avatar`). They must however be overriden if they are specified on the widget. Example: <field name="image" widget="image" class="oe_avatar" options="{'size': [180, 180]}"/> The `max-width: 90px` set on oe_avatar must be overriden in this case. Note that the attribute `img_width` and `img_height` have been depreciated as `width` and `height` are fulfilling the exact same purpose.
2018-03-21[MERGE] forward port branch saas-11.2 up to 500e3f49705Christophe Simonis
2018-03-20[MERGE] forward port branch 11.0 up to 2835d299792Christophe Simonis
2018-03-12[FIX] web: 'toggle_button' widget in edit modeAaron Bohy
The 'toggle_button' widget is one of special field widgets that can trigger changes in readonly mode (in this case, toggle the boolean value when clicked). It was working fine in form views in 'readonly' mode, as in this case, the new value is saved directly, and the form view is re-rendered (a new widget is created with the new value). However, in 'edit' mode, the value isn't saved directly (the user has to click on 'Save' to save the changes), the widget is reset with its new value, and the reset wasn't correctly handled in this particular widget. Fixes #23400
2018-03-02[IMP] web,hr: Phone widget is always clickableAnkit Sathvara
With this commit, when a phone number is clicked (in readonly), - if voip is not installed, it opens an app according to the user choice (e.g. skype), and on mobile, it opens the phone app to call the number - if voip is installed, in desktop, it opens voip, and on mobile, it still opens the phone app to call the number, because webRTC is not supported. This commit also makes the employee form view use the phone widget for the 'Work Phone' and 'Work Mobile' fields. Task #30369
2018-02-12[MOV] web, mrp: move `pdf_viewer` widgetMartin Geubelle
This widget is generic enough to be used in other modules than mrp so we move it in the web module. Closes #22569
2018-02-12[REF] web: tests: move calls to removeSrcAttributeAaron Bohy
In the tests environment, we listen to the 'DOMNodeInserted' event to remove the src attribute of img and iframe nodes as soon as they are inserted into the DOM, so that they don't perform RPCs. However, this listener was bound in the create(Async)View, and createActionManager helpers only. This rev. moves it to the addMockEnvironment helper which is more global, and basically used by all tests. Moreover, we now listen to the 'DOMNodeInserted' event on the body, instead of on the widget, as it may happen that some content is inserted into the DOM outside the widget itself (e.g. dialogs are appended to the body).
2018-02-01[MERGE] forward port branch saas-11.1 up to 7e469eb77aaChristophe Simonis
2018-02-01[MERGE] forward port branch 11.0 up to f5e7b866860Christophe Simonis
2018-01-26[IMP] web,*: config: add XXS size to config.deviceAaron Bohy
In Less, the size_class XXS is defined and used in media queries. This rev. adds it in JS for sake of consistency. Code in addons comparing the size_class needed to be adapted due to the new XXS size_class. Moreover, we now use the helper 'config.device.isMobile' everywhere we should, instead of manually comparing the size_class. Finally, we changed the way the config.device has to be specified in the test environment. From now on, only the size_class should be set, and the isMobile flag is computed automatically.
2018-01-25[FIX] web: add target=_blank to url field widgetsGéry Debongnie
Url in the web client are supposed to open in a new tab. This was the way it worked in v10.0 and was lost with the refactoring of the new views. We just reintroduce that behaviour with this commit. Closes github issue #22389
2018-01-12[MERGE] forward port branch 11.0 up to 3b80a059ff4Christophe Simonis
2018-01-12[FIX] web: binaryfile field in list viewsAlexandre Kühn
Revert partially 255e8ca3d92e3a77d7c2a145677623518bc2f978 Removed widget 'download_link', as it was a sub-version of widget 'binary': it did the exact same thing (representation of binary fields by means of a download link) in a much better-looking way (download icon + filename as text of the download link, instead of just a download link with text "Download"). Also, the values of binary fields might be already a human-readable binsize (e.g. 2.52 MBs), instead of its plain textual string representation in base64: The contextual parameter 'bin_size', when set to true, does not download the data of binary fields. As a consequence, the server provides the sizes of the binary, instead of their value.
2018-01-10[MERGE] forward port branch 11.0 up to ff0abd214c8Christophe Simonis
2018-01-08[FIX] web: binary field format in list viewAlexandre Kühn
Binary fields were simply shown simply by their textual representation in list views, e.g. the base64 string. There was no formatter for binary fields, therefore it has been implemented so that it displays its estimated size. Binary fields in list views had a download link in v10.0. We provide this feature back by means of a widget called 'download_link'. It is also possible to define an option to set the field name having the filename as its value. Example: <tree> <field name="fname"/> <field name="datas" widget="download_link" options="{'filename': 'fname'}"/> </tree> with the following record: {fname: 'document.txt', datas: 'Cg=='}, we get a file named "document.txt" by clicking on the download link. Closes #21996
2018-01-04[IMP] web: support variable digitsNicolas Martinelli
In v10, a `Float` field with `widget="monetary"` option uses the decimal precision of the field. In v11, however, it uses the decimal precision of the currency. However, in many cases `widget="monetary"` is used in the sole purpose of displaying the currency symbol. The precision of the field sould be kept. This commit introduces the support of the decimal precision of the field for this specific use case thanks to the `field_digits` option: ``` <field name="pouet" widget="monetary" options="{'field_digits': True}" /> ``` If such an option is used, the field precision will prevail over the currency precision. Related to #21686 opw-800279
2018-01-03[MERGE] forward port branch 11.0 up to fe22a0f9ca9Christophe Simonis
2017-12-29[FIX] web: currency digitsNicolas Martinelli
- Set the currency rounding to 0.001 (3 digits) - Create an account move - Add an account move line, set an account When switching from edit/read-only mode, the rounding switches from 2 to 3 digits. This is because, in edit mode, the format method is the method of the float widget. Therefore, in this case, the formatting doesn't take into account the currency rounding. To avoid this, we simply use a `noSymbol` flag to avoid adding the currency symbol, while keeping the monetary rounding. opw-800279
2017-12-06[MERGE] forward port branch 11.0 up to f96a797fe62Christophe Simonis
2017-12-06[MERGE] forward port branch saas-16 up to b8540eefe3bChristophe Simonis
2017-12-05[FIX] web: BinaryFile not download when new recordLucas Perais (lpe)
Let's have: - on res.company a binary file field named x_file - on res.users a related binary field to company_id.x_file, and make it readonly - On the res.users form view, display the new field Before this commit in create mode, upon clicking on download the file, the server crashed, because the record id was empty. Then, the JS crashed in turn because of the unhandled 404 from the server. Since the id of a new record will always be unset, we choose to disable the download option in this very specific case OPW 777042
2017-11-28[MERGE] forward port branch 11.0 up to 8fb25e185bbChristophe Simonis
2017-11-28[MERGE] forward port branch saas-16 up to 3f66814a0d0Christophe Simonis
2017-11-24[IMP] web: FieldChar trim its value by defaultAlexandre Kühn
With this commit, we change the behaviour of the web client with respect to spaces in char fields. Most of the time, starting and ending spaces have no value, and worse, make the data not so reliable. After this commit, field char will trim by default (so, if the user input a char as ' abc ', the string 'abc' will be sent to the server instead). Note that this only applies when the value of the field is changed. If someone open a form view, then switches to edit mode and save, nothing will change. This is the desired behavior most of the time. However, in some rare cases, this is actually harmful. For example, if we trim the 'decimal_point' field, it will not be possible to enter a whitespace as decimal separator. In those cases, we introduce a new attribute 'trim', which allow the developer to desactivate that feature.
2017-11-22[FIX] web: readonly monetary field onchange currencyAlexandre Kühn
Before this fix: A readonly monetary field was not updating its currency symbol when selecting another currency. Scenario: 1. Activate multi-currency with $ (default) and € 2. In hr_expense, go to My Expenses to Submit 3. Create a new expense 4. Select 'EUR' as currency => Unit Price is correctly updated with €, but not Total. With this fix: Total displays the correct currency in edit mode. Explanation: Monetary fields in readonly are relying on _formatValue() to display their value. _formatValue() uses this.formatOptions.currency, which stores the currency at loading of the field. We must update its value whenever there is a change of currency. opw-783378
2017-11-21[FIX] web: fieldDependency should be in fields tooLucas Perais (lpe)
Commit f45edfbe6d03b15977392dda9561cd7a3e16ce34 fixed a bug on image fields but was a partial fix. The problem is that while adding field dependencies to fieldsInfo, it did not add them in the fields of the view, making the view crash. After this commit, views and subviews contain fieldDependency as both info and actual fields of the view OPW 780021, 781620, 779649 [FIX] web: tests on many2many subviews closes #20891
2017-11-20[FIX] web: empty field char should be set to falseGéry Debongnie
With the new views, empty char fields were sent to the server as '' (empty string) instead of false. This is not the correct behaviour, and actually cause some problems. For example, if you have a char field with a unicity constraint, then you cannot set it to '', since there is only one record that can take that value.
2017-11-13[FIX] web: JournalDashboardGraph widget crashAaron Bohy
The JournalDashboardGraph requires nv, which is lazyloaded. Before this rev., a crash occurred when this widget was instantiated and destroyed before the loading of the lib was complete (because a function of the lib was called in destroy()). For instance, press F5 (to ensure that nv isn't already loaded), activate some throttling in the network tab, go to Accounting and as soon as the dashboard shows up, click on another menu. opw 781628
2017-10-27[MERGE] forward port branch saas-16 up to 8fdac4b6b2fChristophe Simonis
2017-10-27[FIX] web: mock server should add a __last_update fieldGéry Debongnie
A recent fix in web changed the field FieldImage to make sure it also loads a __last_update field. This is fine, except that a test in enterprise (web_clearbit_tests) was using a field image, and failed because it could not find the __last_update field in the demo data. With this commit, we make sure that the mock server is always aware of the __last_update field.
2017-10-25[FIX] web: image widget is dependent on its record's last_updateLucas Perais (lpe)
As a way to optimize loading, images are not necessarily fetched in db. They have, in their url a "unique" parameter, which is the last_update date on **the record** and controls on the python-side whether it should get the image from a cache or from the db. Before this commit, this __last_update field wasn't present in the view, so it wasn't fetched, and writes on a model's image worked but did not refresh. The image displayed was the old one. After this commit, when the image field widget is present, we force the loading of the __last_update field of the record. Upon update, the image displayed is the new one. OPW 777552 closes #20457
2017-10-20[MERGE] forward port branch saas-16 up to dc2a6c6cd2aChristophe Simonis