[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:
parent
fdd1d95fc2
commit
cf113c2316
|
@ -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'
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
|
@ -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
|
||||
|
|
|
@ -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)', (
|
||||
|
|
|
@ -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(),
|
||||
|
|
Loading…
Reference in New Issue