From 35aabc9b483bdeb9930c0a3b012d2eb4ee0d2700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Felipe=20Mil=C3=A9o?= Date: Mon, 20 May 2019 10:14:08 -0300 Subject: [PATCH 01/23] [FIX] 10.0 zip correios complemento2 + zeep (#693) * [FIX] complemento2 correios, adding range field Signed-off-by: Luis Felipe Mileo * [NEW] Replace suds with zeep Signed-off-by: Luis Felipe Mileo (cherry picked from commit 0b693dccc7f4693bf5a6d066bac176178aaedf74) --- l10n_br_zip/models/l10n_br_zip.py | 9 ++- l10n_br_zip/views/l10n_br_zip_view.xml | 6 +- l10n_br_zip_correios/__manifest__.py | 2 +- .../models/webservice_client.py | 68 ++++++++++--------- requirements.txt | 1 + 5 files changed, 49 insertions(+), 37 deletions(-) diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 790987c233b2..93a1564ba156 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -13,9 +13,9 @@ class L10nBrZip(models.Model): """ _name = 'l10n_br.zip' _description = 'CEP' - _rec_name = 'zip' + _rec_name = 'zip_code' - zip = fields.Char( + zip_code = fields.Char( string='CEP', size=8, required=True) @@ -24,6 +24,11 @@ class L10nBrZip(models.Model): string='Street Type', size=26) + zip_complement = fields.Char( + string='Range', + size=200 + ) + street = fields.Char( string='Logradouro', size=72) diff --git a/l10n_br_zip/views/l10n_br_zip_view.xml b/l10n_br_zip/views/l10n_br_zip_view.xml index 2dd2612369bb..78e1111494df 100644 --- a/l10n_br_zip/views/l10n_br_zip_view.xml +++ b/l10n_br_zip/views/l10n_br_zip_view.xml @@ -6,10 +6,11 @@ l10n_br.zip - + + @@ -20,9 +21,10 @@
- + + diff --git a/l10n_br_zip_correios/__manifest__.py b/l10n_br_zip_correios/__manifest__.py index 0ce09282963d..9bdd810f8bcb 100644 --- a/l10n_br_zip_correios/__manifest__.py +++ b/l10n_br_zip_correios/__manifest__.py @@ -16,6 +16,6 @@ ], 'installable': True, 'external_dependencies': { - 'python': ['suds'], + 'python': ['zeep'], } } diff --git a/l10n_br_zip_correios/models/webservice_client.py b/l10n_br_zip_correios/models/webservice_client.py index f775fda69d1e..e38c7a3acd34 100644 --- a/l10n_br_zip_correios/models/webservice_client.py +++ b/l10n_br_zip_correios/models/webservice_client.py @@ -1,5 +1,6 @@ # Copyright (C) 2015 KMEE (http://www.kmee.com.br) # @author Michell Stuttgart +# @author Luis Felipe Mileo # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html import logging @@ -7,17 +8,10 @@ from odoo.tools.translate import _ try: - from suds import WebFault - from suds.client import Client, TransportError + from zeep import Client + from zeep.exceptions import TransportError, Error except ImportError: - raise UserError(_(u'Erro!'), _(u"Biblioteca Suds não instalada!")) - -try: - # to pip install suds (version: 0.4) - from suds.client import TransportError -except ImportError as ex: - # to apt-get install python-suds (version: 0.7~git20150727.94664dd-3) - from suds.transport import TransportError + raise UserError(_(u'Erro!'), _(u"Biblioteca Zeep não instalada!")) _logger = logging.getLogger(__name__) @@ -27,10 +21,10 @@ class WebServiceClient(object): def __init__(self, l10n_br_zip_record): self.obj_zip = l10n_br_zip_record - self.url = 'https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl' # noqa + self.client = Client('https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl') # noqa def search_zip_code(self, cep): - return Client(self.url).service.consultaCEP(cep) + return self.client.service.consultaCEP(cep) def get_address(self, zip_str): @@ -41,37 +35,47 @@ def get_address(self, zip_str): res = self.search_zip_code(zip_str) # Search Brazil id - country = self.obj_zip.env['res.country'].search( - [('code', '=', 'BR')], limit=1) + country_ids = self.obj_zip.env['res.country'].search( + [('code', '=', 'BR')]) # Search state with state_code and country id - state = self.obj_zip.env['res.country.state'].search([ - ('code', '=', res.uf), - ('country_id', '=', country.id)], limit=1) + state_ids = self.obj_zip.env['res.country.state'].search([ + ('code', '=', str(res.uf)), + ('country_id.id', 'in', country_ids.ids)]) + + # city name + city_name = str(res.cidade.encode('utf8')) # search city with name and state - city = self.obj_zip.env['res.city'].search([ - ('name', '=', res.cidade), - ('state_id.id', '=', state.id)], limit=1) + city_ids = self.obj_zip.env['l10n_br_base.city'].search([ + ('name', '=', city_name), + ('state_id.id', 'in', state_ids.ids)]) values = { - 'zip': zip_str, - 'street': res.end, - 'district': res.bairro, - 'city_id': city.id or False, - 'state_id': state.id or False, - 'country_id': country.id or False, + 'zip_code': zip_str, + 'street': str( + res.end.encode('utf8')) if res.end else '', + 'district': str( + res.bairro.encode('utf8')) if res.bairro + else '', + 'zip_complement': str( + res.complemento2.encode('utf8') + )[:200] if res.complemento2 else '', + 'l10n_br_city_id': city_ids.ids[ + 0] if city_ids else False, + 'state_id': state_ids.ids[0] if state_ids else False, + 'country_id': country_ids.ids[ + 0] if country_ids else False, } # Create zip object return self.obj_zip.env['l10n_br.zip'].create(values) except TransportError as e: - _logger.error(str(e), exc_info=True) - raise UserError(str(e)) - except WebFault as e: - _logger.error(str(e), exc_info=True) - raise UserError(str(e)) - + _logger.error(e.message, exc_info=True) + raise UserError(_('Error!'), e.message) + except Error as e: + _logger.error(e.message, exc_info=True) + raise UserError(_('Error!'), e.message) else: return None diff --git a/requirements.txt b/requirements.txt index 3c8ae08d89df..76b58b001626 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ num2words==0.5.4 +zeep==3.3.1 From 742a7dcce837d0869d73503941b466169b066567 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Mon, 17 Jun 2019 12:55:06 -0300 Subject: [PATCH 02/23] [REF] Included research by PyCEP-Correios library. --- l10n_br_zip/models/l10n_br_zip.py | 84 ++++++++++++++++++++++++------- requirements.txt | 2 +- 2 files changed, 66 insertions(+), 20 deletions(-) diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 93a1564ba156..06a32e0c9cd1 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -1,10 +1,17 @@ # Copyright (C) 2012 Renato Lima (Akretion) # # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html +import logging from odoo import models, fields, api, _ from odoo.exceptions import UserError from odoo.addons.l10n_br_base.tools import misc +try: + import pycep_correios +except ImportError: + raise UserError(_(u'Erro!'), _(u"Biblioteca PyCEP-Correios não instalada!")) + +_logger = logging.getLogger(__name__) class L10nBrZip(models.Model): @@ -118,25 +125,64 @@ def zip_search(self, obj): result = self.set_result(zip_ids[0]) obj.write(result) return True - else: - if len(zip_ids) > 1: - obj_zip_result = self.env['l10n_br.zip.result'] - zip_ids = obj_zip_result.map_to_zip_result( - zip_ids, obj._name, obj.id) - - return self.create_wizard( - obj._name, - obj.id, - country_id=obj.country_id.id, - state_id=obj.state_id.id, - city_id=obj.city_id.id, - district=obj.district, - street=obj.street, - zip_code=obj.zip, - zip_ids=[zip.id for zip in zip_ids] - ) - else: - raise UserError(_('Nenhum registro encontrado')) + + elif len(zip_ids) > 1: + + obj_zip_result = self.env['l10n_br.zip.result'] + zip_ids = obj_zip_result.map_to_zip_result( + zip_ids, obj._name, obj.id) + + return self.create_wizard( + obj._name, + obj.id, + country_id=obj.country_id.id, + state_id=obj.state_id.id, + city_id=obj.city_id.id, + district=obj.district, + street=obj.street, + zip_code=obj.zip, + zip_ids=[zip.id for zip in zip_ids] + ) + elif not zip_ids: + + zip_str = misc.punctuation_rm(obj.zip) + try: + res = pycep_correios.consultar_cep(zip_str) + + # Search Brazil id + country = self.env['res.country'].search( + [('code', '=', 'BR')], limit=1) + + # Search state with state_code and country id + state = self.env['res.country.state'].search([ + ('code', '=', res['uf']), + ('country_id', '=', country.id)], limit=1) + + # search city with name and state + city = self.env['res.city'].search([ + ('name', '=', res['cidade']), + ('state_id.id', '=', state.id)], limit=1) + + values = { + 'zip': zip_str, + 'street': res['end'], + 'district': res['bairro'], + 'city_id': city.id or False, + 'state_id': state.id or False, + 'country_id': country.id or False, + } + + # Create zip object + self.env['l10n_br.zip'].create(values) + + zip_ids = self.search(domain) + result = self.set_result(zip_ids[0]) + obj.write(result) + return True + + except Exception as e: + raise UserError( + _('Erro no PyCEP-Correios : ') + str(e)) def create_wizard(self, object_name, address_id, country_id=False, state_id=False, city_id=False, diff --git a/requirements.txt b/requirements.txt index 76b58b001626..bc32537f8d39 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ num2words==0.5.4 -zeep==3.3.1 +pycep-correios From 414af7e99808ba019246d63e2818c260a32232a1 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Mon, 17 Jun 2019 12:57:04 -0300 Subject: [PATCH 03/23] [REF] Update tests to use pycep-correios library. --- l10n_br_zip/tests/test_l10n_br_zip.py | 17 +++++++++++++++++ .../tests/test_webservice_client.py | 0 2 files changed, 17 insertions(+) rename {l10n_br_zip_correios => l10n_br_zip}/tests/test_webservice_client.py (100%) diff --git a/l10n_br_zip/tests/test_l10n_br_zip.py b/l10n_br_zip/tests/test_l10n_br_zip.py index 41b05e1cdaa9..6156222d59bf 100644 --- a/l10n_br_zip/tests/test_l10n_br_zip.py +++ b/l10n_br_zip/tests/test_l10n_br_zip.py @@ -72,3 +72,20 @@ def test_return_two_results_zip_search(self): self.assertEquals( result['context']['state_id'], self.env.ref('base.state_br_sc').id, 'It should return the correct state') + + def test_return_pycep_correios(self): + """Test PyCEP CORREIOS""" + self.company.zip = '08746070' + self.company.zip_search() + self.assertEquals( + self.company.district, 'Parque Olimpico', + 'Error in method zip_search with PyCEP-Correios' + 'to mapping field district.') + self.assertEquals( + self.company.street, 'Rua N', + 'Error in method zip_search with PyCEP-Correios' + 'to mapping field street.') + self.assertEquals( + self.company.city_id.name, u'Mogi das Cruzes', + 'Error in method zip_search with PyCEP-Correios' + 'to mapping field city.') diff --git a/l10n_br_zip_correios/tests/test_webservice_client.py b/l10n_br_zip/tests/test_webservice_client.py similarity index 100% rename from l10n_br_zip_correios/tests/test_webservice_client.py rename to l10n_br_zip/tests/test_webservice_client.py From df306c8cb6d405bd1e8fadc828920968b8c62285 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Mon, 17 Jun 2019 12:57:48 -0300 Subject: [PATCH 04/23] [REF] Removed unused module. --- l10n_br_zip_correios/README.rst | 97 ---- l10n_br_zip_correios/__init__.py | 6 - l10n_br_zip_correios/__manifest__.py | 21 - l10n_br_zip_correios/i18n/pt_BR.po | 41 -- l10n_br_zip_correios/models/__init__.py | 6 - l10n_br_zip_correios/models/l10n_br_zip.py | 21 - .../models/webservice_client.py | 81 ---- l10n_br_zip_correios/readme/CONFIGURE.rst | 1 - l10n_br_zip_correios/readme/CONTRIBUTORS.rst | 5 - l10n_br_zip_correios/readme/DESCRIPTION.rst | 1 - l10n_br_zip_correios/readme/INSTALL.rst | 1 - l10n_br_zip_correios/readme/ROADMAP.rst | 1 - l10n_br_zip_correios/readme/USAGE.rst | 1 - .../static/description/icon.png | Bin 9455 -> 0 bytes .../static/description/index.html | 444 ------------------ l10n_br_zip_correios/tests/__init__.py | 4 - 16 files changed, 731 deletions(-) delete mode 100644 l10n_br_zip_correios/README.rst delete mode 100644 l10n_br_zip_correios/__init__.py delete mode 100644 l10n_br_zip_correios/__manifest__.py delete mode 100644 l10n_br_zip_correios/i18n/pt_BR.po delete mode 100644 l10n_br_zip_correios/models/__init__.py delete mode 100644 l10n_br_zip_correios/models/l10n_br_zip.py delete mode 100644 l10n_br_zip_correios/models/webservice_client.py delete mode 100644 l10n_br_zip_correios/readme/CONFIGURE.rst delete mode 100644 l10n_br_zip_correios/readme/CONTRIBUTORS.rst delete mode 100644 l10n_br_zip_correios/readme/DESCRIPTION.rst delete mode 100644 l10n_br_zip_correios/readme/INSTALL.rst delete mode 100644 l10n_br_zip_correios/readme/ROADMAP.rst delete mode 100644 l10n_br_zip_correios/readme/USAGE.rst delete mode 100644 l10n_br_zip_correios/static/description/icon.png delete mode 100644 l10n_br_zip_correios/static/description/index.html delete mode 100644 l10n_br_zip_correios/tests/__init__.py diff --git a/l10n_br_zip_correios/README.rst b/l10n_br_zip_correios/README.rst deleted file mode 100644 index 3e64d24805b0..000000000000 --- a/l10n_br_zip_correios/README.rst +++ /dev/null @@ -1,97 +0,0 @@ -=================================================== -Address from Brazilian Localization ZIP by Correios -=================================================== - -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! This file is generated by oca-gen-addon-readme !! - !! changes will be overwritten. !! - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png - :target: https://odoo-community.org/page/development-status - :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github - :target: https://github.com/OCA/l10n-brazil/tree/12.0/l10n_br_zip_correios - :alt: OCA/l10n-brazil -.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/l10n-brazil-12-0/l10n-brazil-12-0-l10n_br_zip_correios - :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/124/12.0 - :alt: Try me on Runbot - -|badge1| |badge2| |badge3| |badge4| |badge5| - -Módulo implementa pesquisa de CEP utilizando o WebService dos Correios - -**Table of contents** - -.. contents:: - :local: - -Installation -============ - -Este módulo depende do módulo l10n_br_zip. - -Configuration -============= - -Não é necessário nenhuma configuração para este módulo consultar o WebService dos Correios. - -Usage -===== - -Nos cadastros de parceiro, empresa e prospecto ao preencher o campo CEP pode ser pesquisado pressionando o botão do lado para pesquisar o CEP e autocompletar os dados de Logradouro, Bairro, Cidade e Estado com o resultado da pesquisa dos Correios. - -Known issues / Roadmap -====================== - -* Ele módulo deve ser refatorado para ser unido ao módulo l10n_br_zip e utilizar a biblioteca pyhton pycep_correios - -Bug Tracker -=========== - -Bugs are tracked on `GitHub Issues `_. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. - -Do not contact contributors directly about support or help with technical issues. - -Credits -======= - -Authors -~~~~~~~ - -* KMEE - -Contributors -~~~~~~~~~~~~ - -* Michell Stuttgart -* Luis Felipe Miléo -* Carlos Alberto Cipriano Korovsky -* Hendrix Costa - - -Maintainers -~~~~~~~~~~~ - -This module is maintained by the OCA. - -.. image:: https://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: https://odoo-community.org - -OCA, or the Odoo Community Association, is a nonprofit organization whose -mission is to support the collaborative development of Odoo features and -promote its widespread use. - -This module is part of the `OCA/l10n-brazil `_ project on GitHub. - -You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_br_zip_correios/__init__.py b/l10n_br_zip_correios/__init__.py deleted file mode 100644 index ec0da2841760..000000000000 --- a/l10n_br_zip_correios/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (C) 2015 KMEE (http://www.kmee.com.br) -# @author Michell Stuttgart -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -from . import models -from . import tests diff --git a/l10n_br_zip_correios/__manifest__.py b/l10n_br_zip_correios/__manifest__.py deleted file mode 100644 index 9bdd810f8bcb..000000000000 --- a/l10n_br_zip_correios/__manifest__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2015 KMEE (http://www.kmee.com.br) -# @author Michell Stuttgart -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -{ - 'name': 'Address from Brazilian Localization ZIP by Correios', - 'summary': 'Address from Brazilian Localization ZIP by Correios', - 'category': 'Localization', - 'license': 'AGPL-3', - 'author': 'KMEE, ' - 'Odoo Community Association (OCA)', - 'website': 'http://odoo-brasil.org', - 'version': '12.0.1.0.0', - 'depends': [ - 'l10n_br_zip', - ], - 'installable': True, - 'external_dependencies': { - 'python': ['zeep'], - } -} diff --git a/l10n_br_zip_correios/i18n/pt_BR.po b/l10n_br_zip_correios/i18n/pt_BR.po deleted file mode 100644 index 76db3d593f16..000000000000 --- a/l10n_br_zip_correios/i18n/pt_BR.po +++ /dev/null @@ -1,41 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_br_zip_correios -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-02 14:28+0000\n" -"PO-Revision-Date: 2015-09-02 14:28+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_br_zip_correios -#: model:ir.model,name:l10n_br_zip_correios.model_res_company -msgid "Companies" -msgstr "Empresas" - -#. module: l10n_br_zip_correios -#: code:addons/l10n_br_zip_correios/models/webservice_client.py:42 -#: code:addons/l10n_br_zip_correios/models/webservice_client.py:87 -#: code:addons/l10n_br_zip_correios/models/webservice_client.py:89 -#, python-format -msgid "Error!" -msgstr "Erro!" - -#. module: l10n_br_zip_correios -#: code:addons/l10n_br_zip_correios/models/webservice_client.py:42 -#, python-format -msgid "Invalid zip length" -msgstr "Tamanho de CEP inválido" - -#. module: l10n_br_zip_correios -#: model:ir.model,name:l10n_br_zip_correios.model_res_partner -msgid "Partner" -msgstr "Parceiro" - diff --git a/l10n_br_zip_correios/models/__init__.py b/l10n_br_zip_correios/models/__init__.py deleted file mode 100644 index 5046b207f2ee..000000000000 --- a/l10n_br_zip_correios/models/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (C) 2015 KMEE (http://www.kmee.com.br) -# @author Michell Stuttgart -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -from . import webservice_client -from . import l10n_br_zip diff --git a/l10n_br_zip_correios/models/l10n_br_zip.py b/l10n_br_zip_correios/models/l10n_br_zip.py deleted file mode 100644 index 1c6557d36eeb..000000000000 --- a/l10n_br_zip_correios/models/l10n_br_zip.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2016 Magno Costa - Akretion -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -from odoo import models, api -from odoo.addons.l10n_br_base.tools import misc - -from .webservice_client import WebServiceClient - - -class L10nBrZip(models.Model): - _inherit = 'l10n_br.zip' - - @api.model - def zip_search(self, obj): - - zip_str = misc.punctuation_rm(obj.zip) - - if len(zip_str) == 8: - WebServiceClient(self).get_address(zip_str) - - return super(L10nBrZip, self).zip_search(obj) diff --git a/l10n_br_zip_correios/models/webservice_client.py b/l10n_br_zip_correios/models/webservice_client.py deleted file mode 100644 index e38c7a3acd34..000000000000 --- a/l10n_br_zip_correios/models/webservice_client.py +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (C) 2015 KMEE (http://www.kmee.com.br) -# @author Michell Stuttgart -# @author Luis Felipe Mileo -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -import logging -from odoo.exceptions import Warning as UserError -from odoo.tools.translate import _ - -try: - from zeep import Client - from zeep.exceptions import TransportError, Error -except ImportError: - raise UserError(_(u'Erro!'), _(u"Biblioteca Zeep não instalada!")) - -_logger = logging.getLogger(__name__) - - -class WebServiceClient(object): - """Address from Brazilian Localization ZIP by Correios to Odoo""" - - def __init__(self, l10n_br_zip_record): - self.obj_zip = l10n_br_zip_record - self.client = Client('https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl') # noqa - - def search_zip_code(self, cep): - return self.client.service.consultaCEP(cep) - - def get_address(self, zip_str): - - if not self.obj_zip.env['l10n_br.zip'].search([('zip', '=', zip_str)]): - - try: - # Connect Brazil Correios webservice - res = self.search_zip_code(zip_str) - - # Search Brazil id - country_ids = self.obj_zip.env['res.country'].search( - [('code', '=', 'BR')]) - - # Search state with state_code and country id - state_ids = self.obj_zip.env['res.country.state'].search([ - ('code', '=', str(res.uf)), - ('country_id.id', 'in', country_ids.ids)]) - - # city name - city_name = str(res.cidade.encode('utf8')) - - # search city with name and state - city_ids = self.obj_zip.env['l10n_br_base.city'].search([ - ('name', '=', city_name), - ('state_id.id', 'in', state_ids.ids)]) - - values = { - 'zip_code': zip_str, - 'street': str( - res.end.encode('utf8')) if res.end else '', - 'district': str( - res.bairro.encode('utf8')) if res.bairro - else '', - 'zip_complement': str( - res.complemento2.encode('utf8') - )[:200] if res.complemento2 else '', - 'l10n_br_city_id': city_ids.ids[ - 0] if city_ids else False, - 'state_id': state_ids.ids[0] if state_ids else False, - 'country_id': country_ids.ids[ - 0] if country_ids else False, - } - - # Create zip object - return self.obj_zip.env['l10n_br.zip'].create(values) - - except TransportError as e: - _logger.error(e.message, exc_info=True) - raise UserError(_('Error!'), e.message) - except Error as e: - _logger.error(e.message, exc_info=True) - raise UserError(_('Error!'), e.message) - else: - return None diff --git a/l10n_br_zip_correios/readme/CONFIGURE.rst b/l10n_br_zip_correios/readme/CONFIGURE.rst deleted file mode 100644 index 31086c3b7335..000000000000 --- a/l10n_br_zip_correios/readme/CONFIGURE.rst +++ /dev/null @@ -1 +0,0 @@ -Não é necessário nenhuma configuração para este módulo consultar o WebService dos Correios. diff --git a/l10n_br_zip_correios/readme/CONTRIBUTORS.rst b/l10n_br_zip_correios/readme/CONTRIBUTORS.rst deleted file mode 100644 index 1f984f696e75..000000000000 --- a/l10n_br_zip_correios/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,5 +0,0 @@ -* Michell Stuttgart -* Luis Felipe Miléo -* Carlos Alberto Cipriano Korovsky -* Hendrix Costa - diff --git a/l10n_br_zip_correios/readme/DESCRIPTION.rst b/l10n_br_zip_correios/readme/DESCRIPTION.rst deleted file mode 100644 index 069a922a042d..000000000000 --- a/l10n_br_zip_correios/readme/DESCRIPTION.rst +++ /dev/null @@ -1 +0,0 @@ -Módulo implementa pesquisa de CEP utilizando o WebService dos Correios diff --git a/l10n_br_zip_correios/readme/INSTALL.rst b/l10n_br_zip_correios/readme/INSTALL.rst deleted file mode 100644 index 2c031d253956..000000000000 --- a/l10n_br_zip_correios/readme/INSTALL.rst +++ /dev/null @@ -1 +0,0 @@ -Este módulo depende do módulo l10n_br_zip. diff --git a/l10n_br_zip_correios/readme/ROADMAP.rst b/l10n_br_zip_correios/readme/ROADMAP.rst deleted file mode 100644 index e17b17796abb..000000000000 --- a/l10n_br_zip_correios/readme/ROADMAP.rst +++ /dev/null @@ -1 +0,0 @@ -* Ele módulo deve ser refatorado para ser unido ao módulo l10n_br_zip e utilizar a biblioteca pyhton pycep_correios diff --git a/l10n_br_zip_correios/readme/USAGE.rst b/l10n_br_zip_correios/readme/USAGE.rst deleted file mode 100644 index 9674e04b5277..000000000000 --- a/l10n_br_zip_correios/readme/USAGE.rst +++ /dev/null @@ -1 +0,0 @@ -Nos cadastros de parceiro, empresa e prospecto ao preencher o campo CEP pode ser pesquisado pressionando o botão do lado para pesquisar o CEP e autocompletar os dados de Logradouro, Bairro, Cidade e Estado com o resultado da pesquisa dos Correios. diff --git a/l10n_br_zip_correios/static/description/icon.png b/l10n_br_zip_correios/static/description/icon.png deleted file mode 100644 index 3a0328b516c4980e8e44cdb63fd945757ddd132d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I diff --git a/l10n_br_zip_correios/static/description/index.html b/l10n_br_zip_correios/static/description/index.html deleted file mode 100644 index e0e64e41c476..000000000000 --- a/l10n_br_zip_correios/static/description/index.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - -Address from Brazilian Localization ZIP by Correios - - - -
-

