# -*- coding: utf-8 -*-
"""Reactivate any views that Odoo silently deactivated.

Odoo deactivates inherited views when xpath validation fails (e.g. parent
view structure changed between versions).  Once deactivated, subsequent
``-u`` runs never reactivate them.  This end-migration script catches
that scenario on every version bump.
"""
import logging

_logger = logging.getLogger(__name__)

MODULE = 'fusion_authorizer_portal'


def migrate(cr, version):
    if not version:
        return

    cr.execute("""
        UPDATE ir_ui_view v
        SET active = true
        FROM ir_model_data d
        WHERE d.res_id = v.id
          AND d.model  = 'ir.ui.view'
          AND d.module = %s
          AND v.active = false
        RETURNING v.id, v.name, v.key
    """, [MODULE])

    rows = cr.fetchall()
    if rows:
        _logger.warning(
            "Reactivated %d deactivated views for %s: %s",
            len(rows), MODULE, [r[2] or r[1] for r in rows],
        )
