diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2008-10-29 00:15:42 +0100 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2008-10-29 00:15:42 +0100 |
| commit | 97e080c4484a56e31a92a7017c4d3e677a5a388d (patch) | |
| tree | 13dfb80f54ee1fc05589b8671e70e47e8a969468 /bin/addons/base/module/module.py | |
| parent | 19980d276720b8dc2d7c785222cbf192a48a3fa5 (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.py | 10 |
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) |
