diff options
| author | Christophe Simonis <chs@odoo.com> | 2015-01-06 11:49:04 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2015-01-06 11:49:04 +0100 |
| commit | fab4d6d442ebbf081ead7e747f04b61e01ae9db2 (patch) | |
| tree | 3dd9aad0f429f4229e500db503bbf8b7155f9c38 /openerp/modules/loading.py | |
| parent | 7fea986fd9f6f3ce1cc6c015a2523fdd23cf814d (diff) | |
| parent | ea54d4af9f75e518c5871213a668a9f516e56830 (diff) | |
[MERGE] forward port of branch 8.0 up to ea54d4a
Diffstat (limited to 'openerp/modules/loading.py')
| -rw-r--r-- | openerp/modules/loading.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index 63f70598b4e..fb52de60f06 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -225,8 +225,6 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= registry._init_modules.add(package.name) cr.commit() - registry.setup_models(cr, partial=True) - _logger.log(25, "%s modules loaded in %.2fs, %s queries", len(graph), time.time() - t0, openerp.sql_db.sql_counter - t0_sql) # The query won't be valid for models created later (i.e. custom model @@ -258,12 +256,15 @@ def load_marked_modules(cr, graph, states, force, progressdict, report, loaded_m while True: cr.execute("SELECT name from ir_module_module WHERE state IN %s" ,(tuple(states),)) module_list = [name for (name,) in cr.fetchall() if name not in graph] + if not module_list: + break graph.add_modules(cr, module_list, force) _logger.debug('Updating graph with %d more modules', len(module_list)) loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) processed_modules.extend(processed) loaded_modules.extend(loaded) - if not processed: break + if not processed: + break return processed_modules def load_modules(db, force_demo=False, status=None, update_module=False): @@ -303,6 +304,10 @@ def load_modules(db, force_demo=False, status=None, update_module=False): report = registry._assertion_report loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report) + if tools.config['load_language'] or update_module: + # some base models are used below, so make sure they are set up + registry.setup_models(cr, partial=True) + if tools.config['load_language']: for lang in tools.config['load_language'].split(','): tools.load_language(cr, lang) @@ -357,10 +362,6 @@ def load_modules(db, force_demo=False, status=None, update_module=False): ['to install'], force, status, report, loaded_modules, update_module) - # load custom models - cr.execute('select model from ir_model where state=%s', ('manual',)) - for model in cr.dictfetchall(): - registry['ir.model'].instanciate(cr, SUPERUSER_ID, model['model'], {}) registry.setup_models(cr) # STEP 4: Finish and cleanup installations |
