server-tools/upgrade_analysis/odoo_patch/odoo/modules/registry.py

30 lines
1012 B
Python

import logging
from threading import current_thread
from odoo import api, SUPERUSER_ID
from ...odoo_patch import OdooPatch
from .... import upgrade_log
from odoo.modules.registry import Registry
_logger = logging.getLogger(__name__)
class RegistryPatch(OdooPatch):
target = Registry
method_names = ['init_models']
def init_models(self, cr, model_names, context, install=True):
module_name = context['module']
_logger.debug('Logging models of module %s', module_name)
upg_registry = current_thread()._upgrade_registry
local_registry = {}
env = api.Environment(cr, SUPERUSER_ID, {})
for model in env.values():
if not model._auto:
continue
upgrade_log.log_model(model, local_registry)
upgrade_log.compare_registries(
cr, context['module'], upg_registry, local_registry)
return RegistryPatch.init_models._original_method(
self, cr, model_names, context, install=install)