35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import logging
|
|
from threading import current_thread
|
|
|
|
from odoo import SUPERUSER_ID, api
|
|
from odoo.modules.registry import Registry
|
|
|
|
from .... import upgrade_log
|
|
from ...odoo_patch import OdooPatch
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class RegistryPatch(OdooPatch):
|
|
target = Registry
|
|
method_names = ["init_models"]
|
|
|
|
def init_models(self, cr, model_names, context, install=True):
|
|
if "module" in context:
|
|
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
|
|
)
|