From 7dd344129e2ae30a857f72fdf61dca6e40768983 Mon Sep 17 00:00:00 2001
From: Laurent Smet <las@openerp.com>
Date: Tue, 4 Jul 2017 10:14:53 +0200
Subject: [PATCH] [FIX] base_address_city: fix city field duplication (#17919)

In base/res_partner.py, _fields_view_get calls _fields_view_get_address that could calls again
_fields_view_get in case of address_view_id is specified. That leads to issue in base_address_city
because the _fields_view_get_address method will replace two times the city field and then, we get
a view with two city_id fields.

see https://github.com/odoo/odoo/pull/16870 for screenshots
---
 addons/base_address_city/models/res_partner.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/addons/base_address_city/models/res_partner.py b/addons/base_address_city/models/res_partner.py
index afa5cd759e8d..f6fcbf61d420 100644
--- a/addons/base_address_city/models/res_partner.py
+++ b/addons/base_address_city/models/res_partner.py
@@ -20,6 +20,8 @@ class Partner(models.Model):
     @api.model
     def _fields_view_get_address(self, arch):
         arch = super(Partner, self)._fields_view_get_address(arch)
+        if not self._context.get('no_address_format'):
+            return arch
         # render the partner address accordingly to address_view_id
         doc = etree.fromstring(arch)
         for city_node in doc.xpath("//field[@name='city']"):
-- 
GitLab