Commit Graph

35 Commits (3bd50c5e23a242b54518d95c721258be9db271b9)

Author SHA1 Message Date
David 7220ef4709 [FIX] web_advanced_search: recover support for m2m and o2m custom filter
TT44862
2023-09-01 12:19:29 +02:00
Ivàn Todorovich 66b4dd2dd8
[FIX] `web_advanced_search`: Exception raised with "Search more..."
Steps to reproduce:

1. Go to Contacts (for example).
2. Filters > Add Custom Filter.
3. Select "Company" field.
4. Select "is equal to" operator.
5. Click on "Search more..." button.
6. Select a record.

Result:

An exception is raised

```
UncaughtPromiseError > TypeError
Uncaught Promise > parent._trigger_up is not a function
```

Expected:

It should open the search more dialog, and let the user select a record.
2023-04-18 11:56:54 -03:00
Víctor Martínez fcd83da94e [FIX] web_advanced_search: Prevent error in many2one fields 2022-09-13 15:25:01 +02:00
Ivàn Todorovich fbb9387d2a
[FIX] web_advanced_search: Implement 'Add Advanced Filter' for owl widgets (pivot, graph)
Steps to reproduce:

1. Go to any Pivot or Graph view.
2. Open the filter menu.

Result:

'Add Advanced Filter' option is not there
2022-07-19 16:04:28 -03:00
Ivàn Todorovich 7de75a9600
[FIX] web_advanced_search: Implement 'Add Custom Filter' for owl widgets (pivot, graph)
Steps to reproduce:

1. Go to any Pivot or Graph view.
2. Add a custom filter, for example, Company.
3. Use the "is equal to" operator.

Result:

Uncaught Promise > Cannot find the definition of component "RecordPicker"

---

This happens because in Odoo 15.0 there are two versions of the FilterMenu and
CustomFilterItem widgets: one implemented in the legacy widget framework [^1]
and another implemented in Owl [^2].

The legacy version is used for `tree` views, for example; whilst the Owl version
is used for `pivot` and `graph` views.

Confusing as it is, before this commit only the legacy version was being overriden,
making it work for `tree` views (most common case), but not for `pivot` views.

Since both versions share the same QWeb template, though, not only it wasn't
working for `pivot`, but it also raised an Exception.

[^1]: https://github.com/odoo/odoo/blob/21a2dfd90/addons/web/static/src/legacy/js/control_panel/custom_filter_item.js#L45
[^2]: https://github.com/odoo/odoo/blob/21a2dfd90/addons/web/static/src/search/filter_menu/custom_filter_item.js#L107
2022-07-19 16:04:24 -03:00
Ivàn Todorovich 2728187b2b
[IMP] web_advanced_search: Move legacy widget overrides to specific folder 2022-07-19 16:02:27 -03:00
Ivàn Todorovich f3999c21a8
[MIG] web_advanced_search: Migration to 15.0 2022-02-22 09:42:59 -03:00
Ivàn Todorovich 386072b61b
[IMP] web_advanced_search: pre-commit execution 2022-02-21 17:41:15 -03:00
Jeroen Evens f564058b19
[FIX] fix issue with company-dependent m2x fields when strings are used in domain instead of ids
re-add copyright
2022-02-21 17:41:00 -03:00
Raf Ven fa2d0ef54c
[14.0] [FIX] web_advanced_search: Many2one selection on Filters missing 2022-02-21 17:41:00 -03:00
Raf Ven b2eb3dbac7
[MIG] web_advanced_search: Migration to 14.0 2022-02-21 17:40:59 -03:00
Raf Ven 1eca71d2b2
[IMP] web_advanced_search: black, isort 2022-02-21 17:40:58 -03:00
Alexandre D. Díaz 6c8c0c9ec5
[IMP] web_advanced_search: Don't block modal filter menu 2022-02-21 17:40:57 -03:00
Alexandre D. Díaz 7cc6c1ff2c
[IMP] web_advanced_search: Prevent the menu from closing when using a relational field 2022-02-21 17:40:56 -03:00
Alexandre Díaz f267c15a0a
[FIX] web_advanced_search: Change management of relational fields 2022-02-21 17:40:54 -03:00
Alexandre Díaz 18fde36cc4
[IMP] web_advanced_search: Restore debug mode 2022-02-21 17:40:53 -03:00
Alexandre Díaz 92e0b435a9
[MIG] web_advance_search: Migration to 13.0 2022-02-21 17:40:52 -03:00
Alexandre Díaz ee83cde3e3
[IMP] web_advanced_search: black, isort 2022-02-21 17:40:52 -03:00
sbejaoui be906012fb
[FIX] - advanced search, combination of several OR operators
There is a problem when converting a domain object to an array.

in the case of a combination of several OR operators, the retroconversion into an array
from the domain object is not equal to the original array used for initialization.

The problem can be related to the initialization of the domain object or to the
conversion to an array, but in any case, it is out of this PR scope.

