Commit Graph
6899 Commits
Author SHA1 Message Date
Denis Ledoux 4601b044a6 [FIX] web: prevent search dropdowns to close on click inside
In the Filters, Group By and Favorites dropdowns,
when clicking outside the `li` elements but still
inside the dropdown menu itself
(like on the dividers,
or next to the advanced search `Apply` button),
the dropdowns was closed.

This behavior was annoying when doing an advanced search
with a field using the datetime picker, as, to close the datetime
picker, you have to click outside it, and when you did, it closed
automatically the filter dropdown... So you had to open it again to
finally apply the filter.

opw-674310
2016-06-07 16:48:58 +02:00
Christophe Simonis 928bc262a6 [MERGE] forward port of branch saas-6 up to 589751c 2016-06-02 14:26:19 +02:00
Nicolas Martinelli 82b9d7d511 [FIX] web: minimum margin
Make sure to define a minimum margin large enough.

opw-678645
2016-05-27 12:29:29 +02:00
Nicolas Martinelli 344ff461e5 [FIX] web: graph numbers
Backport of commit 68b127797e

opw-678645
2016-05-26 13:54:39 +02:00
Christophe Simonis aa220a5e03 [MERGE] forward port of branch 8.0 up to 6622196 2016-05-26 12:27:56 +02:00
Jeremy Kersten 9772bbef07 [FIX] web: fix backport #4c7a9bd 2016-05-25 23:38:28 +02:00
Goffin Simon 4c7a9bdac4 [FIX] web: raise a warning for bad domain
When a user wrote a wrong value in char_domain field it should raise a warning
message instead of a traceback.

Backport of b3a88b6ed8

opw:676783
2016-05-25 15:52:59 +02:00
Jeremy Kersten 3ed55c540f [FIX] web: chardomain, don't allow to edit the input when not in edit mode. 2016-05-25 14:39:38 +02:00
Nicolas Lempereur 3b234a23cb [FIX] web: download file and editor firefox bug
When we download a file (as can be done with attachments in Odoo),
firefox is opening the link in current window but cancel the action once
it is aware the resource is to be downloaded.

But this get firefox into a corrupt state for some contenteditable
features, for example document.queryCommandState which is needed for the
editor will after downloading a file throw an error consistently instead
of working as expected.

It can be reproduced on firefox (at least from version 32 to 46) with
the following snippet:
 https://jsfiddle.net/s246u3ay/3/

The issue is probably linked to the following reported issue since 2005:
 https://bugzilla.mozilla.org/show_bug.cgi?id=297494

This commit avoid the bug by opening attachments download links in a new
window instead of the current one.

closes #12109
opw-676918
2016-05-19 14:49:52 +02:00
Nicolas Martinelli 68b127797e [FIX] web: left margin of graph
The left margin of the graph doesn't take into account the width of the
maximum Y-axis value. In case the values are high (> 10^7), they are
cropped.

The fix is to adapt the left margin as a function of the size of the
maximum value.

opw-676538
2016-05-17 16:38:28 +02:00
Nicolas Martinelli cab2dce0d2 [FIX] web: Y-axis formatting
In case of a line graph, the values of the Y axis are not formatted as
numbers, although they are on the bar graph.
2016-05-17 16:38:28 +02:00
Stanislav Sokolko 0632a40b80 [FIX] web: update compatibility layer
this commit adds better support in the compatibility layer of the
js framework.  This is necessary if one wants to follow the
official tutorial.
2016-05-17 10:47:26 +02:00
Géry Debongnie 65192ea943 [FIX] web: remove useless line
the enable_button call should have been removed...
2016-05-17 10:26:24 +02:00
Géry Debongnie 95cbee6243 [FIX] web: fix duplicate changes in form view
Before this commit, in some cases, clicking on 'save' button, then on
other buttons (like 'validate' in invoices) had the unfortunate effect
of applying twice the changes in some cases.

More specifically the problem appears when:
1. an onchange is triggered (for example, taxes in invoices)
2. the user clicks on 'save', buttons are disabled
3. the 'save' actions is completed, the buttons are enabled, but
   the on_button_save still does some work: triggering event, and
   reloading the view
4. the user clicks on 'validate'
5. the onchange completes, this triggers some more work

