I was testing the modules of Odoo 15 that I developed in Odoo 16, I was using a lot of the method fields_views_get to have some behaviors to inject domain and context, before to render the component, but currently I can not find this method.
Someone here knows what will be the alternative to achieve some behavior in runtime (modify the XML with the etree component of lxml)?
The main goal here is to inject in the XML data that is very difficult to add without the env object since with the fields_views_get I was able to inject or make queries before returning the XML.
Advertisement
Answer
fields_view_get was renamed to get_view:
fields_view_getbecomesget_view. As it no longer returns the fields description, keeping thefieldsin the namefields_view_getno longer makes sense. Hence removingfieldsfrom the method name, it becomesview_get. As it gets renamed anyway, we take the opportunity to rename itget_view, which is more in line with the general getter/setter guidelines in the model object world.
–_fields_view_getbecomes_get_view. For the same reasons than above.
–load_viewsbecomesget_views.
You can find more details in refactor fields_view_get, load_views commit
In the changed files, you can see an example of commit diff of res_users model which replaces:
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
With:
def get_view(self, view_id=None, view_type='form', **options):
