From 53beafef4e4270f057f7c1caa49c6650b220d778 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 4 Jan 2017 12:01:55 +0100 Subject: [PATCH] [IMP] base_address_city: mixins limited to a single model are not mixins --- .../base_address_city/models/res_partner.py | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/addons/base_address_city/models/res_partner.py b/addons/base_address_city/models/res_partner.py index f5c64f80ae0..ab1f0518864 100644 --- a/addons/base_address_city/models/res_partner.py +++ b/addons/base_address_city/models/res_partner.py @@ -5,30 +5,6 @@ from lxml import etree from odoo import api, models, fields -class FormatAddressMixin(models.AbstractModel): - _inherit = "format.address.mixin" - - @api.model - def _fields_view_get_address(self, arch): - arch = super(FormatAddressMixin, self)._fields_view_get_address(arch) - if self._name == 'res.partner': - #render the partner address accordingly to address_view_id - doc = etree.fromstring(arch) - for city_node in doc.xpath("//field[@name='city']"): - replacement_xml = """ -
- - - -
- """ - city_id_node = etree.fromstring(replacement_xml) - city_node.getparent().replace(city_node, city_id_node) - - arch = etree.tostring(doc) - return arch - - class Partner(models.Model): _inherit = 'res.partner' @@ -40,3 +16,22 @@ class Partner(models.Model): self.city = self.city_id.name self.zip = self.city_id.zipcode self.state_id = self.city_id.state_id + + @api.model + def _fields_view_get_address(self, arch): + arch = super(Partner, self)._fields_view_get_address(arch) + # render the partner address accordingly to address_view_id + doc = etree.fromstring(arch) + for city_node in doc.xpath("//field[@name='city']"): + replacement_xml = """ +
+ + + +
+ """ + city_id_node = etree.fromstring(replacement_xml) + city_node.getparent().replace(city_node, city_id_node) + + arch = etree.tostring(doc) + return arch