-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
17.0 mig web tree many2one clickable mwi #5
17.0 mig web tree many2one clickable mwi #5
Conversation
Clickable many2one fields for tree views ======================================== This addon provides a separate widget to allow many2one fields in a tree view open the linked resource when clicking on their name. You can also define a system parameter to have this behaviour for all the existing many2one fields in tree views. Installation ============ Install it the regular way. Configuration ============= If you want to have all many2one fields clickable by default, you have to define in *Configuration > Technical > Parameters > System parameters*, a new parameter with name `web_tree_many2one_clickable.default` and with value `true`. Usage ===== For the widget option, you need to add `widget="many2one_clickable"` attribute in the XML field definition in the tree view. For example: `<field name="partner_id" widget="many2one_clickable" />` will open the linked partner in a form view. Known issues / Roadmap ====================== * You cannot deactivate clickable behaviour for an specific many2one field if you configure the system parameter. * The value of the system parameter is retrieved for each many2one field present in the view instead of only once.
If a list contains a node which is not a field (e.g. a button), it will not be found in the fields so we'll have an error trying to get 'type' from undefined.
Includes some manual fixes to silent ESLint warnings.
When for instance a form_view_ref context is defined on a field in a specific tree view, the context should also be passed when opening the form.
Clicking on a field with context like this `{'default_product_id': product_id}` doesn't throws an error.
[MIG] web_tree_many2one_clickable: Migration to 16.0 [MIG] web_tree_many2one_clickable: Migration to 16.0 [MIG] web_tree_many2one_clickable: Migration to 16.0
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: web-16.0/web-16.0-web_tree_many2one_clickable Translate-URL: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_tree_many2one_clickable/
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## 17.0-versada #5 +/- ##
==============================================
Coverage 100.00% 100.00%
==============================================
Files 11 11
Lines 75 75
Branches 2 2
==============================================
Hits 75 75 ☔ View full report in Codecov by Sentry. |
} | ||
TreeMany2oneClickableButton.template = "web_tree_many2one_clickable.Button"; | ||
|
||
Object.assign(ListRenderer.components, {TreeMany2oneClickableButton}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this done originally? Shouldn't we use "patch" to modify existing component?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a part of the code included in migration to v16. I will investigate if we can use patch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oerp-odoo I couldn't find any examples of extending components of existing class via patch
. But Object.assign
is quite commonly used [example]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggest not to change if it works, but opportunity to try understand js specifics:
docs have example for static properties,
But js static properties are not propagated to instances (like in python)..
Still class methods can be patched via prototype
(in same docs), maybe components
property could also...
} | ||
TreeMany2oneClickableButton.template = "web_tree_many2one_clickable.Button"; | ||
|
||
Object.assign(ListRenderer.components, {TreeMany2oneClickableButton}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggest not to change if it works, but opportunity to try understand js specifics:
docs have example for static properties,
But js static properties are not propagated to instances (like in python)..
Still class methods can be patched via prototype
(in same docs), maybe components
property could also...
No description provided.