from odoo import api, SUPERUSER_ID import logging _logger = logging.getLogger(__name__) def migrate(cr, version): env = api.Environment(cr, SUPERUSER_ID, {}) # Corregir duplicados: asegurar que solo las aplicaciones principales tengan is_main_application=True # y que no haya duplicados por nombre # 1. Corregir módulo 'ai' - no debe ser aplicación principal ai_module = env['helpdesk.affected.module'].search([('code', '=', 'ai')], limit=1) if ai_module: ai_module.write({ 'name': 'AI Base', 'is_main_application': False }) _logger.info("Módulo 'ai' actualizado: marcado como no principal") # 2. Corregir account_accountant - no debe ser aplicación principal account_accountant = env['helpdesk.affected.module'].search([('code', '=', 'account_accountant')], limit=1) if account_accountant and account_accountant.is_main_application: account_accountant.write({ 'name': 'Invoicing (Enterprise)', 'is_main_application': False }) _logger.info("Módulo 'account_accountant' actualizado: marcado como no principal") # 3. Corregir sale_management - no debe ser aplicación principal sale_management = env['helpdesk.affected.module'].search([('code', '=', 'sale_management')], limit=1) if sale_management and sale_management.is_main_application: sale_management.write({ 'name': 'Sales Management', 'is_main_application': False }) _logger.info("Módulo 'sale_management' actualizado: marcado como no principal") cr.commit() _logger.info("Migración de duplicados completada")