# Copyright 2026 Ecocentral, Criptomart
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
"""Renombrar l'xml_id de la vista heretada del formulari de contacte.

A la 17.0 la vista es deia `l10n_es_partner_ccpae.view_partner_form`, un nom
que xoca visualment amb `base.view_partner_form` i que no segueix la convenció
del repo (`<model>_view_form_<mòdul>`). A la 18.0 passa a dir-se
`res_partner_view_form_ccpae`.

Sense aquest script l'actualització continuaria funcionant —Odoo crearia una
vista nova i esborraria l'antiga a `_process_end`— però pel mig hi hauria dues
vistes heretades equivalents injectant la mateixa pàgina al formulari, i es
perdrien les personalitzacions que algú hagués fet sobre el registre existent.
Renombrant a `ir_model_data` es reaprofita la mateixa `ir.ui.view`.
"""

import logging

_logger = logging.getLogger(__name__)

RENAMED_XMLIDS = [
    # (model, nom antic, nom nou)
    ("ir.ui.view", "view_partner_form", "res_partner_view_form_ccpae"),
]


def migrate(cr, version):
    if not version:
        return
    for model, old_name, new_name in RENAMED_XMLIDS:
        cr.execute(
            """
            UPDATE ir_model_data
               SET name = %s
             WHERE module = 'l10n_es_partner_ccpae'
               AND name = %s
               AND model = %s
               AND NOT EXISTS (
                   SELECT 1 FROM ir_model_data
                    WHERE module = 'l10n_es_partner_ccpae'
                      AND name = %s
               )
            """,
            (new_name, old_name, model, new_name),
        )
        if cr.rowcount:
            _logger.info(
                "l10n_es_partner_ccpae: xml_id %s renombrat a %s", old_name, new_name
            )
