[FIX] base_setup category checkbox for multiple modules
[odoo/odoo.git] / addons / base_setup / base_setup.py
index 4178a51..c51b0c5 100644 (file)
@@ -35,7 +35,7 @@ DEFAULT_MODULES = {
     'Project Management' : ['project',],
     'Knowledge Management' : ['document',],
     'Warehouse Management' : ['stock',],
-    'Manufacturing' : ['mrp', 'procurement'],
+    'Manufacturing' : ['mrp'],
     'Accounting & Finance' : ['account'],
     'Purchase Management' : ['purchase'],
     'Human Resources' : ['hr',],
@@ -107,7 +107,7 @@ class base_setup_installer(osv.osv_memory):
             for cat in cat_proxy.browse(cr, uid, cat_ids, context=context):
                 m = DEFAULT_MODULES.get(cat.name,[])
                 r = module_proxy.search(cr, uid, [('state','=','installed'),('name','in',m)])
-                result['category_%d' % (cat.id,)] = bool(r)
+                result['category_%d' % (cat.id,)] = len(r) == len(m)
 
         return result
 
@@ -278,7 +278,7 @@ class base_setup_installer(osv.osv_memory):
                 proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
                 need_update = True
 
-            category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_link')
+            category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_hidden_link')
             while True and category_id:
                 cr.execute("select id, name from ir_module_module m where category_id = %s \
                            and (select count(d.id) from ir_module_module_dependency d \
@@ -292,7 +292,7 @@ class base_setup_installer(osv.osv_memory):
                 if not module_ids:
                     break
 
-                modules = modules + set(inner_modules)
+                modules.update(inner_modules)
 
                 proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
                 need_update = True