updated the error fix for deployement
This commit is contained in:
parent
7aca47ab15
commit
1b7b1710b5
@ -1,18 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
<!-- Settings may already exist before installation. Set by key to avoid
|
||||
duplicate-key errors; noupdate preserves later administrator changes. -->
|
||||
<!-- Membership settings -->
|
||||
<record id="config_parameter_membership_org_name" model="ir.config_parameter">
|
||||
<field name="key">community_membership.org_name</field>
|
||||
<field name="value">Tamil Nadu Cultural Society of Canada</field>
|
||||
</record>
|
||||
<record id="config_parameter_membership_id_format" model="ir.config_parameter">
|
||||
<field name="key">community_membership.member_id_format</field>
|
||||
<field name="value">TNCSC-{year}-{seq}</field>
|
||||
</record>
|
||||
<record id="config_parameter_membership_renewal_offsets" model="ir.config_parameter">
|
||||
<field name="key">community_membership.renewal_offsets</field>
|
||||
<field name="value">30,14,7</field>
|
||||
</record>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_membership.org_name', 'Tamil Nadu Cultural Society of Canada')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_membership.member_id_format', 'TNCSC-{year}-{seq}')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_membership.renewal_offsets', '30,14,7')"/>
|
||||
|
||||
<!-- Membership tiers (CAD) - figures from the implementation plan;
|
||||
update via Settings once TNCSC confirms final pricing. -->
|
||||
|
||||
@ -1,26 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
<!-- Settings may already exist before installation. Set by key to avoid
|
||||
duplicate-key errors; noupdate preserves later administrator changes. -->
|
||||
<!-- Colours from the implementation plan. Logo is intentionally left
|
||||
unset here - upload the real TNCSC logo via Settings > Theme once
|
||||
the asset is available; there is no placeholder image shipped. -->
|
||||
<record id="config_parameter_theme_primary" model="ir.config_parameter">
|
||||
<field name="key">community_theme_base.primary_color</field>
|
||||
<field name="value">#05091E</field>
|
||||
</record>
|
||||
<record id="config_parameter_theme_secondary" model="ir.config_parameter">
|
||||
<field name="key">community_theme_base.secondary_color</field>
|
||||
<field name="value">#F97316</field>
|
||||
</record>
|
||||
<record id="config_parameter_theme_accent" model="ir.config_parameter">
|
||||
<field name="key">community_theme_base.accent_color</field>
|
||||
<field name="value">#0EA5FF</field>
|
||||
</record>
|
||||
<record id="config_parameter_theme_heading_font" model="ir.config_parameter">
|
||||
<field name="key">community_theme_base.heading_font</field>
|
||||
<field name="value">Inter, sans-serif</field>
|
||||
</record>
|
||||
<record id="config_parameter_theme_body_font" model="ir.config_parameter">
|
||||
<field name="key">community_theme_base.body_font</field>
|
||||
<field name="value">Inter, sans-serif</field>
|
||||
</record>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_theme_base.primary_color', '#05091E')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_theme_base.secondary_color', '#F97316')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_theme_base.accent_color', '#0EA5FF')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_theme_base.heading_font', 'Inter, sans-serif')"/>
|
||||
<function model="ir.config_parameter" name="set_param"
|
||||
eval="('community_theme_base.body_font', 'Inter, sans-serif')"/>
|
||||
</odoo>
|
||||
|
||||
@ -1 +1,2 @@
|
||||
from . import test_tncsc_deployment
|
||||
from . import test_config_seed
|
||||
|
||||
61
addons/tncsc_deployment/tests/test_config_seed.py
Normal file
61
addons/tncsc_deployment/tests/test_config_seed.py
Normal file
@ -0,0 +1,61 @@
|
||||
from odoo.tests.common import TransactionCase, tagged
|
||||
from odoo.tools.convert import convert_file
|
||||
|
||||
|
||||
@tagged('post_install', '-at_install')
|
||||
class TestConfigSeed(TransactionCase):
|
||||
"""Exercise the actual XML loader with settings saved before installation."""
|
||||
|
||||
SEEDS = {
|
||||
'theme_data.xml': {
|
||||
'community_theme_base.primary_color': '#05091E',
|
||||
'community_theme_base.secondary_color': '#F97316',
|
||||
'community_theme_base.accent_color': '#0EA5FF',
|
||||
'community_theme_base.heading_font': 'Inter, sans-serif',
|
||||
'community_theme_base.body_font': 'Inter, sans-serif',
|
||||
},
|
||||
'membership_data.xml': {
|
||||
'community_membership.org_name': 'Tamil Nadu Cultural Society of Canada',
|
||||
'community_membership.member_id_format': 'TNCSC-{year}-{seq}',
|
||||
'community_membership.renewal_offsets': '30,14,7',
|
||||
},
|
||||
}
|
||||
|
||||
def _load(self, filename, mode='init'):
|
||||
convert_file(self.env, 'tncsc_deployment', f'data/{filename}', {}, mode=mode)
|
||||
|
||||
def test_install_reuses_existing_parameters(self):
|
||||
params = self.env['ir.config_parameter'].sudo()
|
||||
for filename, expected in self.SEEDS.items():
|
||||
original_ids = {}
|
||||
for key in expected:
|
||||
params.set_param(key, 'existing custom value')
|
||||
record = params.search([('key', '=', key)])
|
||||
# Reproduce keys created through Settings, without seed XML IDs.
|
||||
self.env['ir.model.data'].search([
|
||||
('model', '=', 'ir.config_parameter'), ('res_id', '=', record.id),
|
||||
('module', '=', 'tncsc_deployment'),
|
||||
]).unlink()
|
||||
original_ids[key] = record.id
|
||||
self._load(filename)
|
||||
self._load(filename)
|
||||
for key, value in expected.items():
|
||||
self.assertEqual(params.get_param(key), value)
|
||||
self.assertEqual(params.search([('key', '=', key)]).ids, [original_ids[key]])
|
||||
|
||||
def test_install_creates_missing_parameters(self):
|
||||
params = self.env['ir.config_parameter'].sudo()
|
||||
for filename, expected in self.SEEDS.items():
|
||||
params.search([('key', 'in', list(expected))]).unlink()
|
||||
self._load(filename)
|
||||
for key, value in expected.items():
|
||||
self.assertEqual(params.get_param(key), value)
|
||||
|
||||
def test_upgrade_preserves_custom_parameters(self):
|
||||
params = self.env['ir.config_parameter'].sudo()
|
||||
for filename, expected in self.SEEDS.items():
|
||||
for key in expected:
|
||||
params.set_param(key, 'administrator value')
|
||||
self._load(filename, mode='update')
|
||||
for key in expected:
|
||||
self.assertEqual(params.get_param(key), 'administrator value')
|
||||
Loading…
x
Reference in New Issue
Block a user