Our only protection against such interactions is right now the fact that
buttons are disabled/enabled.  In my opinion, there should be a way
to guarantee that actions are properly serialized (that is actually what
a mutex is for... just saying). But the code of the form view/list view is
too coupled, and such changes are quite dangerous.  A real refactoring
of those is needed at some point in the future.
2016-05-17 10:24:47 +02:00
Christophe Simonis 2f374c4cba [MERGE] forward port of branch 8.0 up to 3a32021 2016-05-12 12:38:02 +02:00
Nicolas Martinelli 50b94ef079 [FIX] web: search input of date
When the user searches for date (or a datetime) in the search bar, the
suggested date can become completely wrong. For example, in the French
localization where the date format is DD/MM/YYYY, the system will search
for the date MM/DD/YYYY. This is even worse when the date is not fully
written: DD/MM could be converted to MM/DD/0000, which doesn't make any
sense. This is related to the moment issue
https://github.com/moment/moment/issues/1407.

The fix is to make sure that the input date has a correct format thanks
to `parse_value`. The latter converts the date into a fixed format.

Fixes #11876
opw-676604
2016-05-10 11:19:22 +02:00
Nicolas Lempereur dd714ace55 [IMP] web: multi-click on save on view form (no fp)
When clicking on save several time when editing a view form it can be
saved several times which can be an issue for one to many.

The normal happenstance when saving should be as follow:

-> save (click)
-> wait write result
-> received write result
-> reload the form with updated data and updates buttons

But when clicking several time, it could become:

-> save (click)
-> wait write result
-> received write result
-> save (click)
-> wait write result
-> received write result
-> reload the form with updated data and updates buttons

This commit only reinstate the saving feature once the form is reloaded.

closes #11926
opw-671793

note: no need to forward-port
2016-05-09 10:54:16 +02:00
Goffin Simon b3a88b6ed8 [FIX] web: raise a warning for bad domain
When a user wrote a wrong value in char_domain field it should raise a warning
message instead of a traceback.

opw:676783
2016-05-09 09:35:13 +02:00
qsm-odoo 324dbcde57 [FIX] web: editable list, up/down navigation on m2o
The current behavior was allowing going on the previous row if the
user is at the start of an editable element and on the next row if the
user is at the end of an editable element. The problem was, we did not
want this behavior when the editable element is a select or m2o (as
the up and down input should open the select/m2o dropdown instead).
2016-04-27 17:01:16 +02:00
Géry Debongnie ab8a93c852 [FIX] web: fix dataset to avoid race conditions
The read_slice method in dataset is problematic, because it alters the
dataset ids.  So, if 2 consecutive read_slice are started, but the first
one ends after the second one, we don't have the correct ids in the
dataset.

This commit just make sure that previous read_slice do not alter the ids
of the next read_slice.
2016-04-20 17:20:25 +02:00
Olivier Dony 7f6bd2dc66 [FIX] web: fix layout issue in Chrome 50 (again)
Makes the fix in f992c8ee19
specific to the view manager of the main oe_application
container, in order to avoid disrupting other view manager
occurrences (such as the ones in modal windows or x2many
list views).

Fixes #11629 (again)

Note: Hopefully the Blink team will fix Chrome so we can
get rid of this hack in the future:
  https://bugs.chromium.org/p/chromium/issues/detail?id=603507
2016-04-19 17:44:24 +02:00
fossoult 17d0117edc [FIX] web: expose list view Column widget
The list view Column widget should be exposed, so it can be extended.
This is required to allow the creation of other kind of list widgets.
The _format method is not extendable if we don't add this line.

(comment from ged) The file list_view.js should be split in two, and
reorganized, but this should not be done in 9.0.
2016-04-19 16:14:28 +02:00
Joren Van Onder e18660c330 [FIX] web: fix iOS file downloading
e8a00bc50d moved the get_file function
from web.session to web.ajax. The issue is that get_file uses
session.url() for iOS devices. Also, in order to prevent an infinite
spinner options.complete() is called before actually opening up the new
window. Although this resolves the issue it still requires the user to
configure Safari to allow pop-ups, otherwise they are silently ignored.

