[MIG] base_view_inheritance_extension to v14

pull/2494/head
Alexis de Lattre 2020-11-24 00:08:58 +01:00 committed by Enric Tobella
parent e6a02a6826
commit be24def022
4 changed files with 13 additions and 16 deletions

View File

@ -3,11 +3,13 @@
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
{
"name": "Extended view inheritance",
"version": "13.0.1.0.1",
"version": "14.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)",
"license": "LGPL-3",
"category": "Hidden/Dependency",
"summary": "Adds more operators for view inheritance",
"website": "https://github.com/OCA/server-tools",
"depends": ["base"],
"external_dependencies": {"python": ["pyyaml"]},
"demo": ["demo/ir_ui_view.xml"],
}

View File

@ -39,11 +39,9 @@ class IrUiView(models.Model):
_inherit = "ir.ui.view"
@api.model
def apply_inheritance_specs(
self, source, specs_tree, inherit_id, pre_locate=lambda s: True
):
def apply_inheritance_specs(self, source, specs_tree, pre_locate=lambda s: True):
for specs, handled_by in self._iter_inheritance_specs(specs_tree):
source = handled_by(source, specs, inherit_id)
source = handled_by(source, specs)
return source
@api.model
@ -99,7 +97,7 @@ class IrUiView(models.Model):
return variables
@api.model
def inheritance_handler_attributes_python_dict(self, source, specs, inherit_id):
def inheritance_handler_attributes_python_dict(self, source, specs):
"""Implement
<$node position="attributes">
<attribute name="$attribute" operation="python_dict" key="$key">
@ -120,7 +118,7 @@ class IrUiView(models.Model):
return source
@api.model
def inheritance_handler_attributes_list_add(self, source, specs, inherit_id):
def inheritance_handler_attributes_list_add(self, source, specs):
"""Implement
<$node position="attributes">
<attribute name="$attribute" operation="list_add">
@ -136,7 +134,7 @@ class IrUiView(models.Model):
return source
@api.model
def inheritance_handler_attributes_list_remove(self, source, specs, inherit_id):
def inheritance_handler_attributes_list_remove(self, source, specs):
"""Implement
<$node position="attributes">
<attribute name="$attribute" operation="list_remove">

View File

@ -28,4 +28,4 @@ to refer to some xmlid, say ``%(xmlid)s``.
**Move an element in the view**
This feature is now native, cf the `official Odoo documentation <https://www.odoo.com/documentation/12.0/reference/views.html#inheritance-specs>`_.
This feature is now native, cf the `official Odoo documentation <https://www.odoo.com/documentation/14.0/reference/views.html#inheritance-specs>`_.

View File

@ -23,7 +23,6 @@ class TestBaseViewInheritanceExtension(TransactionCase):
def test_list_add(self):
view_model = self.env["ir.ui.view"]
inherit_id = self.env.ref("base.view_partner_form").id
source = etree.fromstring(
"""\
<form>
@ -43,7 +42,7 @@ class TestBaseViewInheritanceExtension(TransactionCase):
"""
)
modified_source = view_model.inheritance_handler_attributes_list_add(
source, specs, inherit_id
source, specs
)
button_node = modified_source.xpath('//button[@name="test"]')[0]
self.assertEqual(button_node.attrib["states"], "draft,open,valid")
@ -59,14 +58,13 @@ class TestBaseViewInheritanceExtension(TransactionCase):
"""
)
modified_source = view_model.inheritance_handler_attributes_list_add(
source, specs, inherit_id
source, specs
)
button_node = modified_source.xpath('//button[@name="test"]')[0]
self.assertEqual(button_node.attrib["states"], "draft,open,valid,payable,paid")
def test_list_remove(self):
view_model = self.env["ir.ui.view"]
inherit_id = self.env.ref("base.view_partner_form").id
source = etree.fromstring(
"""\
<form>
@ -86,14 +84,13 @@ class TestBaseViewInheritanceExtension(TransactionCase):
"""
)
modified_source = view_model.inheritance_handler_attributes_list_remove(
source, specs, inherit_id
source, specs
)
button_node = modified_source.xpath('//button[@name="test"]')[0]
self.assertEqual(button_node.attrib["states"], "draft,valid,paid")
def test_python_dict_inheritance(self):
view_model = self.env["ir.ui.view"]
inherit_id = self.env.ref("base.view_partner_form").id
source = etree.fromstring(
"""<form>
<field name="invoice_line_ids"
@ -120,7 +117,7 @@ class TestBaseViewInheritanceExtension(TransactionCase):
"""
)
modified_source = view_model.inheritance_handler_attributes_python_dict(
source, specs, inherit_id
source, specs
)
field_node = modified_source.xpath('//field[@name="invoice_line_ids"]')[0]
self.assertTrue(