From cf113c231695f58beda7010307ddc8c6a6366944 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Sat, 7 Jan 2012 05:17:45 +0100 Subject: [PATCH] [FIX] base: module sequence number removed from XML data, moved to individual module manifests Having the sequence number living outside the module itself causes various problems at initialization when modules are missing (e.g. if creating a database with `base` only). It is also cleaner to have the module sequence in the module manifest, like other module metadata. A corresponding commit in the addons project adds the `sequence` field in the manifest of all modules who have a non-default sequence (the main apps). bzr revid: odo@openerp.com-20120107041745-tik3iu1b2qs4ym85 --- openerp/addons/base/__openerp__.py | 1 - openerp/addons/base/base.sql | 1 + openerp/addons/base/base_module_meta.xml | 61 ------------------------ openerp/addons/base/module/module.py | 2 + openerp/modules/db.py | 7 +-- openerp/modules/module.py | 1 + 6 files changed, 8 insertions(+), 65 deletions(-) delete mode 100644 openerp/addons/base/base_module_meta.xml diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py index 41edfcbe0a3..ab9231b129c 100644 --- a/openerp/addons/base/__openerp__.py +++ b/openerp/addons/base/__openerp__.py @@ -34,7 +34,6 @@ 'base_data.xml', 'security/base_security.xml', 'base_menu.xml', - 'base_module_meta.xml', 'res/res_security.xml', 'res/res_config.xml', 'data/res.country.state.csv' diff --git a/openerp/addons/base/base.sql b/openerp/addons/base/base.sql index ebc870789cf..31872b46730 100644 --- a/openerp/addons/base/base.sql +++ b/openerp/addons/base/base.sql @@ -301,6 +301,7 @@ CREATE TABLE ir_module_module ( demo boolean default False, web boolean DEFAULT FALSE, license character varying(32), + sequence integer DEFAULT 100, primary key(id) ); ALTER TABLE ir_module_module add constraint name_uniq unique (name); diff --git a/openerp/addons/base/base_module_meta.xml b/openerp/addons/base/base_module_meta.xml deleted file mode 100644 index 09e28609cec..00000000000 --- a/openerp/addons/base/base_module_meta.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - 10 - - - 32 - - - 4 - - - 2 - - - 12 - - - 30 - - - 28 - - - 38 - - - 24 - - - 16 - - - 18 - - - 6 - - - 8 - - - 20 - - - 22 - - - 19 - - - 14 - - - 16 - - - - diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index e4c848eb2b0..34ed48378e6 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -437,6 +437,8 @@ class module(osv.osv): 'license': terp.get('license', 'AGPL-3'), 'certificate': terp.get('certificate') or False, 'complexity': terp.get('complexity', ''), + 'sequence': terp.get('sequence', 100), + 'application': terp.get('application', False), } # update the list of available packages diff --git a/openerp/modules/db.py b/openerp/modules/db.py index d9c4f76dd3b..a670a29deed 100644 --- a/openerp/modules/db.py +++ b/openerp/modules/db.py @@ -75,14 +75,15 @@ def initialize(cr): cr.execute('INSERT INTO ir_module_module \ (author, website, name, shortdesc, description, \ - category_id, state, certificate, web, license, complexity, application, icon) \ - VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', ( + category_id, state, certificate, web, license, complexity, application, icon, sequence) \ + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', ( info['author'], info['website'], i, info['name'], info['description'], category_id, state, info['certificate'], info['web'], info['license'], - info['complexity'], info['application'], info['icon'])) + info['complexity'], info['application'], info['icon'], + info['sequence'])) id = cr.fetchone()[0] cr.execute('INSERT INTO ir_model_data \ (name,model,module, res_id, noupdate) VALUES (%s,%s,%s,%s,%s)', ( diff --git a/openerp/modules/module.py b/openerp/modules/module.py index 7f934275894..ad56bf896a6 100644 --- a/openerp/modules/module.py +++ b/openerp/modules/module.py @@ -254,6 +254,7 @@ def load_information_from_description_file(module): 'version': '0.0.0', 'web': False, 'website': '', + 'sequence': 100, } info.update(itertools.izip( 'depends data demo test init_xml update_xml demo_xml'.split(),