opw-672882
2016-04-19 13:26:01 +02:00
Christophe Simonis 7033a97f77 Revert "[FIX] web: fix layout issue in Chrome 50"
This reverts commit f992c8ee19 which
should not be forward-ported.
2016-04-19 11:44:48 +02:00
Christophe Simonis 76d1116a25 [MERGE] forward port of branch 8.0 up to 9fa53b7 2016-04-19 11:33:17 +02:00
Simon Lejeune f992c8ee19 [FIX] web: fix layout issue in Chrome 50
A 100% height is not distributed anymore to the children of a table-row
if they are not themselves table-cell in Chrome 50. This breaks the
indenpendent scrolling of the menu and the view manager.

However, setting the `table-cell` display breaks the layout in Internet
Explorer.

When the webclient is loaded by Chrome 50, we load a stylesheet
forcing a `table-cell` for display.

Seems to be related to https://bugs.chromium.org/p/chromium/issues/detail?id=353580
and https://chromium.googlesource.com/chromium/src.git/+/8876584335b48c99cf8df552ef4d8efebb131041

Related to e1a99192bd
Fixes #11629
2016-04-18 14:43:50 +02:00
Jeremy Kersten 8aee655825 [FIX] web: don't display view metadata for new record
Close #11584
2016-04-15 17:07:29 +02:00
Simon Lejeune e1a99192bd Revert "[FIX] web: fix layout issue in Chrome 50"
or how to break every internet explorer releases while
attempting to fix chrome 50
2016-04-15 12:12:26 +02:00
Simon Lejeune 00ead29c7c [FIX] web: fix layout issue in Chrome 50
The height was not distributed anymore to the children of a `table-row`
element if they are not themselves `table-cell` elements.

Fixes #11629
2016-04-14 14:31:12 +02:00
Nicolas Martinelli 3705a868d1 [FIX] web: consistency between list and export
Following commit 8276fb585, the data exported should match the data
displayed on the list view. Therefore, we need to make sure that the
context used match the context of the list view.

When a filter is applied in the list view, the context is evaluated
thanks to pyeval (see the call to `/web/dataset/search_read`). The fix
is to evaluate the context in a similar way.

opw-674473
2016-04-14 10:44:25 +02:00
Olivier Dony ff0fd50cdf [MERGE] Forward-port saas-6 up to 2d4deca055
- Fix for status widget (b25c054c93) moved
  to appropriate file: addons/web/static/src/js/views/form_widgets.js
  even though the problem is less severe in 9.0 (no crash but triggers
  form save, which is unnecessary)

- Fix for website_event_sale ignored (880e951f34)
  because the problem does not exist anymore in 9.0, probably due to
  refactoring 66871ee65b
2016-04-14 10:39:09 +02:00
Olivier Dony 2d4deca055 [MERGE] Forward-port 8.0 up to 46c5f93b6c 2016-04-13 17:04:49 +02:00
Nicolas Lempereur 6b76b08748 [FIX] web: don't freeze on form warning escape
When the warning on form view is closed by cancel or OK button, all is
well. But if the modal is closed by any other way the def will stay pending
blocking next operations.

This commit set the deferred as dejected if not resolved when the modale
is closed.

closes #11688
opw-671371
2016-04-13 16:19:33 +02:00
qsm-odoo b338ae0153 [FIX] web: do not wrap numbers on multiple lines
In languages where the thousands separator is a space, numbers could
be wrapped over multiple lines.
2016-04-11 15:54:50 +02:00
Holger Brunn b25c054c93 [FIX] web: prevent crash in rare case with status field
Current behavior before PR: if you create a new record within a one2many
field and the model's form has a clickable status bar defined, clicking
this status bar will raise an exception because the virtual id
(one2many_v_XXXX) will be passed to the model's write method

Desired behavior after PR is merged: clicking just changes the cached
value
2016-04-11 15:21:45 +02:00
Géry Debongnie f652d384a2 [FIX] web: graph_view now actually supports 'stacked' attribute
For some reason, it was lost.  Probably in the graph view/pivot view split.
This commit simply accepts the attribute, but default to true, so nothing
changes unless you have explicitely set it to false.

