Commit Graph
1627 Commits
Author SHA1 Message Date
Adrien Dieudonne 3b3d35e8b9 [IMP] web: SearchView: Allow user to quickly search on mobile
Currently the search panel is nice for a search with filters but
that was not 100% efficient for simple research without filters.

The Search is now integrated in the form view, with the ability
to open the Search panel to apply filters or group by.

Task ID : 1924760
2019-09-16 15:11:28 +00:00
Lucas Lefèvre ac00548b28 [IMP] web: Export list view as XLS file
Purpose
=======

Have a quick export feature.

The current export wizard is quite complex.
We want to be able to quickly export a tree view,
with the group by correctly represented, depending on the fields
visible in the list view.

Specification
=============

Add an "EXPORT (XLS)" button in the list view (a little download icon)
- export only columns visible in list view
- export all the records
- while respecting the group by

This should be a generic feature but should be applied to all
the account.move.lines list views.
account.view_move_line_tree_grouped_sales_purchases
account.view_move_line_tree_grouped_bank_cash
account.view_move_line_tree_grouped_misc

Task 2031835

closes odoo/odoo#36943

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-09-16 13:57:40 +00:00
Aaron Bohy 127be68cca [FIX] web: do not disable searchpanel on button clicked
Before this rev., the searchpanel was automatically disabled (not
present) in actions obtained by following links or buttons (e.g.
stat buttons).

This rev. removes this constraint, but adds the possibiliy to
disable it by setting key 'search_panel' to false in the context.

Note that in this case, the active categories are never retrieved
from the local storage (i.e. the last one set). If no default is
given, 'All' is simply selected (no domain).

Task 2069310
2019-09-16 07:29:43 +00:00
Christophe Simonis 5a273e74f0 [MERGE] forward port branch saas-12.4 up to fe59754c52
closes odoo/odoo#36721

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-13 13:32:51 +00:00
RomainLibert 653cccfd60 [FIX] web: Display event name on calendar popup instead of undefined
Purpose
=======

When you edit a Time Off Request from the dashboard. The title in the header
is undefined

https://drive.google.com/open?id=1vBg9AlVCN7rc5D6DUel8hx2uY-oOfwRs
2019-09-11 09:27:41 +00:00
Vincent Schippefilt 029dd1a214 [IMP] web: edit translations in new dialog
Before this commit, translations were edited in a list view with a filter
on the field that needed to be translated.

After this commit, the translations for each fields are translated in a
dedicated dialog. The changes done to the current language are taken
into account immediately, both ways, from the dialog to the form and
from the form to the dialog.

Translating terms is also available in create mode, the user will be
prompted to save before editing a translation

Task ID: 2028152

closes odoo/odoo#36185

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-09 13:09:53 +00:00
Aaron Bohy 707882497b [FIX] web: tests: load template before FieldColor tests
The ColorPickerDialog lazyloads its template. In the test
environment, nothing was done (except for a single nextTick) to
ensure that the template has been loaded before interacting with
the dialog. This led to non deterministic failing runbot builds.

Also correctly load the signature template before running its tests
instead of doing two chelou nextTick();

closes odoo/odoo#36511

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2019-09-06 11:43:40 +00:00
Aaron Bohy f60db9b93a [FIX] web: kanban: global click and 'image' widget
Let's assume a kanban view with oe_kanban_global_click className
(i.e. clicks on the card open the record in a form view), and an
image with the 'image' widget. This is for instance the case of the
hr.employee kanban view.

Before this rev., clicking on the image didn't open the record in
form view.
2019-09-05 07:34:33 +00:00
Julien Mougenot eea560060a [FIX] web: list width should not be calculated when invisible
Before this commit, the width of the headers in a list were frozen
only when the list was seen, but the calculation of the width might have
happened while it was invisible (thus giving the headers 0px).

Now, the freeze AND the calculation only occur when the list is visible
and can actually be evaluated.

Task 2061848

closes odoo/odoo#36175

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-09-04 08:19:32 +00:00
Julien Mougenot 52bd5fa461 [FIX] web: list view: allow buttons width
Before this commit, when entering an empty editable list with buttons,
their width would be set to 0px.

Now, they are considered as fields and given a name, allowing the renderer
to give them their proper width (if any) or a default one.
2019-09-04 07:11:01 +00:00
Julien Mougenot 7329014796 [FIX] web: editable list: ignore empty headers
Before this commit :
- resize handles were all attached at the right side of the list
- empty columns were given a resize handle, causing them to be larger than expected

Now :
- resize handles are attached to their corresponding header
- only non-empty columns are given a resize handle