The humanDomain needs an array domain, which mean that the conversion and the
retro-conversion are useless in this case.
2022-02-21 17:40:51 -03:00
tarteo 6bc0b64189
[IMP] web_advanced_search: contains search 2022-02-21 17:40:50 -03:00
Jairo Llopis cbecd4f9a8
[MIG] web_advanced_search: Migrate to v12 2022-02-21 17:40:46 -03:00
Jairo Llopis 26d641f207
[FIX] web_advanced_search: Ignore field domain
If we honor the domain value, the user may not be getting all available
records when selecting from an x2many dropdown, or even worse, if the
domain references another field in the view, the user may be getting
an error when opening the field dropdown, like this:

    Error: NameError: name 'company_id' is not defined

    http://localhost/web/static/lib/py.js/lib/py.js:370
    Rastreo de error:
    PY_ensurepy@http://localhost/web/static/lib/py.js/lib/py.js:370:19
    py.evaluate@http://localhost/web/static/lib/py.js/lib/py.js:1340:20
    py.evaluate@http://localhost/web/static/lib/py.js/lib/py.js:1397:35
    py.evaluate@http://localhost/web/static/lib/py.js/lib/py.js:1409:34
    py.eval@http://localhost/web/static/lib/py.js/lib/py.js:1453:16
    eval_domains/<@http://localhost/web/static/src/js/core/pyeval.js:886:39
    _.forEach@http://localhost/web/static/lib/underscore/underscore.js:145:9
    _.mixin/</_.prototype[name]@http://localhost/web/static/lib/underscore/underscore.js:1484:29
    eval_domains@http://localhost/web/static/src/js/core/pyeval.js:877:16
    pyeval@http://localhost/web/static/src/js/core/pyeval.js:988:16
    stringToArray@http://localhost/web/static/src/js/core/domain.js:243:16
    _getDomain@http://localhost/web/static/src/js/views/basic/basic_model.js:3004:24
    _search@http://localhost/web_m2x_options/static/src/js/form.js:139:26
    source@http://localhost/web/static/src/js/fields/relational_fields.js:198:17
    _search@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:6823:3
    $.widget/</proxiedPrototype[prop]</<@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:415:19
    search@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:6815:10
    $.widget/</proxiedPrototype[prop]</<@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:415:19
    $.widget.bridge/$.fn[name]/<@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:508:19
    each@http://localhost/web/static/lib/jquery/jquery.js:383:49
    each@http://localhost/web/static/lib/jquery/jquery.js:136:24
    $.widget.bridge/$.fn[name]@http://localhost/web/static/lib/jquery.ui/jquery-ui.js:494:4
    _onInputClick@http://localhost/web/static/src/js/fields/relational_fields.js:565:13
    proxy/<@http://localhost/web/static/src/js/core/mixins.js:279:20
    dispatch@http://localhost/web/static/lib/jquery/jquery.js:4640:50
    add/elemData.handle@http://localhost/web/static/lib/jquery/jquery.js:4309:41
2022-02-21 17:40:46 -03:00
Simone Orsi 696f1cacaa
web_advanced_search: fix 1st domain node load 2022-02-21 17:40:45 -03:00
Jairo Llopis 2959785eb9
[FIX] web_advanced_search: `undefined` in x2m fields
Before this patch, when searching with the "equals to" operator in any
x2many field, the searched parameter was always `undefined`.

The problem was that the underlying field manager implementation was
treating those fields as x2many, while the widget used was the `one2many`
one.

This patch simply mocks the underlying fake record to make think that
any relational field is always a `one2many`. This sets all pieces in
place and makes the field manager work as expected, and thus you can
search as expected too.
2022-02-21 17:40:45 -03:00
Jairo Llopis 578d2b3e23
[FIX] web_advanced_search: Make linter happy 2022-02-21 17:40:44 -03:00
Jairo Llopis 50f118a63d
[MIG][REF] web_advanced_search: Rename, refactor, migrate
* Complete migration to v11
* Refactor to use the new v11 decoupled widgets system
* Advanced search is now a high-level feature from the filters menu; it simplifies code a lot, and the UX is even better
* Split README system
* Add fun to ROADMAP
* Addon is renamed to web_advanced_search, since it enhaces the searching experience for all kind of fields now
2022-02-21 17:40:43 -03:00
Jose Maria Bernet b0ffa80316
[MIG] web_advanced_search_x2x: Migration to 11.0
[FIX] StopPropagation when clicking in domain selector.
2022-02-21 17:40:43 -03:00
Benjamin Willig e51140f6a4
[FIX] web_advanced_search: 2 fixes
* Ensure that domain field can be evaluated before creating x2x field
* Fixed navigation error after using x2x advanced search
2022-02-21 17:40:42 -03:00
Jairo Llopis ffa10a8247
[FIX] Compatibilize web_widget_domain_v11 with web_advanced_search_x2x 2022-02-21 17:40:41 -03:00
ralwafaie c08bd3571f
[MIG] web_advanced_search_x2x: Migrated to 10.0
[MIG] web_advanced_search_x2x: Migrated to 10.0 FIX review Remarks
2022-02-21 17:40:41 -03:00
Jairo Llopis 5bb2ee44ea
[FIX] web_advanced_search_x2x: Several things
* Make it good-looking
* Update known issues
* Fix templates.
* Make other operators work again
2022-02-21 17:40:41 -03:00
Holger Brunn 6b3553b968
inhibit closing the menu when selecting from the dropdown 2022-02-21 17:40:40 -03:00
Jairo Llopis 524264a54b
Adapt to v9 API.
- Use the new domain widget.
- Use modules system.
2022-02-21 17:40:40 -03:00
cubells e5c142d429
web_advanced_search_x2x module 2022-02-21 17:40:40 -03:00
Holger Brunn 22494534ff
[REN] to web_advanced_search_x2x
and replace company icon

[FIX] js syntax

[FIX] move our patched equals operator to top of list

[ADD] support selecting domains on x2x fields

[FIX] eval search view's domain

[IMP] UI fixes

[IMP] reflect recent additions in README.rst

[FIX] typos

[ADD] translations

[FIX] correct js reference

[RFR] rebuild our domains in a different way

this solves timing problems
2022-02-21 17:40:39 -03:00