diff --git a/docsource/modules170-180.rst b/docsource/modules170-180.rst index 82ca5b96c777..cd21f91f2a46 100644 --- a/docsource/modules170-180.rst +++ b/docsource/modules170-180.rst @@ -1078,7 +1078,7 @@ Module coverage 17.0 -> 18.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | web |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| web_editor |Nothing to do | | +| web_editor |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | web_hierarchy |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/web_editor/18.0.1.0/post-migration.py b/openupgrade_scripts/scripts/web_editor/18.0.1.0/post-migration.py new file mode 100644 index 000000000000..692976f19dad --- /dev/null +++ b/openupgrade_scripts/scripts/web_editor/18.0.1.0/post-migration.py @@ -0,0 +1,32 @@ +import logging + +from lxml import etree +from openupgradelib import openupgrade + +_logger = logging.getLogger(__name__) + + +@openupgrade.migrate() +def migrate(env, version): + views = env["ir.ui.view"].search( + [("arch_db", "like", "expr=\"//div[@id='snippet_custom']\"")] + ) + for view in views: + try: + t_element = etree.fromstring(view.arch_db).xpath("//t")[0] + thumbnail_url = t_element.attrib["t-thumbnail"] + full_snippet_key = t_element.attrib["t-snippet"] + template_key, snippet_key = view.key.rsplit(".", 1) + view.write( + { + "arch": f""" + + + + + + """ # noqa: E501 + } + ) + except Exception as e: + _logger.error(f"View with id {view.id} cannot be transformed {e}")