diff options
| author | Christophe Simonis <chs@odoo.com> | 2014-09-05 15:28:22 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2014-09-05 15:28:22 +0200 |
| commit | 31bf30d2d0eb78baaa36360b99fe58bf7cd4c9e7 (patch) | |
| tree | d7be61ecd6bb4c8b5552e39b03e2a64eebbbf323 /addons/base_import_module | |
| parent | afba9e8817c458640ae446ac7aaaab79be4fe1e9 (diff) | |
| parent | ed1c173971968eaa96693cb4e1547efa6e6c34e0 (diff) | |
[MERGE] forward port of branch 8.0 up to ed1c173
Diffstat (limited to 'addons/base_import_module')
| -rw-r--r-- | addons/base_import_module/__openerp__.py | 2 | ||||
| -rw-r--r-- | addons/base_import_module/i18n/base_import_module.pot | 141 | ||||
| -rw-r--r-- | addons/base_import_module/models/ir_module.py | 17 |
3 files changed, 152 insertions, 8 deletions
diff --git a/addons/base_import_module/__openerp__.py b/addons/base_import_module/__openerp__.py index 262e1232278..54206db949c 100644 --- a/addons/base_import_module/__openerp__.py +++ b/addons/base_import_module/__openerp__.py @@ -8,7 +8,7 @@ This module allows authorized users to import a custom data module (.xml files a for customization purpose. """, 'category': 'Uncategorized', - 'website': 'http://www.openerp.com', + 'website': 'https://www.odoo.com', 'author': 'OpenERP SA', 'depends': ['web'], 'installable': True, diff --git a/addons/base_import_module/i18n/base_import_module.pot b/addons/base_import_module/i18n/base_import_module.pot new file mode 100644 index 00000000000..3171c3e3335 --- /dev/null +++ b/addons/base_import_module/i18n/base_import_module.pot @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_import_module +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0rc1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-08-14 13:08+0000\n" +"PO-Revision-Date: 2014-08-14 13:08+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +msgid "Cancel" +msgstr "" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +msgid "Close" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,create_date:0 +msgid "Created on" +msgstr "" + +#. module: base_import_module +#: code:addons/base_import_module/models/ir_module.py:29 +#: code:addons/base_import_module/models/ir_module.py:80 +#: code:addons/base_import_module/models/ir_module.py:88 +#, python-format +msgid "Error !" +msgstr "" + +#. module: base_import_module +#: code:addons/base_import_module/models/ir_module.py:88 +#, python-format +msgid "File '%s' exceed maximum allowed file size" +msgstr "" + +#. module: base_import_module +#: code:addons/base_import_module/models/ir_module.py:80 +#, python-format +msgid "File is not a zip file!" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,force:0 +msgid "Force init" +msgstr "" + +#. module: base_import_module +#: help:base.import.module,force:0 +msgid "Force init mode even if installed. (will update `noupdate='1'` records)" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,id:0 +msgid "ID" +msgstr "" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +#: model:ir.actions.act_window,name:base_import_module.action_view_base_module_import +#: model:ir.model,name:base_import_module.model_base_import_module +#: model:ir.ui.menu,name:base_import_module.menu_view_base_module_import +msgid "Import Module" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,import_message:0 +msgid "Import message" +msgstr "" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +msgid "Import module" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: base_import_module +#: model:ir.model,name:base_import_module.model_ir_module_module +msgid "Module" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,module_file:0 +msgid "Module .ZIP file" +msgstr "" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +msgid "Open Modules" +msgstr "" + +#. module: base_import_module +#: view:base.import.module:base_import_module.view_base_module_import +msgid "Select module package to import (.zip file):" +msgstr "" + +#. module: base_import_module +#: field:base.import.module,state:0 +msgid "Status" +msgstr "" + +#. module: base_import_module +#: code:addons/base_import_module/models/ir_module.py:29 +#, python-format +msgid "Unmet module dependencies: %s, " +msgstr "" + +#. module: base_import_module +#: selection:base.import.module,state:0 +msgid "done" +msgstr "" + +#. module: base_import_module +#: selection:base.import.module,state:0 +msgid "init" +msgstr "" + diff --git a/addons/base_import_module/models/ir_module.py b/addons/base_import_module/models/ir_module.py index 759a5118078..02965ef6074 100644 --- a/addons/base_import_module/models/ir_module.py +++ b/addons/base_import_module/models/ir_module.py @@ -19,21 +19,23 @@ class view(osv.osv): def import_module(self, cr, uid, module, path, force=False, context=None): known_mods = self.browse(cr, uid, self.search(cr, uid, [])) known_mods_names = dict([(m.name, m) for m in known_mods]) + installed_mods = [m.name for m in known_mods if m.state == 'installed'] - mod = known_mods_names.get(module) terp = openerp.modules.load_information_from_description_file(module, mod_path=path) values = self.get_values_from_terp(terp) - unmet_dependencies = set(terp['depends']).difference(known_mods_names.keys()) + unmet_dependencies = set(terp['depends']).difference(installed_mods) if unmet_dependencies: - raise osv.except_osv(_('Error !'), _("Unmet module dependencies: %s" % ', '.join(unmet_dependencies))) + msg = _("Unmet module dependencies: %s") + raise osv.except_osv(_('Error !'), msg % ', '.join(unmet_dependencies)) + mod = known_mods_names.get(module) if mod: - self.write(cr, uid, mod.id, values) + self.write(cr, uid, mod.id, dict(state='installed', **values)) mode = 'update' if not force else 'init' else: assert terp.get('installable', True), "Module not installable" - self.create(cr, uid, dict(name=module, state='uninstalled', **values)) + self.create(cr, uid, dict(name=module, state='installed', **values)) mode = 'init' for kind in ['data', 'init_xml', 'update_xml']: @@ -49,7 +51,7 @@ class view(osv.osv): path_static = opj(path, 'static') ir_attach = self.pool['ir.attachment'] if os.path.isdir(path_static): - for root, _, files in os.walk(path_static): + for root, dirs, files in os.walk(path_static): for static_file in files: full_path = opj(root, static_file) with open(full_path, 'r') as fp: @@ -85,7 +87,8 @@ class view(osv.osv): with zipfile.ZipFile(module_file, "r") as z: for zf in z.filelist: if zf.file_size > MAX_FILE_SIZE: - raise osv.except_osv(_('Error !'), _("File '%s' exceed maximum allowed file size" % zf.filename)) + msg = _("File '%s' exceed maximum allowed file size") + raise osv.except_osv(_('Error !'), msg % zf.filename) with openerp.tools.osutil.tempdir() as module_dir: z.extractall(module_dir) |
