[18.0][MIG] web_m2x_options: Migration to 18.0#3164
Conversation
- Add static/description/index.html fix: use include instead of extend in js function inheritance. fix: not overwriting the existing object references with the result of the include fix: update name according to new module name. fix: error when displaying many2many field without options defined.
[ADD] support 'no_open_edit' on many2one [FIX] typos
…and make the module installable [MIG] adapt form.js to the new API. [FIX] Fix bug mentioned in pull OCA#262. [MIG] Make the module installable.
…th `options={'open': True}` it always open the first element with this fix it will open the right one
* [FIX][web_m2x_options] Fix Qweb templates.
They were trying to replace non-existing elements, and this was being logged to console:
Can't find "a.oe_m2o_cm_button" when extending template FieldMany2One
Can't find "span.badge" when extending template FieldMany2ManyTag
* Raise version correctly.
* [FIX] Make many2many_tags tag deletion work again
* Correct replacement of event
Instead of overwriting all events from upstream widget, better just overwrite the one you need and inherit the rest.
* fix unecessary calls Do check_access_rights and disable_quick_create calls only once per field.
…ser does not have creation permission.
`web_m2x_options` is supposed to render fields in the context of a form or tree view, where domains can safely be applied because there's a main record that includes a context. However, when installing along with `web_advanced_search_x2x`, they produce an incompatibility when a x2x field's domain is defined and depends on the current record's context, because a search view has no notion of a *current record*. The fix is simple: try to do as usual, and if it fails, try without the field's domain. Without this patch, an exception like this would be raised, i.e. when both addons are installed and you are trying to search project tasks by stage: ``` Error: NameError: name 'project_id' is not defined http://localhost/web/static/lib/py.js/lib/py.js:370# Traceback:# Changes to be committed: PY_ensurepy@http://localhost/web/static/lib/py.js/lib/py.js:370:19# modified: static/src/js/form.js 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/framework/pyeval.js:869: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/framework/pyeval.js:860:5 eval_domains/<@http://localhost/web/static/src/js/framework/pyeval.js:873: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/framework/pyeval.js:860:5 eval_domains/<@http://localhost/web/static/src/js/framework/pyeval.js:873: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/framework/pyeval.js:860:5 pyeval@http://localhost/web/static/src/js/framework/pyeval.js:977:16 eval_arg@http://localhost/web/static/src/js/framework/pyeval.js:988:16 ensure_evaluated@http://localhost/web/static/src/js/framework/pyeval.js:1011:21 call@http://localhost/web/static/src/js/framework/data_model.js:56:9 name_search@http://localhost/web/static/src/js/framework/data.js:537:16 get_search_result@http://localhost/web_m2x_options/static/src/js/form.js:130:50 OdooClass.extend/Class.include/</prototype[name]</<@http://localhost/web/static/src/js/framework/class.js:122:35 source@http://localhost/web/static/src/js/views/form_relational_widgets.js:271: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 render_editable/<@http://localhost/web/static/src/js/views/form_relational_widgets.js:189:21 dispatch@http://localhost/web/static/lib/jquery/jquery.js:4640:50 add/elemData.handle@http://localhost/web/static/lib/jquery/jquery.js:4309:41 ```
web_m2x_options: Fix usage for non-admins web_m2x_options: Reduce rpc calls web_m2x_options: Update manifest and readme
Currently translated at 91.7% (11 of 12 strings) Translation: web-11.0/web-11.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-11-0/web-11-0-web_m2x_options/pt_BR/
The method `_onOpenColorPicker` is defined on `FormFieldMany2ManyTags`, not in `FieldMany2ManyTags`, so it can only be called on its descendants.
Otherwise, clicking on a `many2many_tags` tag when found in a tree view produces an error such as:
TypeError: self._onOpenColorPicker is not a function
http://localhost/web_m2x_options/static/src/js/form.js:354
Rastreo de error:
_onOpenBadge@http://localhost/web_m2x_options/static/src/js/form.js:354:17
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
(cherry picked from commit ddbbe81)
Currently translated at 91.7% (11 of 12 strings) Translation: web-12.0/web-12.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_m2x_options/fr/
Currently translated at 100.0% (12 of 12 strings) Translation: web-12.0/web-12.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_m2x_options/fr/
Currently translated at 100.0% (12 of 12 strings) Translation: web-12.0/web-12.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_m2x_options/pt_BR/
Currently translated at 100.0% (12 of 12 strings) Translation: web-12.0/web-12.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_m2x_options/zh_CN/
5735871 to
4f75b3b
Compare
|
@pedrobaeza @carlos-lopez-tecnativa Thank you both for your input. I'm outvoted but also convinced of your arguments, so I've removed the I've also done some code cleanup. Feel free to test things through! |
carlos-lopez-tecnativa
left a comment
There was a problem hiding this comment.
LGTM, thanks for the work
|
This PR has the |
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: web-17.0/web-17.0-web_m2x_options Translate-URL: https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_m2x_options/ [BOT] post-merge updates [UPD] Update web_m2x_options.pot
…KanbanMany2OneAvatarUserField
… and Many2ManyTagsAvatarField
…sAvatarField ListMany2ManyTagsAvatarField already extends from Many2ManyTagsAvatarField
…ify related code.
4f75b3b to
ced386a
Compare
Done! |
CRogos
left a comment
There was a problem hiding this comment.
Tested and LGTM,
minor finding on the tests
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
|
||
| from odoo.tests import common | ||
| from odoo.tests import TransactionCase |
There was a problem hiding this comment.
Use BaseCommon as base test class to reduce overhead from tracking and boost the test suite.
|
/ocabot migration web_m2x_options |
|
This PR looks fantastic, let's merge it! |
|
Congratulations, your PR was merged at 1edfecf. Thanks a lot for contributing to OCA. ❤️ |

New PR for OCA module
web_m2x_optionsfor v18, based on PR #2961. Said PR has been open for 6+ months with several requested changes still pending. With this PR, I hope to get things moving:propsupdates on relational objects to avoid errors in dev mode.Feel free to share suggestions or missing functionality, I commit myself to respond quickly and get this module migrated.