From 792fc3cf97ad04602ac4d8e299c216a19cda7bf0 Mon Sep 17 00:00:00 2001 From: ced <> Date: Mon, 30 Jul 2007 13:35:27 +0000 Subject: base,kernel,base_module_publish: improve publication of module, add repository, etc... - add repository for module - improve version number - add check to remove module - can not upload module with the same version number - add version compare from portage (gentoo) - add release in context of eval - add active = True to base module - add wizard to update all installed modules - add check to not upload module that is not installed - add posibility to include source - fix license - now load zip module in preference bzr revid: ced-e1b031d238126e8060b0e2cb6f87bb93cca5a343 --- .../base/module/wizard/wizard_update_module.py | 55 +++++++++++++++------- 1 file changed, 39 insertions(+), 16 deletions(-) (limited to 'bin/addons/base/module/wizard/wizard_update_module.py') 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 = ''' -
- ''' - fields = {} + ''' + fields = { + 'repositories': {'type': 'text', 'string': 'Repositories', 'readonly': True}, + } + + arch_module = ''' + ''' + + 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': [], -- cgit v1.2.3