From efdf54b283301468e4ba997a7400fa08215495d3 Mon Sep 17 00:00:00 2001
From: ced <>
Date: Wed, 1 Aug 2007 14:03:37 +0000
Subject: [PATCH] base: add information on module to download when upgrade
modules
bzr revid: ced-73cc0c8567285f1a1a2f4b2e86b7329d5646cbf6
---
bin/addons/base/module/module.py | 7 ++++++-
bin/addons/base/module/module_view.xml | 2 +-
.../base/module/wizard/wizard_module_upgrade.py | 13 ++++++++++---
3 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py
index 709ad0a6ba4..e8964fc31e1 100644
--- a/bin/addons/base/module/module.py
+++ b/bin/addons/base/module/module.py
@@ -441,7 +441,8 @@ class module(osv.osv):
res[0] += 1
return res
- def download(self, cr, uid, ids, context=None):
+ def download(self, cr, uid, ids, download=True, context=None):
+ res = []
adp = tools.config['addons_path']
for mod in self.browse(cr, uid, ids, context=context):
if not mod.url:
@@ -452,6 +453,9 @@ class module(osv.osv):
version = match.group(1)
if vercmp(mod.installed_version or '0', version) >= 0:
continue
+ res.append(mod.url)
+ if not download:
+ continue
zipfile = urllib.urlopen(mod.url).read()
fname = os.path.join(adp, mod.name+'.zip')
try:
@@ -461,6 +465,7 @@ class module(osv.osv):
except IOError, e:
raise orm.except_orm('Error', 'Can not create the module file:\n %s'
% (fname,))
+ return res
def _update_dependencies(self, cr, uid, id, depends=[]):
for d in depends:
diff --git a/bin/addons/base/module/module_view.xml b/bin/addons/base/module/module_view.xml
index fa61a144bba..019cbc53be3 100644
--- a/bin/addons/base/module/module_view.xml
+++ b/bin/addons/base/module/module_view.xml
@@ -115,7 +115,7 @@
ir.module.module
tree
-
+
diff --git a/bin/addons/base/module/wizard/wizard_module_upgrade.py b/bin/addons/base/module/wizard/wizard_module_upgrade.py
index 2fa41865d4c..b7ebc8e57b6 100644
--- a/bin/addons/base/module/wizard/wizard_module_upgrade.py
+++ b/bin/addons/base/module/wizard/wizard_module_upgrade.py
@@ -46,11 +46,16 @@ view_form = """
+
+
"""
view_field = {
- "module_info": {'type':'text', 'string':'Modules', 'readonly':True}
+ "module_info": {'type': 'text', 'string': 'Modules to update',
+ 'readonly': True},
+ "module_download": {'type': 'text', 'string': 'Modules to download',
+ 'readonly': True},
}
class wizard_info_get(wizard.interface):
@@ -59,8 +64,10 @@ class wizard_info_get(wizard.interface):
mod_obj = pool.get('ir.module.module')
ids = mod_obj.search(cr, uid, [
('state', 'in', ['to upgrade', 'to remove', 'to install'])])
- res = pool.get('ir.module.module').read(cr, uid, ids, ['name','state'], context)
- return {'module_info':'\n'.join(map(lambda x: x['name']+' : '+x['state'], res))}
+ res = mod_obj.read(cr, uid, ids, ['name','state'], context)
+ url = mod_obj.download(cr, uid, ids, download=False, context=context)
+ return {'module_info': '\n'.join(map(lambda x: x['name']+' : '+x['state'], res)),
+ 'module_download': '\n'.join(url)}
def _upgrade_module(self, cr, uid, data, context):
pool=pooler.get_pool(cr.dbname)