[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
This commit is contained in:
Olivier Dony 2012-01-07 05:17:45 +01:00
parent fdd1d95fc2
commit cf113c2316
6 changed files with 8 additions and 65 deletions

View File

@ -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'

View File

@ -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);

View File

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="base.module_account_accountant" model="ir.module.module">
<field name="sequence">10</field>
</record>
<record id="base.module_account_asset" model="ir.module.module">
<field name="sequence">32</field>
</record>
<record id="base.module_account_voucher" model="ir.module.module">
<field name="sequence">4</field>
</record>
<record id="base.module_crm" model="ir.module.module">
<field name="sequence">2</field>
</record>
<record id="base.module_hr" model="ir.module.module">
<field name="sequence">12</field>
</record>
<record id="base.module_hr_expense" model="ir.module.module">
<field name="sequence">30</field>
</record>
<record id="base.module_hr_holidays" model="ir.module.module">
<field name="sequence">28</field>
</record>
<record id="base.module_hr_payroll" model="ir.module.module">
<field name="sequence">38</field>
</record>
<record id="base.module_hr_recruitment" model="ir.module.module">
<field name="sequence">24</field>
</record>
<record id="base.module_hr_timesheet_sheet" model="ir.module.module">
<field name="sequence">16</field>
</record>
<record id="base.module_mrp" model="ir.module.module">
<field name="sequence">18</field>
</record>
<record id="base.module_point_of_sale" model="ir.module.module">
<field name="sequence">6</field>
</record>
<record id="base.module_project" model="ir.module.module">
<field name="sequence">8</field>
</record>
<record id="base.module_project_gtd" model="ir.module.module">
<field name="sequence">20</field>
</record>
<record id="base.module_project_issue" model="ir.module.module">
<field name="sequence">22</field>
</record>
<record id="base.module_purchase" model="ir.module.module">
<field name="sequence">19</field>
</record>
<record id="base.module_sale" model="ir.module.module">
<field name="sequence">14</field>
</record>
<record id="base.module_stock" model="ir.module.module">
<field name="sequence">16</field>
</record>
</data>
</openerp>

View File

@ -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

View File

@ -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)', (

View File

@ -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(),