summaryrefslogtreecommitdiff
path: root/bin/addons/base/module/wizard/wizard_update_module.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/addons/base/module/wizard/wizard_update_module.py')
-rw-r--r--bin/addons/base/module/wizard/wizard_update_module.py55
1 files changed, 39 insertions, 16 deletions
diff --git a/bin/addons/base/module/wizard/wizard_update_module.py b/bin/addons/base/module/wizard/wizard_update_module.py
index 996815584a1..0cab2804106 100644
--- a/bin/addons/base/module/wizard/wizard_update_module.py
+++ b/bin/addons/base/module/wizard/wizard_update_module.py
@@ -34,35 +34,58 @@ import pooler
class wizard_update_module(wizard.interface):
arch = '''<?xml version="1.0"?>
-<form string="Scan for new modules">
- <label string="This function will check for new modules in the 'addons' path and on module repository." colspan="4" />
-</form>
- '''
- fields = {}
+ <form string="Scan for new modules">
+ <label string="This function will check for new modules in the 'addons' path and on module repositories:" colspan="4" align="0.0"/>
+ <field name="repositories" colspan="4" nolabel="1"/>
+ </form>'''
+ fields = {
+ 'repositories': {'type': 'text', 'string': 'Repositories', 'readonly': True},
+ }
+
+ arch_module = '''<?xml version="1.0"?>
+ <form string="New modules">
+ <field name="update" colspan="4"/>
+ <field name="add" colspan="4"/>
+ </form>'''
+
+ fields_module = {
+ 'update': {'type': 'integer', 'string': 'Number of modules updated', 'readonly': True},
+ 'add': {'type': 'integer', 'string': 'Number of modules added', 'readonly': True},
+ }
def _update_module(self, cr, uid, data, context):
- pooler.get_pool(cr.dbname).get('ir.module.module').update_list(cr, uid)
- return {}
+ update, add = pooler.get_pool(cr.dbname).get('ir.module.module').update_list(cr, uid)
+ return {'update': update, 'add': add}
def _action_module_open(self, cr, uid, data, context):
return {
- 'domain': "[]",
- 'name': 'Open Module List',
- 'view_type': 'tree',
- 'res_model': 'ir.module.category',
- 'domain': "[('parent_id', '=', False)]",
+ 'domain': str([]),
+ 'name': 'Module List',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'ir.module.module',
'view_id': False,
'type': 'ir.actions.act_window'
}
+ def _get_repositories(self, cr, uid, data, context):
+ pool = pooler.get_pool(cr.dbname)
+ repository_obj = pool.get('ir.module.repository')
+ ids = repository_obj.search(cr, uid, [])
+ res = repository_obj.read(cr, uid, ids, ['name', 'url'], context)
+ return {'repositories': '\n'.join(map(lambda x: x['name']+': '+x['url'], res))}
+
states = {
'init': {
- 'actions': [],
- 'result': {'type': 'form', 'arch': arch, 'fields': fields, 'state': [('end', 'Cancel', 'gtk-cancel'), ('update', 'Check new modules', 'gtk-ok')]}
+ 'actions': [_get_repositories],
+ 'result': {'type': 'form', 'arch': arch, 'fields': fields, 'state':
+ [('end', 'Cancel', 'gtk-cancel'),
+ ('update', 'Check new modules', 'gtk-ok')]}
},
'update': {
- 'actions': [_update_module],
- 'result': {'type':'state', 'state':'open_window'}
+ 'actions': [_update_module],
+ 'result': {'type': 'form', 'arch': arch_module, 'fields': fields_module,
+ 'state': [('open_window', 'Ok', 'gtk-ok')]}
},
'open_window': {
'actions': [],