diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 26570685f43..5ed36511d95 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -259,7 +259,10 @@ class module(osv.osv): for dep in depobj.browse(cr, uid, iids, context=context): if dep.module_id.state=='installed': todo.append(dep.module_id) - self.write(cr,uid, map(lambda x: x.id, todo), {'state':'to upgrade'}, context=context) + + ids = map(lambda x: x.id, todo) + self.write(cr, uid, ids, {'state':'to upgrade'}, context=context) + self.button_install(cr, uid, ids, context=context) return True def button_upgrade_cancel(self, cr, uid, ids, context={}): diff --git a/bin/tools/osutil.py b/bin/tools/osutil.py index ba1d650f4ef..1925f82f671 100644 --- a/bin/tools/osutil.py +++ b/bin/tools/osutil.py @@ -34,7 +34,7 @@ def listdir(dir, recursive=False): return os.listdir(dir) res = [] - for root, dirs, files in os.walk(dir): + for root, dirs, files in walksymlinks(dir): root = root[len(dir)+1:] res.extend([opj(root, f) for f in files]) return res