From 086e88d4ce2494d8f242599db13a59418bec091b Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Thu, 26 Aug 2010 18:05:54 +0530 Subject: [PATCH] [IMP]: convert old wizard into osv memory wizard for update module bzr revid: ksa@tinyerp.co.in-20100826123554-2zd5yvp33slx8xfm --- bin/addons/base/__openerp__.py | 1 + bin/addons/base/module/module_wizard.xml | 2 +- bin/addons/base/module/wizard/__init__.py | 3 +- .../base/module/wizard/base_module_import.py | 51 ++++++++- .../module/wizard/base_module_import_view.xml | 28 ++++- .../base/module/wizard/base_module_update.py | 108 ++++++++++++++++++ .../module/wizard/base_module_update_view.xml | 68 +++++++++++ .../module/wizard/wizard_update_module.py | 96 ---------------- 8 files changed, 256 insertions(+), 101 deletions(-) create mode 100644 bin/addons/base/module/wizard/base_module_update.py create mode 100644 bin/addons/base/module/wizard/base_module_update_view.xml delete mode 100644 bin/addons/base/module/wizard/wizard_update_module.py diff --git a/bin/addons/base/__openerp__.py b/bin/addons/base/__openerp__.py index 09e5fc23ace..11632498e20 100644 --- a/bin/addons/base/__openerp__.py +++ b/bin/addons/base/__openerp__.py @@ -49,6 +49,7 @@ 'module/module_data.xml', 'module/module_report.xml', 'module/wizard/base_module_import_view.xml', + 'module/wizard/base_module_update_view.xml', 'res/res_request_view.xml', 'res/res_lang_view.xml', 'res/res_log_view.xml', diff --git a/bin/addons/base/module/module_wizard.xml b/bin/addons/base/module/module_wizard.xml index b7653eb30d9..c8d4ce5d54b 100644 --- a/bin/addons/base/module/module_wizard.xml +++ b/bin/addons/base/module/module_wizard.xml @@ -5,7 +5,7 @@ Update Modules List module.module.update - + diff --git a/bin/addons/base/module/wizard/__init__.py b/bin/addons/base/module/wizard/__init__.py index 69215e90c8c..c6b34de2936 100644 --- a/bin/addons/base/module/wizard/__init__.py +++ b/bin/addons/base/module/wizard/__init__.py @@ -19,7 +19,7 @@ # ############################################################################## -import wizard_update_module +import wizard_update_module # base_module_update import wizard_module_upgrade import wizard_configuration import wizard_module_lang_install @@ -29,6 +29,7 @@ import wizard_import_lang import wizard_update_translations import base_module_import +import base_module_update # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/bin/addons/base/module/wizard/base_module_import.py b/bin/addons/base/module/wizard/base_module_import.py index fc28452c6dd..cd916482279 100644 --- a/bin/addons/base/module/wizard/base_module_import.py +++ b/bin/addons/base/module/wizard/base_module_import.py @@ -40,6 +40,55 @@ class base_module_import(osv.osv_memory): 'module_file': fields.binary('Module .ZIP file', required=True), } + def importzip(self, cr, uid, ids, context): + module_obj= self.pool.get('ir.module.module') + active_ids = context and context.get('active_ids', False) + data = self.browse(cr, uid, ids , context=context)[0] + module_data = data.module_file + + val =base64.decodestring(module_data) + fp = StringIO() + fp.write(val) + fdata = zipfile.ZipFile(fp, 'r') + fname = fdata.namelist()[0] + module_name = os.path.split(fname)[0] + + ad = tools.config['addons_path'] + + fname = os.path.join(ad,module_name+'.zip') + try: + fp = file(fname, 'wb') + fp.write(val) + fp.close() + except IOError, e: + raise osv.except_osv(_('Error !'), _('Can not create the module file: %s !') % (fname,) ) + + module_obj.update_list(cr, uid,{'module_name': module_name,}) + data_obj = self.pool.get('ir.model.data') + id2 = data_obj._get_id(cr, uid, 'base', 'view_base_module_import_msg') + if id2: + id2 = data_obj.browse(cr, uid, id2, context=context).res_id + + module_name = module_obj.browse(cr, uid, ids, context=context) + return { + 'domain': str([('name', '=', module_name)]), + 'name': 'Message', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'base.module.import.msg', + 'views': [(id2, 'form')], + 'view_id': False, + 'type': 'ir.actions.act_window', + 'target': 'new', + } + +base_module_import() + +class base_module_import_msg(osv.osv_memory): + """ message """ + _name = "base.module.import.msg" + _description = "Message" + def action_module_open(self, cr, uid, ids, context): module_obj = self.pool.get('base.module.import') data = module_obj.browse(cr, uid, ids , context=context)[0] @@ -61,5 +110,5 @@ class base_module_import(osv.osv_memory): 'type': 'ir.actions.act_window', } -base_module_import() +base_module_import_msg() \ No newline at end of file diff --git a/bin/addons/base/module/wizard/base_module_import_view.xml b/bin/addons/base/module/wizard/base_module_import_view.xml index 818a7317c61..f46c7ebf293 100644 --- a/bin/addons/base/module/wizard/base_module_import_view.xml +++ b/bin/addons/base/module/wizard/base_module_import_view.xml @@ -15,7 +15,7 @@