diff --git a/partner_multi_relation_parent/models/res_partner_relation_all.py b/partner_multi_relation_parent/models/res_partner_relation_all.py index c219ccd5a..b39372210 100644 --- a/partner_multi_relation_parent/models/res_partner_relation_all.py +++ b/partner_multi_relation_parent/models/res_partner_relation_all.py @@ -4,15 +4,9 @@ from openerp import _, api, models from openerp.exceptions import ValidationError -from openerp.addons.partner_multi_relation.models.res_partner_relation_all \ - import register_select_specification - # Register relation from address partner to parent partner: -register_select_specification( - base_name='partner_address', - is_inverse=False, - select_sql="""\ +PARTNER_ADDRESS_SQL = """\ SELECT (partner.id * %%(padding)s) + %(key_offset)s as ID, 'res.partner' AS res_model, @@ -26,13 +20,10 @@ SELECT FROM res_partner partner JOIN res_partner_relation_type rprt ON partner.type = rprt.partner_type WHERE NOT partner.parent_id IS NULL - AND rprt.partner_synchronization_active""") + AND rprt.partner_synchronization_active""" # Register relation from parent partner to address partner: -register_select_specification( - base_name='partner_address', - is_inverse=True, - select_sql="""\ +PARTNER_ADDRESS_SQL_INVERSE = """\ SELECT (partner.id * %%(padding)s) + %(key_offset)s as ID, 'res.partner' AS res_model, @@ -46,21 +37,20 @@ SELECT FROM res_partner partner JOIN res_partner_relation_type rprt ON partner.type = rprt.partner_type WHERE NOT partner.parent_id IS NULL - AND rprt.partner_synchronization_active""") + AND rprt.partner_synchronization_active""" class ResPartnerRelationAll(models.AbstractModel): """Show addresses as relations if so configured.""" _inherit = 'res.partner.relation.all' - def _get_active_selects(self): - """Return selects actually to be used. - - Selects are registered from all modules PRESENT. But should only be - used to build view if module actually INSTALLED. - """ - return super(ResPartnerRelationAll, self)._get_active_selects() +\ - ['partner_address', 'partner_address_inverse'] + def get_register(self): + register = super(ResPartnerRelationAll, self).get_register() + self.register_specification( + register, 'partner_address', False, PARTNER_ADDRESS_SQL) + self.register_specification( + register, 'partner_address', True, PARTNER_ADDRESS_SQL_INVERSE) + return register @api.model def _compute_base_name(self, type_selection):