Fix 2060807
2019-09-04 07:11:01 +00:00
Julien Mougenot 5718861b91 [FIX] web: editable list: invisible list width computed on interraction
Before this commit, if an x2many was in an inactive tab of the notebook,
its column headers widths were all set to 0px

Now, inactive x2many lists do not compute their width until they are visible
and interracted with (e.g. add/delete a record, sort columns, etc.)

Fix 2060418
2019-09-04 07:11:01 +00:00
Christophe Simonis 51354fadb0 [MERGE] forward port branch saas-12.3 up to 50e571acf7
closes odoo/odoo#36491

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-11 09:39:33 +00:00
Christophe Simonis 7895044a79 [FIX] web: unpatch test Views earlier
We need to unpatch the view as soon as we correcly applied the
`groupedBy` attribute to avoid sub views to also be patched.

closes odoo/odoo#36486

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-05 13:43:51 +00:00
Christophe Simonis 41f7befb8e [FIX] web: correctly await promises in forward-ported test 2019-09-05 13:41:59 +00:00
Christophe Simonis 7a548569c6 [MERGE] forward port branch 12.0 up to 638eac9bae 2019-09-04 19:32:26 +02:00
Aaron Bohy 0b146aa253 [FIX] web: form: race condition when editing in readonly
... and switching to 'edit' mode before the write RPC returns.

For instance, on a project task form view, in readonly, change the
state by clicking on the bullet, and directly switch to 'edit'
mode: when the RPC returns, the view is switched back in readonly.

Task 2065443

closes odoo/odoo#36400

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-04 07:15:18 +00:00
Lucas Perais (lpe) b7e3469931 [FIX] web: grouped list as grouped list as child
In grouped editable list, get rid of the groups
Edit one record in the editable list
In a M2O, click on search more

In search's list, group by a field
Expand a group in the search's list

Before this commit, it crashes because the event was propagated
onto the first main list

After this commit, it doesn't crash and the group is expanded

OPW 2064156

closes odoo/odoo#36383

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-09-03 14:24:58 +00:00
Aaron Bohy ae50f2cbbb [FIX] web: editable list: edit group with create=0
This rev. disables the 'create' action in the form view reached
when clicking on the 'Edit' button on a group in an grouped list.

closes odoo/odoo#36384

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-03 13:37:47 +00:00
Christophe Simonis 545e6d2034 [MERGE] forward port branch 12.0 up to 52f6e38cea 2019-08-30 17:20:28 +02:00
Christophe Simonis 8bd6a93c74 [MERGE] forward port branch saas-11.3 up to ede253f1b2 2019-08-29 16:45:15 +02:00
Christophe Simonis ede253f1b2 [MERGE] forward port branch 11.0 up to d61873ac4a 2019-08-29 15:22:51 +02:00
Juhil Somaiya d1ee54450a [FIX] web: dashboard_graph disappearing issue on kanban record reload
When we try to change the color of kanban, the kanban record is re-renders,
kanban record is replaced with kanban-box and subWidgets are re-rendered,
reset of all subWidgets are called which will re-render widget but it is not
rendered in DOM as DOM element is destroyed and hence  dashboard_graph widget
can not computed proper height of the canvas element and disappear

Call on_attach_callback after widget reset is called on kanban record, as widget
element is removed from DOM and new element is added in DOM so
on_attach_callback should be called again.

task-2036256

closes odoo/odoo#35254

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-08-28 12:04:59 +00:00
Harpritsinh SisodiyaandAaron Bohy fbbfa6ddca [FIX] web: datepicker: crash on invalid date
There is an open issue on the tempusdominus lib:
https://github.com/tempusdominus/bootstrap-4/issues/223

It occurs when there is a valid value in a date(time) field, and
the user unsets it by setting an invalid one.

This rev. fixes the issue in Odoo by preventing to reach the buggy
piece of code in the lib. In a few words, when the user sets an
invalid date, we reset the previous valid date (which is what the
lib tries to do anyway).

Task 2057009

closes odoo/odoo#36211

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>


Co-authored-by: Aaron Bohy <aab@odoo.com>
2019-09-03 12:14:05 +00:00
Aaron Bohy 906480093a [FIX] web: 'create' in context and non inline subviews
Let's assume an action with 'create': 0 in the context, and a non
inline subview in the form view. Before this rev., the 'create': 0
was applied to both the form view and the subview.

This rev. applies the same logic as what the server does for inline
subviews: the rule is applied to the subview iff its model is the
same as the one of the form view (with key 'base_model_name' set
in the context).

Task 2035653

closes odoo/odoo#36109

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-08-27 10:21:00 +00:00
Lucas Perais (lpe) d310cd4478 [FIX] web: selection: required, option present but disabled
Before this commit, a field selection which was required
did not have an empty option
ref: 4dfabb8f7a

