summaryrefslogtreecommitdiff
path: root/addons/base_import_module
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2014-09-05 15:28:22 +0200
committerChristophe Simonis <chs@odoo.com>2014-09-05 15:28:22 +0200
commit31bf30d2d0eb78baaa36360b99fe58bf7cd4c9e7 (patch)
treed7be61ecd6bb4c8b5552e39b03e2a64eebbbf323 /addons/base_import_module
parentafba9e8817c458640ae446ac7aaaab79be4fe1e9 (diff)
parented1c173971968eaa96693cb4e1547efa6e6c34e0 (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__.py2
-rw-r--r--addons/base_import_module/i18n/base_import_module.pot141
-rw-r--r--addons/base_import_module/models/ir_module.py17
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)