Christophe (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-fixmodloading-chs into lp:openerp-web.

Requested reviews:
  OpenERP R&D Web Team (openerp-dev-web)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-fixmodloading-chs/+merge/78222
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-fixmodloading-chs/+merge/78222
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-fixmodloading-chs.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2011-09-30 20:10:18 +0000
+++ addons/web/controllers/main.py	2011-10-05 09:57:24 +0000
@@ -358,12 +358,18 @@
 
     @openerpweb.jsonrequest
     def modules(self, req):
-        # TODO query server for installed web modules
-        mods = []
-        for name, manifest in openerpweb.addons_manifest.items():
-            # TODO replace by ir.module.module installed web
-            if name not in req.config.server_wide_modules and manifest.get('active', True):
-                mods.append(name)
+        candidates = [mod for mod in openerpweb.addons_manifest.keys() if mod not in req.config.server_wide_modules]
+
+        if req.config.backend == 'local':
+            # if local backend, the modules are shared with the server
+            Modules = req.session.model('ir.module.module')
+            ids = Modules.search(
+                ['&', ('state', '=', 'installed'), ('name', 'in', candidates)]
+            )
+            mods = map(operator.itemgetter('name'), Modules.read(ids, ['name']))
+
+        else:
+            mods = [name for name in candidates if openerpweb.addons_manifest[name].get('active', True)]
         return mods
 
     @openerpweb.jsonrequest

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to