Also, fixes en error introduced by a forward port (the use of
openerp.web.format_value)
2016-04-08 15:21:17 +02:00
Géry Debongnie c4e0562144 [FIX] web: editable list view waits for record to be loaded
The editable list view method 'edit' is supposed to wait for the
record to be completely loaded.  But when loading the defaults values,
it ignored the actual loading and completed too early.  This commit
chains the deferred with the form record.
2016-04-06 12:30:30 +02:00
Géry Debongnie dac37163d1 [FIX] web: fieldmany2manytag issue
I recently removed some rpc from init fieldmany2manytag (it was in a
mutex) and moved it to the willStart method (without mutex).  The
fieldmany2many tag widget needs this information before it can be
rendered.  However, in editable list views, the rendering engine does
not wait for the fields to be ready before completing its initialization
process.  As a result, the field many2many tag was rendered before it
was ready, which broke various things, including its position.

This commit attempts to bring sanity to this issue by making sure that
the rendering engine waits for its fields to be ready.  Also, the
editable list view should detect correctly when the form is loaded.

If this commit introduces new issues with the editable list view and
onchanges, I will not be pleased.  You don't want to bring me this sad
news without at least something to buy my good will.
2016-04-06 09:55:06 +02:00
Christophe Simonis 9e2de9b1ae [MERGE] forward port of branch saas-6 up to 7f5ca1d 2016-04-05 19:04:36 +02:00
Christophe Simonis 7f5ca1d94a [MERGE] forward port of branch 8.0 up to ceb87b7 2016-04-05 18:59:00 +02:00
Xavier Morel ceb87b78f0 [REV] usage of m2m listview for o2m
Turns out to break way more than it fixes.
2016-04-05 11:32:59 +02:00
Géry Debongnie 3d4954b88f [FIX] web: some float fields silently ignores their changes
We have an interesting problem when editing all custom float fields and all
fields with no explicit digit attributes: the propertiesmixin tries to
check if the number was changed, according to their declared precision.
But for these specific fields, it does not find a digit attribute, and
defaults to 2.  Then, it makes sure that the changes are ignored if the
new value is too close to the old value (with 2 digits precision)

For example, if the user sets the value to 1.234, then save, then change
it to 1.235, then save, the form view will display 1.234 and totally
ignore the change.

Not that handling the digit precision is done in the propertiesmixin and
in the field float widget.  Also, they do different things, and in some
case, may not be the same.   All this logic should be moved to the
fieldfloat widget.
2016-04-04 12:18:17 +02:00
Denis Ledoux 69fa2d5662 [MERGE] forward port of branch saas-6 up to 8f1782b 2016-03-30 11:23:18 +02:00
Denis Ledoux 8f1782bd05 [MERGE] forward port of branch 8.0 up to 1d5db336 2016-03-30 11:08:57 +02:00
Peter Hahn c2abdbbc37 [IMP] Make many2many widgets in listview usable for one2many
Existings many2many widgets in ListView can be used also for one2many if
the supplementary data is provided for the column.

closes #11282
2016-03-25 16:54:32 +01:00
Christophe Simonis 21337b43a8 [MERGE] forward port of branch 8.0 up to d519dac 2016-03-24 15:03:55 +01:00
Christophe Simonis d519daca1d [MERGE] forward port of branch 7.0 up to f1b9b30 2016-03-24 15:02:45 +01:00
Nicolas Martinelli f1b9b301da [FIX] web: clear filename if image error
When the user chooses as product image a file which is not an image, the
message "Could not display the selected image" is displayed. However, at
saving, a traceback is thrown since the file chosen is uploaded anyway.

If the image cannot be displayed, the image field is cleared.

opw-672206
2016-03-24 11:18:14 +01:00
Nicolas Martinelli 64e8d9c972 [FIX] web: clear filename if image error
When the user chooses as product image a file which is not an image, the
message "Could not display the selected image" is displayed. However, at
saving, a traceback is thrown since the file chosen is uploaded anyway.

If the image cannot be displayed, the image field is cleared.

opw-672206
2016-03-24 11:09:02 +01:00
Géry Debongnie e9c34b5e61 [FIX] web: fix issue with FieldMany2ManyTags
the widget FieldMany2ManyTags does a rpc to fetch the fields (just to
know if 'color' is in the model...). It was done in a mutex and used
later in a mutex.  This commit simply use the willStart method to make
sure the data is available before rendering.
2016-03-21 17:05:07 +01:00