summaryrefslogtreecommitdiff
path: root/bin/addons/base/module/module.py
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2008-10-29 00:15:42 +0100
committerFabien Pinckaers <fp@tinyerp.com>2008-10-29 00:15:42 +0100
commit97e080c4484a56e31a92a7017c4d3e677a5a388d (patch)
tree13dfb80f54ee1fc05589b8671e70e47e8a969468 /bin/addons/base/module/module.py
parent19980d276720b8dc2d7c785222cbf192a48a3fa5 (diff)
module_layout_print_report
bzr revid: fp@tinyerp.com-20081028231542-i0z2xm40d507le8o
Diffstat (limited to 'bin/addons/base/module/module.py')
-rw-r--r--bin/addons/base/module/module.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py
index 27f390a3bd1..323e032784f 100644
--- a/bin/addons/base/module/module.py
+++ b/bin/addons/base/module/module.py
@@ -591,10 +591,12 @@ class module(osv.osv):
self.write(cr, uid, [id], {'category_id': p_id})
def action_install(self,cr,uid,ids,context=None):
- self.write(cr , uid, ids ,{'state' : 'to install'})
- self.download(cr, uid, ids, context=context)
- for id in ids:
- cr.execute("select m.id as id from ir_module_module_dependency d inner join ir_module_module m on (m.name=d.name) where d.module_id=%d and m.state='uninstalled'",(id,))
+ for module in self.browse(cr, uid, ids, context):
+ if module.state <> 'uninstalled':
+ continue
+ self.write(cr , uid, [module.id] ,{'state' : 'to install'})
+ self.download(cr, uid, [module.id], context=context)
+ cr.execute("select m.id as id from ir_module_module_dependency d inner join ir_module_module m on (m.name=d.name) where d.module_id=%d and m.state='uninstalled'",(module.id,))
dep_ids = map(lambda x:x[0],cr.fetchall())
if len(dep_ids):
self.action_install(cr,uid,dep_ids,context=context)