This is fine, but overlooked the fact that modules can modify
the required attribute, or even views can do it
So, we may end up in a situation where the field is required but set to false
This configuration is problematic, at least for the timezone selection field
(see OPW)

After this commit, the empty option is just not visible
note that `disabled = True` would not work because val is not accessible

Because of commits:
- 4dfabb8f7a for the selection feature
- d77ce4c2a9 overriding the required attribute of tz in res.user form

OPW 2057913

closes odoo/odoo#35989

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-08-23 14:29:05 +00:00
Aaron Bohy 6602e1cf2d [FIX] web: grouped list with <groupby> node and onchange
Let's assume an editable grouped list view with a <groupby>
node containing subfields, and an onchange. Edit a row to trigger
the onchange. Before this rev., it crashed because the onchange
specs was incorrect: it followed the relation of the many2one
and thus included its subfields (whereas it should only follow the
relation for x2many fields).

For example, go to Accounting > Accounting > Sales and edit the
label of a move line.

Task 2044187

closes odoo/odoo#36001

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-08-23 11:08:27 +00:00
Aaron Bohy edc710f758 [FIX] web: MockServer: correctly remove childNodes
Removing elements from a list while iterating over it isn't a good
idea. As a consequence, the MockServer didn't support list archs
with a <groupby> node containing several <field> nodes, or a
<field> node precedeed by a text node.
2019-08-23 11:08:27 +00:00
Lucas Perais (lpe) 4855b52c55 [FIX] web: graph: id not in groupby
Before this commit, when having the field "id" in the graph view
it was selected to group by on it.
This doesn't really make sense, and triggers an sql error anyway

After this commit, we filter out that field from the groupbys

OPW 2053444

closes odoo/odoo#35958

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-08-22 09:58:23 +00:00
Christophe Simonis f26de445e5 [MERGE] forward port branch saas-12.3 up to 6f55fd65da 2019-08-20 12:17:04 +02:00
Christophe Simonis 168e54d488 [MERGE] forward port branch 12.0 up to 32039b2ab4 2019-08-19 18:57:08 +02:00
Aaron Bohy cf318ad90c [FIX] web: list: tweak columns weight 2019-08-16 06:37:07 +00:00
Christophe Simonis f58f5e8b1f [FIX] web: adapt test to new version
Oversight of previous forward-port.
2019-08-13 10:55:43 +02:00
Christophe Simonis b2872e9bab [MERGE] forward port branch saas-12.3 up to 499d3efa7c 2019-08-13 10:08:12 +02:00
Jinal PatelandMohammed Shekha f0fdfbf44e [FIX] web: add support for TRUE_LEAF and FALSE_LEAF in ModelFieldSelector
before this commit, domain selector widget does not support
TRUE_LEAF and FALSE_LEAF i.e. [(1, '=', 1)] and [(0, '=', 1)] respectively,
the reason is the chain part of the domain i.e. field name has value 1/0 and
we don't have field name like 1 and 0 in domain and hence ModelFieldSelector
don't accept it

after this commit, domain selector can handle this special two domains which is
[(1, '=', 1)] and [(0, '=', 1)], add support for chain with 1/0 in ModelFieldSelector

task- 1998145

closes odoo/odoo#35603

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>


Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-08-09 12:32:27 +00:00
Christophe Simonis b792ba7d9a [MERGE] forward port branch saas-12.3 up to 752b2553c6 2019-08-08 11:52:13 +02:00
Mathieu Duckerts-Antoine ba4ce71bf5 [FIX] web: favorites have unique descriptions
In the favorites menu, it was possible to create two
favorites with the same name (contrarily to the
specifications). The root cause of the problem was that
the submenus of the favorites menu were not updated at
all. This commit fixes that situation.

closes odoo/odoo#35495

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-08-07 15:24:06 +00:00
Mathieu Duckerts-Antoine 691a8a690c [FIX] web: toggle favorite correctly updates other filters status
When toggling a favorite filter, the options used by
the active date filters/groupbys and the field created
via autocompletion were not correctly cleared, leading
to strange situations. This is fixed by this commit.
2019-08-07 15:10:57 +00:00
Jinal Patel 5a1fb85ef6 [FIX] web: support oe_read_only and oe_edit_only in x2m list
Back-ported from the master,
commit ca9a733b27

Before this rev., classNames 'oe_read_only' (only display in
readonly mode) and 'oe_edit_only' (only display in edit mode)
didn't work in x2m lists inside form views (only the cells in the
tbody were hidden, but not the header). This rev. makes this work.

Task 1949618