Address from Brazilian Localization ZIP by Correios

- - -

Beta License: AGPL-3 OCA/l10n-brazil Translate me on Weblate Try me on Runbot

-

Módulo implementa pesquisa de CEP utilizando o WebService dos Correios

-

Table of contents

- -
-

Installation

-

Este módulo depende do módulo l10n_br_zip.

-
-
-

Configuration

-

Não é necessário nenhuma configuração para este módulo consultar o WebService dos Correios.

-
-
-

Usage

-

Nos cadastros de parceiro, empresa e prospecto ao preencher o campo CEP pode ser pesquisado pressionando o botão do lado para pesquisar o CEP e autocompletar os dados de Logradouro, Bairro, Cidade e Estado com o resultado da pesquisa dos Correios.

-
-
-

Known issues / Roadmap

-
    -
  • Ele módulo deve ser refatorado para ser unido ao módulo l10n_br_zip e utilizar a biblioteca pyhton pycep_correios
  • -
-
-
-

Bug Tracker

-

Bugs are tracked on GitHub Issues. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

-

Do not contact contributors directly about support or help with technical issues.

-
-
-

Credits

-
-

Authors

-
    -
  • KMEE
  • -
-
-
-

Contributors

- -
-
-

Maintainers

-

This module is maintained by the OCA.

