diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-01-04 12:01:55 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-01-04 12:04:29 +0100 |
| commit | 53beafef4e4270f057f7c1caa49c6650b220d778 (patch) | |
| tree | 91141a0155dc85178cbd028b431591bb0b590bae | |
| parent | 44e1f9ab96417452791fb097c7ffab05efd7c45c (diff) | |
[IMP] base_address_city: mixins limited to a single model are not mixins
| -rw-r--r-- | addons/base_address_city/models/res_partner.py | 43 |
1 files 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 = """ - <div> - <field name="country_enforce_cities" invisible="1"/> - <field name='city' attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)]}"/> - <field name='city_id' attrs="{'invisible': [('country_enforce_cities', '=', False)]}"/> - </div> - """ - 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 = """ + <div> + <field name="country_enforce_cities" invisible="1"/> + <field name='city' attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)]}"/> + <field name='city_id' attrs="{'invisible': [('country_enforce_cities', '=', False)]}"/> + </div> + """ + city_id_node = etree.fromstring(replacement_xml) + city_node.getparent().replace(city_node, city_id_node) + + arch = etree.tostring(doc) + return arch |