closes odoo/odoo#36117

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>

closes odoo/odoo#36285

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-08-30 13:55:56 +00:00
50464f5461 [IMP] web,mail: kanban progressbar: filter on falsy value
This rev. makes the part of the progressbar corresponding to falsy
records 'alive': the user can now click on it to filter on records
whose value is false for the progressbar field.

Task 1952430

closes odoo/odoo#35100

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>


Co-authored-by: Mohammed Shekha <msh@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
2019-09-02 08:53:42 +00:00
Pierre Paridans 81d0f39480 [FIX] web, base: MockServer should have the same behavior as the server
An RPC call using an empty array of fields has not the same behavior on
the MockServer and the actual server:

- the MockServer returns only the 'id' field
- the actual server returns all the fields for the model

This is due to the fact that an empty array evaluates to a falsy value
in Python and evaluates to a thruthy value in JavaScript.

This commit restores the parity between the two.

closes odoo/odoo#36278

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-08-30 09:09:48 +00:00
Priyanka KakadiyaandMohammed Shekha 135079044c [IMP] web: removed autocomplete filters and groupbys
purpose of this commit is:
- to remove filter and groupby option which are added at the time of fuzzy
search, it was useless as we have separate groupby and filter menu
also it generates the big dropdown menu so it is more confusing.
- align caret icon with the label.

After this commit:
- when user do the fuzzy search then filter and groupby option will not be shown
in the dropdown

task-2036351

closes odoo/odoo#35092

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>


Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-08-30 05:06:47 +00:00
jbm-odoo 58cf9b6754 [FIX] base: Open One2many with not yet updated values
When we have an onchange that modify items in One2many's lines (for
example the quantity of each line based on general quantity) and
we click on a record immediately after changing the field that
trigger the onchange, we have the the old value in the dialog box.
Indeed the dialog opens before the onchange has return the new
values, so the old one are used. This case appears only if the
One2many's line was never saved.

With this fix, we wait that the model is free of mutex, and so the
onchange is terminated before displaying it.

closes odoo/odoo#35306

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-08-28 13:51:40 +00:00
Aaron Bohy 711a10162a [FIX] web: enter edition editable list with <widget>
Let's assume an editable list view with a <widget> node in its
arch. Before this rev., when clicking on a field cell positionned
*after* the widget, the field next to the clicked one was focused.

closes odoo/odoo#36176

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-08-28 11:24:48 +00:00
Priyanka Kakadiya 5f35819fff [IMP] web: remove 'ID' field from custom groupby dropdown
purpose of this commit is to remove ID from the fields to group by on the
searchview as it does not work nor does it make sense.

removed field 'ID' from custom group by on search view.

task-2028105

closes odoo/odoo#34752

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-08-28 08:43:03 +00:00
Mohammed Shekha 6952ee18bc [FIX] web: crashmanager wrong syntax of arrow function
arrow function used for error handler and error function is defined
inside inner function so this will get changed, need to use self,
also arrow function doesn't have its own arguments object,
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Issue raised from following commit:
https://github.com/odoo/odoo/commit/2d6dc75a2cb5fa81189920d0f7fdc7b7f12132ab

task-2052484

closes odoo/odoo#35788

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-27 12:13:43 +00:00
Pierre Paridans 96a52daa80 [REF] web: remove test coverage overlap in mobile test suite
The tests in the file `relational_fields_mobile_tests.js` - which is
part of the mobile test suite - are actually not specific to mobile.

This commit merges those tests asserts into the tests already present in
the regular test suite. It ensures that all the existing asserts remains
and the actual coverage stays the same.
2019-08-26 14:13:06 +00:00
Julien MougenotandGery Debongnie 7812aec9c1 [IMP] web: editable list view resize
Added a resizing feature to all non-empty editable lists:
- added a handle to each column header, allowing resize
- column width will expand/shrink the table width
- resized columns will reset when reloading the list or sorting columns
- only available when the list contains data

closes odoo/odoo#35975

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>


Co-authored-by: Gery Debongnie <ged@odoo.com>
2019-08-26 07:49:28 +00:00
Julien Mougenot 38910befdf [REF] web: add style tests for list view
Added tests for:
- monetary field in 'fixed width' test
- height and width consistency between edit/redonly
- textareas word-breaking on long words
2019-08-26 07:36:28 +00:00
Julien Mougenot 91ea5a2ca4 [REF] web,*: native event dispatching in test utils
*: mail,partner_autocomplete: adapted tests

Added a new function to trigger the adequate type of event on
an element (native JS event to DOM Nodes and jQuery event to jQuery objects),
and refactored the generic event-triggering functions to call this new function.
2019-08-26 07:36:28 +00:00