post-migration.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from odoo import api, SUPERUSER_ID
  2. import logging
  3. _logger = logging.getLogger(__name__)
  4. def migrate(cr, version):
  5. env = api.Environment(cr, SUPERUSER_ID, {})
  6. # Corregir duplicados: asegurar que solo las aplicaciones principales tengan is_main_application=True
  7. # y que no haya duplicados por nombre
  8. # 1. Corregir módulo 'ai' - no debe ser aplicación principal
  9. ai_module = env['helpdesk.affected.module'].search([('code', '=', 'ai')], limit=1)
  10. if ai_module:
  11. ai_module.write({
  12. 'name': 'AI Base',
  13. 'is_main_application': False
  14. })
  15. _logger.info("Módulo 'ai' actualizado: marcado como no principal")
  16. # 2. Corregir account_accountant - no debe ser aplicación principal
  17. account_accountant = env['helpdesk.affected.module'].search([('code', '=', 'account_accountant')], limit=1)
  18. if account_accountant and account_accountant.is_main_application:
  19. account_accountant.write({
  20. 'name': 'Invoicing (Enterprise)',
  21. 'is_main_application': False
  22. })
  23. _logger.info("Módulo 'account_accountant' actualizado: marcado como no principal")
  24. # 3. Corregir sale_management - no debe ser aplicación principal
  25. sale_management = env['helpdesk.affected.module'].search([('code', '=', 'sale_management')], limit=1)
  26. if sale_management and sale_management.is_main_application:
  27. sale_management.write({
  28. 'name': 'Sales Management',
  29. 'is_main_application': False
  30. })
  31. _logger.info("Módulo 'sale_management' actualizado: marcado como no principal")
  32. cr.commit()
  33. _logger.info("Migración de duplicados completada")