diff options
| author | Fabien Meghazi <fme@openerp.com> | 2014-04-23 14:38:08 +0200 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2014-04-23 14:38:08 +0200 |
| commit | 8370d3f60e83f94cc158bdfd75fa8e683f7d5beb (patch) | |
| tree | 2837c8f14309b59690f816d3a7dbf8718b0cae77 /openerp/modules | |
| parent | f4a37244cac024c8af907f7ead1fae73a2985bdf (diff) | |
| parent | 700763f2da05ca70a5ff0342a7e7244c2545a9c7 (diff) | |
[MERGE] upstream
bzr revid: fme@openerp.com-20140423123808-q58dtl8a0bb2ymlf
Diffstat (limited to 'openerp/modules')
| -rw-r--r-- | openerp/modules/loading.py | 8 | ||||
| -rw-r--r-- | openerp/modules/registry.py | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index 5635e42e780..2b507acc0bb 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -3,7 +3,7 @@ # # OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). -# Copyright (C) 2010-2013 OpenERP s.a. (<http://openerp.com>). +# Copyright (C) 2010-2014 OpenERP s.a. (<http://openerp.com>). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -153,7 +153,6 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= loaded_modules.append(package.name) if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): init_module_models(cr, package.name, models) - registry._init_modules.add(package.name) status['progress'] = float(index) / len(graph) # Can't put this line out of the loop: ir.module.module will be @@ -182,6 +181,10 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= migrations.migrate_module(package, 'post') + registry._init_modules.add(package.name) + # validate all the views at a whole + registry['ir.ui.view']._validate_module_views(cr, SUPERUSER_ID, module_name) + if has_demo: # launch tests only in demo mode, allowing tests to use demo data. if tools.config.options['test_enable']: @@ -207,6 +210,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= if hasattr(package, kind): delattr(package, kind) + registry._init_modules.add(package.name) cr.commit() # The query won't be valid for models created later (i.e. custom model diff --git a/openerp/modules/registry.py b/openerp/modules/registry.py index ef6aaf19d5a..eb591c53521 100644 --- a/openerp/modules/registry.py +++ b/openerp/modules/registry.py @@ -199,7 +199,7 @@ class Registry(Mapping): def leave_test_mode(self): """ Leave the test mode. """ assert self.test_cr is not None - self.test_cr.close(force=True) # close the cursor for real + self.test_cr.force_close() self.test_cr = None RegistryManager.leave_test_mode() @@ -207,13 +207,14 @@ class Registry(Mapping): """ Return a new cursor for the database. The cursor itself may be used as a context manager to commit/rollback and close automatically. """ - if self.test_cr is not None: + cr = self.test_cr + if cr is not None: # While in test mode, we use one special cursor across requests. The # test cursor uses a reentrant lock to serialize accesses. The lock # is granted here by cursor(), and automatically released by the # cursor itself in its method close(). - self.test_cr.acquire() - return self.test_cr + cr.acquire() + return cr return self._db.cursor() class DummyRLock(object): |
