From 084af040920cca60d58241ef2bd9e8517b6eec26 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu <vmt@openerp.com>
Date: Wed, 1 Feb 2012 16:27:10 +0100
Subject: [PATCH] [FIX] import-hook: correctly import the server-wide-module
 (i.e use the openerp.addons namespace), and correctly set the submodules in
 sys.modules (instead of only the top-level package).

bzr revid: vmt@openerp.com-20120201152710-s7sxlgibwd3lwr5l
---
 openerp-server            | 2 +-
 openerp/modules/module.py | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/openerp-server b/openerp-server
index 334c17905260..ab31c3803cd9 100755
--- a/openerp-server
+++ b/openerp-server
@@ -243,7 +243,7 @@ if __name__ == "__main__":
 
     for m in openerp.conf.server_wide_modules:
         try:
-            __import__(m)
+            __import__('openerp.addons.' + m)
             # Call any post_load hook.
             info = openerp.modules.module.load_information_from_description_file(m)
             if info['post_load']:
diff --git a/openerp/modules/module.py b/openerp/modules/module.py
index 2d8ce0abd274..c2935c8d117c 100644
--- a/openerp/modules/module.py
+++ b/openerp/modules/module.py
@@ -140,6 +140,9 @@ To import it, use `import openerp.addons.<module>.`.""" % (module_name, path))
         mod = imp.load_module(module_name, f, path, descr)
         if not is_shadowing:
             sys.modules[module_part] = mod
+            for k in sys.modules.keys():
+                if k.startswith('openerp.addons.' + module_part):
+                    sys.modules[k[len('openerp.addons.'):]] = sys.modules[k]
         sys.modules['openerp.addons.' + module_part] = mod
         return mod
 
-- 
GitLab