-Odoo Community Association -

OCA, or the Odoo Community Association, is a nonprofit organization whose -mission is to support the collaborative development of Odoo features and -promote its widespread use.

-

This module is part of the OCA/l10n-brazil project on GitHub.

-

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

-
-
-
- - diff --git a/l10n_br_zip_correios/tests/__init__.py b/l10n_br_zip_correios/tests/__init__.py deleted file mode 100644 index f6566ec416be..000000000000 --- a/l10n_br_zip_correios/tests/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (C) 2016 Aldo Soares - MultidadosTI -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -from . import test_webservice_client From 7c3049deb11cb564f12b4873517ef0c840cd022f Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Mon, 17 Jun 2019 13:13:54 -0300 Subject: [PATCH 05/23] [REF] Update README and version module. --- l10n_br_zip/README.rst | 14 ++++-- l10n_br_zip/__manifest__.py | 2 +- l10n_br_zip/readme/CONFIGURE.rst | 2 +- l10n_br_zip/readme/HISTORY.rst | 4 ++ l10n_br_zip/readme/INSTALL.rst | 2 +- l10n_br_zip/readme/ROADMAP.rst | 2 +- l10n_br_zip/static/description/index.html | 54 ++++++++++++++--------- 7 files changed, 52 insertions(+), 28 deletions(-) create mode 100644 l10n_br_zip/readme/HISTORY.rst diff --git a/l10n_br_zip/README.rst b/l10n_br_zip/README.rst index a3aa9aca1c82..e3faeea6c5a1 100644 --- a/l10n_br_zip/README.rst +++ b/l10n_br_zip/README.rst @@ -34,12 +34,12 @@ Brazilian Localisation ZIP Codes Installation ============ -Este módulo depende do l10n_br_base. +Este módulo depende do l10n_br_base e da biblioteca PyCEP-Correios. Configuration ============= -Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou instalado o módulo l10n_br_zip_correios para a consulta de CEPs diretamente dos Correios. +Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou quando o CEP não for encontrado ele será consultado no serviço dos Correios utilizando a biblioteca PyCEP-Correios. Usage ===== @@ -49,7 +49,15 @@ Nos endereços de parceiro, empresa e prospectos será exibido ao lado do campo Known issues / Roadmap ====================== -* Utilizar a biblioteca pyhton pycep_correios e unir os módulos l10n_br_zip e l10n_br_correios + + +Changelog +========= + +12.0.2.0.0 (2019-06-17) +~~~~~~~~~~~~~~~~~~~~~~~ + + * [REF] Incluida pesquisa e dependência da biblioteca PyCEP-Correios. Bug Tracker =========== diff --git a/l10n_br_zip/__manifest__.py b/l10n_br_zip/__manifest__.py index d0470a6ad06f..f7dd241024b7 100644 --- a/l10n_br_zip/__manifest__.py +++ b/l10n_br_zip/__manifest__.py @@ -10,7 +10,7 @@ 'Akretion, ' 'Odoo Community Association (OCA)', 'website': 'http://odoo-brasil.org', - 'version': '12.0.1.0.0', + 'version': '12.0.2.0.0', 'depends': [ 'l10n_br_base' ], diff --git a/l10n_br_zip/readme/CONFIGURE.rst b/l10n_br_zip/readme/CONFIGURE.rst index e72c6c816f45..0e8471c6f361 100644 --- a/l10n_br_zip/readme/CONFIGURE.rst +++ b/l10n_br_zip/readme/CONFIGURE.rst @@ -1 +1 @@ -Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou instalado o módulo l10n_br_zip_correios para a consulta de CEPs diretamente dos Correios. +Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou quando o CEP não for encontrado ele será consultado no serviço dos Correios utilizando a biblioteca PyCEP-Correios. diff --git a/l10n_br_zip/readme/HISTORY.rst b/l10n_br_zip/readme/HISTORY.rst new file mode 100644 index 000000000000..365f76e80c37 --- /dev/null +++ b/l10n_br_zip/readme/HISTORY.rst @@ -0,0 +1,4 @@ +12.0.2.0.0 (2019-06-17) +~~~~~~~~~~~~~~~~~~~~~~~ + + * [REF] Incluida pesquisa e dependência da biblioteca PyCEP-Correios. \ No newline at end of file diff --git a/l10n_br_zip/readme/INSTALL.rst b/l10n_br_zip/readme/INSTALL.rst index 7e6ebdf6a18e..8a52853f4e50 100644 --- a/l10n_br_zip/readme/INSTALL.rst +++ b/l10n_br_zip/readme/INSTALL.rst @@ -1 +1 @@ -Este módulo depende do l10n_br_base. +Este módulo depende do l10n_br_base e da biblioteca PyCEP-Correios. diff --git a/l10n_br_zip/readme/ROADMAP.rst b/l10n_br_zip/readme/ROADMAP.rst index 36bb4cdbf37d..8b137891791f 100644 --- a/l10n_br_zip/readme/ROADMAP.rst +++ b/l10n_br_zip/readme/ROADMAP.rst @@ -1 +1 @@ -* Utilizar a biblioteca pyhton pycep_correios e unir os módulos l10n_br_zip e l10n_br_correios + diff --git a/l10n_br_zip/static/description/index.html b/l10n_br_zip/static/description/index.html index 3500c681c80a..a9e5da912010 100644 --- a/l10n_br_zip/static/description/index.html +++ b/l10n_br_zip/static/description/index.html @@ -371,39 +371,51 @@

