summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-01-04 12:01:55 +0100
committerChristophe Simonis <chs@odoo.com>2017-01-04 12:04:29 +0100
commit53beafef4e4270f057f7c1caa49c6650b220d778 (patch)
tree91141a0155dc85178cbd028b431591bb0b590bae /addons
parent44e1f9ab96417452791fb097c7ffab05efd7c45c (diff)
[IMP] base_address_city: mixins limited to a single model are not mixins
Diffstat (limited to 'addons')
-rw-r--r--addons/base_address_city/models/res_partner.py43
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