diff options
| author | ksa (Open ERP) <ksa@tinyerp.co.in> | 2010-08-26 18:05:54 +0530 |
|---|---|---|
| committer | ksa (Open ERP) <ksa@tinyerp.co.in> | 2010-08-26 18:05:54 +0530 |
| commit | 086e88d4ce2494d8f242599db13a59418bec091b (patch) | |
| tree | 3263306437199c5a469d6a92907acb071b86ef25 /bin/addons/base/module/wizard/base_module_import.py | |
| parent | f917fe27b07a4e95b6bc4d02b9308f0dd34bfbe9 (diff) | |
[IMP]: convert old wizard into osv memory wizard for update module
bzr revid: ksa@tinyerp.co.in-20100826123554-2zd5yvp33slx8xfm
Diffstat (limited to 'bin/addons/base/module/wizard/base_module_import.py')
| -rw-r--r-- | bin/addons/base/module/wizard/base_module_import.py | 51 |
1 files changed, 50 insertions, 1 deletions
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 |
