Commit Graph
6961 Commits
Author SHA1 Message Date
Martin Trigaux d20fd7bdbb [FIX] web: display checked checkbox when printing
Fixes #15147
2017-02-10 13:34:31 +01:00
Goffin Simon 2f328d3447 [FIX] web: Dashboards error
Steps to reproduce:
Go to any pivot view (for example Sales > Report > Sales) and add
the current view to your personnal dashboard (in the search view: Favourites > Add to my Dashboard)
Go to the dashboard, traceback because $buttons was not defined.

opw:707296
2017-02-10 11:01:03 +01:00
Géry Debongnie b8922c964c web: pivot view properly updates measure list
Before this commit, when changing measures from the favorites menu (by
selecting a filter with some pivot_measures), the measures in the
dropdown menus were not correctly updated.

This commits make sure that we update the active measures in the menu after
each changes coming from a do_search.
2017-02-01 11:55:53 +01:00
Olivier Dony 6edb749534 [FIX] web: provide correct autofill browser hints
Modern browser implement the autofill specs as described at
 https://html.spec.whatwg.org/multipage/forms.html#autofill

This means that there is now a way to tell the browser when a password
field is supposed to be filled with the user's own password (e.g. on a
login field), and when it's supposed to be used to input a new secret
value (e.g. when changing someone else's password).

This can be distinguished by setting the autocomplete attribute
to `current-password` or `new-password`.

In addition, many browsers have decided to entirely disregard the
autocomplete='off' attribute value, because it is felt that using
a secure password manager (as provided by those browsers) is a net
gain for security, allowing users to pick stron passwords.
See also https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

Based on this, the framework should generally consider that
password fields in the backend are meant to be used for *setting*
new values (autocomplete="new-password", i.e. no autocompletion!),
whereas the password field on the login page can indeed be autofilled
with the user's current password (autocomplete="current-password").

In addition to making the above changes, this patch also
lets developer specify their own `autocomplete` attribute on
text input fields.
2017-01-27 14:44:36 +01:00
Nicolas Lempereur b9db65aa73 [FIX] web: display warning message for o2m modal
Be a little less strict when not showing o2m list view warning so if the
o2m is not editable (a modal is open instead of editing inline) we still
show warnings.

Also have warnings over modal overlays so they can be used for modals.

opw-702333
2017-01-19 16:46:33 +01:00
Nicolas Martinelli 94f7f6aa22 [FIX] web: date < 01-01-1900
The Python method `strftime` raises an error when the date is older than
01-01-1900 ("The datetime strftime() methods require year >= 1900"). If
the user mistyped the date (or was expecting 01-01-16 to be converted
into 01-01-2016), this can lead errors since the ORM uses this method
frequently.

opw-702313
2017-01-19 09:52:44 +01:00
Nicolas Lempereur d40edd7052 [FIX] web: wraparound no create editable list
In e0c4ec54ca a change was done to improve the behavior in some
editable list instances, but this introduced a small issue for
list with line creation disabled.

With this change, doing tab or enter at last line should keep the
previous behavior of wrapping around and not creating a new line.

opw-703748
2017-01-09 15:03:29 +01:00
Nicolas Lempereur 678c42aeb0 [FIX] web: FieldCharDomain wrong count if other lang
The number of records selected by a FieldCharDomain was only computed
with the base language.

But when selecting the domain with a modal window, or when sending a
mass mailing restricted to a domain, the current user language is used.

With this commit, the number of records is computed with the current
user language.

opw-693836
2017-01-05 19:18:06 +01:00
Christophe Simonis 5f63878ff6 [MERGE] forward port branch saas-6 up to 2317801ddb 2016-12-16 14:44:42 +01:00
Christophe Simonis 2317801ddb [MERGE] forward port branch 8.0 up to 638989b84e 2016-12-16 12:45:13 +01:00
Jordan Vrtanoski 450f7df00d [FIX] web: transfer context to underlying many2one in reference field
Fixes #11955 (loss of context in many2one subwidget)
Closes #11957
2016-12-15 09:34:32 +01:00
Nicolas Martinelli e5cad9a45e [FIX] web: date autocompletion
When a user fills partially a date or datetime field, the system will
somehow autocomplete the value entered. For example, if the user enters
"11//11" then clicks on the Tab key, it will be completed as
"11/11/0000".

However, the year 0000 is not recognized in Python, and this causes a
crash upon saving.

opw-695035
2016-11-30 13:56:20 +01:00
Jeremy Kersten fee6015964 [FIX] website_sale: format amount according to currency client side
This commit closes #1103, closes #11553
2016-11-29 16:40:15 +01:00
Olivier Dony b73518fe57 [FIX] web: do not cancel edition on o2m list when pressing Enter
Rev. 3f7d350fe21d9e2afb35a9ce3e2652940e3f259d1 introduced
auto-cancellation of the edit mode when the user clicks
outside the edited line.

The unfortunate downside was the auto-cancellation of the
edit mode also when the user presses ENTER while the
line is not valid.

This is especially annoying when using barcode scanners to
fill in values, as scanners usually send an ENTER keystroke
at the end of the input sequence.
When a many2one field is focused this event will often occur
before the autocompletion popup has a chance to open. At that
point the line is considered invalid, and the edition mode
is cancelled! If no field is considered dirty yet on the line
this simply drops the whole line, otherwise it will open a
navigation confirmation popup. Both results equally prevent
the use of barcode scanners.

This patch makes sure the edit mode is only cancelled when the
user indeed clicked outside the line, and not for other cases
where save() is requested, such as an ENTER keystroke.
2016-11-22 12:33:08 +01:00
qsm-odoo 8625242884 [FIX] web: properly destroy nvtooltips when switching views
If the graph view was left while a nvtooltip was shown (thanks to
keyboard shortcuts or during loading time), the nvtooltip remained
and was only destroyed when leaving the action.

Now they are automatically removed with the view as they are now
placed inside of them instead of inside the body element.
2016-11-16 17:27:40 +01:00
Christophe Matthieu 2c1bcc5b11 [FIX] web: display error when js modules fails
Up to this commit, the JS module system only notified failed modules as
an 'information' instead of an 'error'.  This was annoying, since the
runbot takes the result into account, and might be green even though a
module failed to load.
2016-11-04 16:40:58 +01:00
Christophe Matthieu a8e79e960a [FIX] bus,im_odoo_support, web*: fix various memory leaks
* Tip are never destroyed when change view mode
* unbind methods
* mail: memory leak with unbind methods
* web: memory leak because 'ui-autocomplete' is never destroyed
* web_editor: memory leak for wrong unbind on destroy
* web: memory leak: must remove fileupload handler
* bus: memory leak: correctly debind handlers on window in bus.Bus
* remove handlers on switch buttons and views $buttons
* remove handlers on breadcrumbs
* web: memory leak: correctly debind handlers
* im_odoo_support: memory leak: remove fileupload handler odoo_support

Note: part of this commit was actually authored by aab
2016-11-04 14:07:35 +01:00
Nicolas Lempereur 25616b9f2b [FIX] web: repair length field in view list
Underscore method _.each expects an array like object when a "length"
property is present.

This was an issue with a record having a numeric "length" field set to a
non-negative value. When changing a line the change would not appear on
blur.

This issue was fixed with 0e664c9e9 but introduced back with f0e331e00.

opw-691070

Forward-port of 5d17749ff4 which has been
forgotten during previous forward-port.
2016-10-27 14:46:08 +02:00
Christophe Simonis 3c3ce750f7 [MERGE] forward port branch 8.0 up to 5ee4344 2016-10-27 14:11:46 +02:00
Aaron Bohy 1f06cc4168 [FIX] web: list editable: traceback when removing a row in edition
When clicking on the trash to remove a line (e.g. a sale order line
in a quotation form view) while editing another line, it produces a
traceback (in most cases), or behaves randomly (less frequently)
like removing both lines, or one of them, or maybe none of them.

Anyway, this feature doesn't work at all, so this commit simply disables
it when we are in edition mode.

In a perfect world, we would fix the feature instead of disabling it,
but the code of the list editable is so instable that it would most
certainly break something else.

Closes #13778
2016-10-26 13:38:57 +02:00
Nicolas Lempereur f82ab99c1a [FIX] web: BufferedDataSet write to length field
Underscore method _.each expects an array like object when a
"length" property is present.

This was an issue with a record having a numeric "length" field set
to a non-negative value.

opw-691070
2016-10-24 15:57:43 +02:00
Nicolas Lempereur 5d17749ff4 [FIX] web: repair length field in view list
Underscore method _.each expects an array like object when a "length"
property is present.

This was an issue with a record having a numeric "length" field set to a
non-negative value. When changing a line the change would not appear on
blur.

This issue was fixed with 0e664c9e9 but introduced back with f0e331e00.

opw-691070
2016-10-24 13:25:58 +02:00
Christophe Simonis b14c8b361c [MERGE] forward port branch saas-6 up to fa50349 2016-10-17 13:14:22 +02:00
Christophe Simonis fa50349d7e [MERGE] forward port branch 8.0 up to 001610e 2016-10-17 13:01:20 +02:00
Devendra Kavthekar c63c225274 [FIX] web: is_false() for reference field widget. (#9335)
In the widget, the value of reference field is a pair `[val1, val2]`.
When the field is blank, its value is `[false,false]`, thus checking `[false,false] === false`
never succeeds, and this breaks the check for required fields.
2016-10-13 16:01:21 +02:00
Simon Lejeune 5abe76c2d2 [FIX] web: clear_uncommitted_changes on browser's back button
This is done by guarding the `on_hashchange` evant handler with the
`clear_uncommitted_changes` function.

Note that the url has already changed when we are in this handler, so we
make sure to restore the old url when the user chose to continue its
edition.
2016-10-13 15:51:09 +02:00
Jeremy Kersten d3609f7f19 [FIX] web,crm: list view, don't fallback on group_operator declared in python
Partial revert of odoo/odoo@633780a
2016-10-12 18:03:51 +02:00
Christophe Simonis 24a2217980 [MERGE] forward port branch saas-6 up to c4fb79f 2016-10-11 17:06:35 +02:00
Christophe Simonis c4fb79ff88 [MERGE] forward port branch 8.0 up to ecb6055 2016-10-11 16:56:13 +02:00
Aaron Bohy 8e113aebf1 [FIX] web: X2Many list views: don't display action buttons 2016-10-11 13:52:04 +02:00
Jeremy Kersten 633780a00c [FIX] web,crm: view_list respect group operator defined in the view.
Remove useless avg defined on crm view.

If you define avg='Average Values' in a view, now we see in the footer of list view the average.
2016-10-11 11:50:24 +02:00
Ravi Gadhia 0afe5d4af5 [FIX] web: hide "Create" button for editable tree views with create="false"
Make it such that the buttons "Save" and "Discard" are still visible.
2016-10-11 10:22:10 +02:00
Jeremy Kersten b770c3e5a3 [FIX] web: fix styling in many2many tag input
Since Chrome 53.0.2785, the input select is hover the existing tag.
With this fix, the existing tag are displayed at the right side of
the input to create a new one.

This commit closes #13655

Courtesy of @8cells
2016-10-10 11:17:17 +02:00
Christophe Matthieu 34efcb498d [FIX] web: can't saved X2Many list editable if a deleted record is invalid
The widget test if all lines are valid to save the view, but the test include the removed lines (eg: required field).
2016-09-26 10:12:15 +02:00
Christophe Simonis 5adca2bc46 [MERGE] forward port branch saas-6 up to 2fa3591 2016-09-15 11:02:44 +02:00
Christophe Simonis 2fa3591a9b [MERGE] forward port branch 8.0 up to 9874892 2016-09-15 10:49:55 +02:00
Nicolas Lempereur 1da79b872e [FIX] web: keep m2m value in list view
Currently, when rendering a list view cell with a many2many we would
empty the list of ids, and fill it again once a name_get is resolved.

But in some instance, the code could use the data when it has been
emptied out.

For example, if we set the tax_id field (inside the order_line list view
inside the sale.order form view) as requred, if we modify the order line
and save directly (without clicking outside of the list view) we can get
an incorrect error saying that the "Order Line" is not valid.

It has been reproduced when saving with CTRL + SHIFT + S on google
chrome and firefox, and there have been reports that for some
configuration it also happen when clicking on the "Save" button.

This commit change the behaviour so the value is kept whilst the name_get
is ongoing, and just use a default "false" value for the name during this
interval.

closes #13478
opw-668067
2016-09-14 15:52:48 +02:00
Pierre Masereel 8e65b57df7 [FIX] web, web-kanban: update dataset size at record's drop in a column
When we drag and drop a record in a folded column, the number of elements
in this column displayed  in the column title is not updated.
This issue is present because when a record is droped in a column
its id is not added to the dataset of its new column.

To fix this, we had to add the id of the record in the dataset, and
override the method 'add_ids' in 'DataSetSearch' to have the size
of the dataset equal to the number of ids in it. We have replicated
the behaviour of the function 'remove_ids' in the new function 'add_ids'.
2016-09-06 17:15:44 +02:00
Christophe Simonis 490f9cfe7e [MERGE] forward port branch 8.0 up to 2559b2c 2016-09-02 14:02:43 +02:00
Nicolas Martinelli 1bcbca4be3 [FIX] web: statusbar click
When the statusbar is clicked, a `debounce` function prevents a
doucle-click, and therefore making several `write` calls. In debug
mode, the click doesn't work anymore.

For some mysterious reason, the event is propagated to the parent. The
`currentTarget` is not the `li` element, but the parent `ul`. By
setting the `immediate` argument to `true` (execute the first function
instead of the last), this solves the issue.
2016-09-02 12:46:10 +02:00
Nicolas Martinelli 2559b2cf4f [FIX] web: statusbar click
When the statusbar is clicked, a `debounce` function prevents a
doucle-click, and therefore making several `write` calls. On some status
bars, clicking doesn't work anymore.

The reason is because, in some mysterious cases, the event is propagated
to the parent. The `currentTarget` is not the `li` element, but the
parent `ul`. By setting the `immediate` argument to `true` (execute the
first function instead of the last), this solves the issue.
2016-09-02 10:27:41 +02:00
Nicolas Lempereur 40ceda20eb [IMP] web: pivot don't repeat total header 2 times
opw-687243
2016-08-31 15:56:34 +02:00
Christophe Simonis e5371329f7 [MERGE] forward port branch 8.0 up to 08ed48e 2016-08-19 12:07:14 +02:00
Denis Ledoux 8787476b50 [FIX] web: fix DataSetSearch to avoid race conditions
This is a following of revision
ab8a93c852

This revision solves a new case:
when quickly performing a second search
after one which has not been resolved yet in a kanban view, and the second
search is resolved before the first, it was not possible to load the form
by clicking the card of the kanban, it leaded to a
`Could not find id in dataset` web client error

This was because the ids of the dataset were altered with
the ids of the first search (the one that lasted longer), while
the records displayed were the ones of the second search
(the one that finished first)

opw-682362
2016-08-17 12:26:16 +02:00
Nicolas Martinelli c2fe9fe0e6 [FIX] web: prevent double-click on statusbar
When double-clicking on the statusbar widget, two calls to write are
performed. This can cause unwanted behavior, and when the `write` method
takes a lot of time to process, it's not possible to prevent it
server-side.

Courtesy of @gurneyalex and @aab-odoo

Closes #13134
opw-686025

FORWARD-PORT UP TO SAAS-6!
2016-08-16 13:09:49 +02:00
Nicolas Martinelli 0350ab81b8 [FIX] web: prevent double-click on statusbar
When double-clicking on the statusbar widget, two calls to write are
performed. This can cause unwanted behavior, and when the `write` method
takes a lot of time to process, it's not possible to prevent it
server-side.

Courtesy of @gurneyalex and @aab-odoo

Closes #13135
opw-686025
2016-08-16 13:06:03 +02:00
Goffin Simon 414ad99a92 [FIX] web: unchecked radio button
Before rendering the radio button, the radio button must be unchecked
to ensure to take the last value checked.

Step to reproduce:

-From main menu, click on 'Contacts'
-Click on 'Create'
-Select 'Company' value on company_type field
-Save or not the contact
-Return in the main contact view (click on breadcrumbs)
-Click on 'Create'

Bug:

The default value on company_type field is 'Company'
but the fields that should be hidden are visible (example : parent_id field)

After the fix:

The value of company_type field is 'individual'

opw:684847
2016-08-10 11:37:52 +02:00
Nicolas Martinelli c819b88063 [FIX] web: FieldCharDomain value
An issue occurs in the following use case:
- Create an automated action
- Choose a Related Document Model
- Select records to filter (click on "Select Records")
- Do not save, but cancel instead
- Create an automated action once again

The filter domain keeps the same value than previously, forcing the user
to refresh the page to get rid of it.

opw-683214
2016-08-10 08:31:01 +02:00
Simon Lejeune cadb481e20 [FIX] web: oe-view-manager-content display issue on ie11
This tries to be the smallest patch possible in order to avoid triggering
another display issues, so we only patch in the ms-hight-contrast section
which only applies on ie 10/11.

* The view-manager weren't displayed correctly; they didn't fit 100% of
  the screen width. This is fixed by explicitely seting the top, right,
  left, bottom attributes.

* The modals content were not displayed. This was due to 2 issues:
  * The rule that we patch in the first point set the position of
    `oe-view-manager` as absolute with an importang flag. Because of
    this important, the rule that reset the position of the
    `oe-view-manager` as static in modals.less was not honored. So
    we also patch this rule with an important flag inside the same
    file (so that all the fixes related to ie10/11 are in the same
    place).
  * Now that the modals are displayed, they do not fit 100% of the
    screen. It's because the `max-height: 100%` of `.modal-content`
    set in modals.less does not work in ie10/11, due to some bug
    with the flex displays. We set the height to 450px so that the
    modals are kind of correctly displayed on a 1366x768 screen
    (their content are still scrollable).

related to rev 1ccd87a037
closes #12929
2016-08-03 14:39:19 +02:00
Fabien Pinckaers 3888301a2e [IMP] web: Quantity is very misleading in reporting views --> e.g. SO Line Quantity is perceived as Quantity of products, whereas it's the count of SO Lines. Renaming to Count 2016-07-07 12:28:57 +02:00