Brazilian Localisation ZIP Codes

Table of contents

-

Installation

-

Este módulo depende do l10n_br_base.

+

Installation

+

Este módulo depende do l10n_br_base e da biblioteca PyCEP-Correios.

-

Configuration

-

Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou instalado o módulo l10n_br_zip_correios para a consulta de CEPs diretamente dos Correios.

+

Configuration

+

Ao ser instalado o módulo de CEP deve ser populado a tabela l10n_br.zip ou quando o CEP não for encontrado ele será consultado no serviço dos Correios utilizando a biblioteca PyCEP-Correios.

-

Usage

+

Usage

Nos endereços de parceiro, empresa e prospectos será exibido ao lado do campo CEP um botão para pesquisa de CEP.

+
+

Changelog

+
+

12.0.2.0.0 (2019-06-17)

+
    -
  • Utilizar a biblioteca pyhton pycep_correios e unir os módulos l10n_br_zip e l10n_br_correios
  • +
  • [REF] Incluida pesquisa e dependência da biblioteca PyCEP-Correios.
+
+
-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed @@ -411,15 +423,15 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Akretion
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose From 1b54de73c62cb127d92a2bd50699d3084d097de7 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Mon, 17 Jun 2019 13:50:10 -0300 Subject: [PATCH 06/23] [FIX] PEP8 and removed unused test. --- l10n_br_zip/models/l10n_br_zip.py | 3 +- l10n_br_zip/tests/test_webservice_client.py | 61 --------------------- 2 files changed, 2 insertions(+), 62 deletions(-) delete mode 100644 l10n_br_zip/tests/test_webservice_client.py diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 06a32e0c9cd1..7c4410f245e9 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -9,7 +9,8 @@ try: import pycep_correios except ImportError: - raise UserError(_(u'Erro!'), _(u"Biblioteca PyCEP-Correios não instalada!")) + raise UserError(_(u'Erro!'), _( + u"Biblioteca PyCEP-Correios não instalada!")) _logger = logging.getLogger(__name__) diff --git a/l10n_br_zip/tests/test_webservice_client.py b/l10n_br_zip/tests/test_webservice_client.py deleted file mode 100644 index a13cc308feeb..000000000000 --- a/l10n_br_zip/tests/test_webservice_client.py +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 2016 Aldo Soares - MultidadosTI -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html - -import mock -from suds import WebFault -from suds.client import TransportError - -from odoo.tests.common import TransactionCase -from odoo.exceptions import Warning as UserError - -from ..models.webservice_client import WebServiceClient - - -class TestWebServiceClient(TransactionCase): - - @mock.patch('openerp.addons.l10n_br_zip_correios.models.' - 'webservice_client.WebServiceClient.search_zip_code') - def test_search_zip_code(self, mock_api_call): - - web_client = WebServiceClient(self.env['l10n_br.zip']) - - mock_api_call.side_effect = WebFault("", "") - self.assertRaises(WebFault, web_client.search_zip_code, 70002900) - - mock_api_call.side_effect = TransportError("", "") - self.assertRaises(TransportError, web_client.search_zip_code, 70002900) - - @mock.patch('openerp.addons.l10n_br_zip_correios.models.' - 'webservice_client.WebServiceClient.search_zip_code') - def test_get_address(self, mock_api_call): - - end = 'SBN Quadra 1 Bloco A' - bairro = 'Asa Norte' - cidade = u'Brasília' - uf = 'DF' - pais = 'Brazil' - - mock_api_call.return_value = mock.MagicMock(end=end, - bairro=bairro, - cidade=cidade, - uf=uf) - - web_client = WebServiceClient(self.env['l10n_br.zip']) - record = web_client.get_address('70002900') - - self.assertEqual(record.state_id.code, uf, - 'Get address returns wrong UF') - self.assertEqual(record.country_id.name, pais, - 'Get address returns wrong country') - self.assertEqual(record.city_id.name, cidade, - 'Get address returns wrong city') - self.assertEqual(record.street, end, - 'Get address returns wrong address') - self.assertEqual(record.district, bairro, - 'Get address returns wrong neighborhood') - - mock_api_call.side_effect = UserError("") - self.assertRaises(UserError, web_client.get_address, 70002901) - - self.assertEqual(web_client.get_address('70002900'), None, - 'Object l10n_br.zip already created') From d52c2b7e51abe28615fc45fcd64f833fd84523c8 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Tue, 18 Jun 2019 10:51:30 -0300 Subject: [PATCH 07/23] [FIX] Import error message. --- l10n_br_zip/models/l10n_br_zip.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 7c4410f245e9..74517a98db4e 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -6,13 +6,13 @@ from odoo.exceptions import UserError from odoo.addons.l10n_br_base.tools import misc + +_logger = logging.getLogger(__name__) + try: import pycep_correios except ImportError: - raise UserError(_(u'Erro!'), _( - u"Biblioteca PyCEP-Correios não instalada!")) - -_logger = logging.getLogger(__name__) + _logger.warning("Library PyCEP-Correios not installed !") class L10nBrZip(models.Model): From d255bff14dce401e029984510e29e853047dca75 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Tue, 18 Jun 2019 15:56:56 -0300 Subject: [PATCH 08/23] [FIX] Field zip has changed to zip_code. --- l10n_br_zip/models/l10n_br_zip.py | 7 ++++--- l10n_br_zip/tests/test_l10n_br_zip.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 74517a98db4e..3095a1532c89 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -66,7 +66,7 @@ def _set_domain(self, country_id=False, state_id=False, domain = [] if zip_code: new_zip = misc.punctuation_rm(zip_code or '') - domain.append(('zip', '=', new_zip)) + domain.append(('zip_code', '=', new_zip)) else: if not state_id or not city_id or len(street or '') == 0: raise UserError( @@ -87,7 +87,7 @@ def _set_domain(self, country_id=False, state_id=False, def set_result(self, zip_obj=None): if zip_obj: - zip_code = zip_obj.zip + zip_code = zip_obj.zip_code if len(zip_code) == 8: zip_code = '%s-%s' % (zip_code[0:5], zip_code[5:8]) result = { @@ -165,8 +165,9 @@ def zip_search(self, obj): ('state_id.id', '=', state.id)], limit=1) values = { - 'zip': zip_str, + 'zip_code': zip_str, 'street': res['end'], + 'zip_complement': res['complemento2'], 'district': res['bairro'], 'city_id': city.id or False, 'state_id': state.id or False, diff --git a/l10n_br_zip/tests/test_l10n_br_zip.py b/l10n_br_zip/tests/test_l10n_br_zip.py index 6156222d59bf..fe23d1ce78f2 100644 --- a/l10n_br_zip/tests/test_l10n_br_zip.py +++ b/l10n_br_zip/tests/test_l10n_br_zip.py @@ -12,7 +12,7 @@ def setUp(self): super(L10nBRZipTest, self).setUp() self.zip_obj = self.env['l10n_br.zip'] self.zip_1 = self.zip_obj.create(dict( - zip='88032050', + zip_code='88032050', city_id=self.env.ref('l10n_br_base.city_4205407').id, state_id=self.env.ref('base.state_br_sc').id, country_id=self.env.ref('base.br').id, @@ -51,7 +51,7 @@ def test_search_zip_code_by_other_fields_company(self): def test_return_two_results_zip_search(self): self.zip_1 = self.zip_obj.create(dict( - zip='88032040', + zip_code='88032040', city_id=self.env.ref('l10n_br_base.city_4205407').id, state_id=self.env.ref('base.state_br_sc').id, country_id=self.env.ref('base.br').id, From ebfb6fba6f052d7b9609d92a40687d9bc1458f60 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Tue, 18 Jun 2019 15:58:54 -0300 Subject: [PATCH 09/23] [FIX] Included python dependencies. --- l10n_br_zip/__manifest__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/l10n_br_zip/__manifest__.py b/l10n_br_zip/__manifest__.py index f7dd241024b7..ecb96a69b2b6 100644 --- a/l10n_br_zip/__manifest__.py +++ b/l10n_br_zip/__manifest__.py @@ -21,4 +21,7 @@ 'security/ir.model.access.csv', ], 'installable': True, + 'external_dependencies': { + 'python': ['pycep_correios'], + } } From 0912852834c27667175bac48289b167604ff47a7 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Tue, 18 Jun 2019 16:31:58 -0300 Subject: [PATCH 10/23] [REF] Reduce exception code. --- l10n_br_zip/models/l10n_br_zip.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/l10n_br_zip/models/l10n_br_zip.py b/l10n_br_zip/models/l10n_br_zip.py index 3095a1532c89..2b4edda330e3 100644 --- a/l10n_br_zip/models/l10n_br_zip.py +++ b/l10n_br_zip/models/l10n_br_zip.py @@ -149,7 +149,11 @@ def zip_search(self, obj): zip_str = misc.punctuation_rm(obj.zip) try: res = pycep_correios.consultar_cep(zip_str) + except Exception as e: + raise UserError( + _('Erro no PyCEP-Correios : ') + str(e)) + if res: # Search Brazil id country = self.env['res.country'].search( [('code', '=', 'BR')], limit=1) @@ -182,10 +186,6 @@ def zip_search(self, obj): obj.write(result) return True - except Exception as e: - raise UserError( - _('Erro no PyCEP-Correios : ') + str(e)) - def create_wizard(self, object_name, address_id, country_id=False, state_id=False, city_id=False, district=False, street=False, zip_code=False, From 90a5d44717545dc8dc4f5f5c7ff169a3f0de60da Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Wed, 3 Jul 2019 11:49:05 -0300 Subject: [PATCH 11/23] [FIX] Method default_get has changed the decorator. --- l10n_br_zip/wizard/l10n_br_zip_search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n_br_zip/wizard/l10n_br_zip_search.py b/l10n_br_zip/wizard/l10n_br_zip_search.py index 0646d4a001c5..9bb48c1d261c 100644 --- a/l10n_br_zip/wizard/l10n_br_zip_search.py +++ b/l10n_br_zip/wizard/l10n_br_zip_search.py @@ -65,7 +65,7 @@ def create(self, vals): # context.update({'search_id': result}) return result - @api.multi + @api.model def default_get(self, fields_list): data = super(L10nBrZipSearch, self).default_get(fields_list) From e5272b161b71712eefdb0129c053f5b8f9c711e8 Mon Sep 17 00:00:00 2001 From: Magno Costa Date: Wed, 3 Jul 2019 11:51:00 -0300 Subject: [PATCH 12/23] [FIX] Update icon. --- l10n_br_zip/wizard/l10n_br_zip_search_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/l10n_br_zip/wizard/l10n_br_zip_search_view.xml b/l10n_br_zip/wizard/l10n_br_zip_search_view.xml index 124da2eaaf61..80bcc81edd1e 100644 --- a/l10n_br_zip/wizard/l10n_br_zip_search_view.xml +++ b/l10n_br_zip/wizard/l10n_br_zip_search_view.xml @@ -5,7 +5,7 @@ Pesquisar CEP l10n_br.zip.search - + @@ -38,7 +38,7 @@ l10n_br.zip.result -