This comportement was added in the DebugManager to trigger an event.
As this event could be useful in other situations (e.g. studio), we trigger
the event directly in the ActionManager. By default, the WebClient does not
use this event but an handler is added to be overwritten.
This handler is overwritten in some widgets (DebugManager, Studio, etc.) that
requires the Systray items instances so we add them in ´widgets´ in the Systray Menu.
As the module dashboard uses multiple ActionManager, the event bubbling should be
avoided in this case.
A refactoring of the js views is in progress. Those new views are used
in web studio, and this change is part of it. This is necessary to allow
web studio to correctly fetch data from the server when rendering a
preview. Note: this is necessary for special widgets (status bar,
selection, radio widgets)
Sometimes, we need better control on the cache. For example, if a view or an
action has been changed, it is required to make sure that the correct
data is loaded.
Sort systray items by sequence to allow, e.g. to force the planner item to
be the left-most item of the systray as it is not displayed in all apps, and
thus produces a flickering of the other items.
Also invert the push order of the two mail items to keep the previous order
as they are now prepended instead of appended.
Since the merge of the two modules 'web' from enterprise and community
it was impossible to scroll in the side menu and in the main content
of a community database from Internet Explorer 10 & 11 but it is working in
Edge.
This was due to missing css 'height' attribute on the '.o_main' class
that should be set to 100% for IE to let the flex elements know the
size of their parent.
This was introduced in rev https://github.com/odoo/odoo/commit/977db823c
When a modal was opened, the system seemed slower because a web_tour
callback was called every 500 ms.
This was because of jQuery. Using the "find" method on a jQuery element
will temporary set an ID on this element for some jQuery reason. So,
when a modal opened, a DOM mutation was caught by the web_tour observer
which then called the "update" method in which a $modal.find
is done... and so an ID was set and a new DOM mutation was caught again.
The solution here is to provide an unique ID on each modal in odoo so
that the find function has not to set an ID, and so does not trigger
any DOM mutation.
This will improve the onbarding of project and the usability in general.
Project: When creating a project a small modal opens with one or more fields, and you have to click on it just to type the project name.
Usability: one many2one (and others), when clicking on "Create and Edit", the focus is set on the first field.
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
The class `oe-search-options`
has been renamed to `o_search_options`
at the revision
977db823c7
See the full explanation of the bug fix here:
4601b044a6e4dbf162cfca9bf0be5ff2a21dd4f5q
Wrong class selector and must add '#' to force the browser to reload the picture because the picture is in the cache with the previous cache informations.
The view `sale_team_dashboard` (which extends kanban) has been removed
and replaced by a default kanban view.
To use it in the ViewManager, an option `js_class` is added
on the arch description and this class be used as the View.
This avoids creating a new view type just for one view.
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'.
* The debug manager contains a feature to launch tours, adapt it
to new web_tour.tour system
* The website help menu allowed to relaunch tutorial tour in debug
mode. This feature is not adapted to new tour system and was useless
in the first place (debug mode in frontend is barely used anyway).
-> remove the website help menu and the feature
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.
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.