From b0ba3ed8ce2fe9bbb18f2f4cc7526b64d897fd00 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Wed, 20 Jul 2022 19:29:00 -0300 Subject: [PATCH] [RFC] l10n_br_portal: my/account form refactor --- l10n_br_portal/__init__.py | 1 + l10n_br_portal/controllers/portal.py | 11 +++- l10n_br_portal/models/__init__.py | 1 + l10n_br_portal/models/res_partner.py | 15 +++++ .../static/src/js/l10n_br_portal_tour.js | 22 +++++-- l10n_br_portal/views/portal_templates.xml | 62 ++++++++++++++++--- 6 files changed, 93 insertions(+), 19 deletions(-) create mode 100644 l10n_br_portal/models/__init__.py create mode 100644 l10n_br_portal/models/res_partner.py diff --git a/l10n_br_portal/__init__.py b/l10n_br_portal/__init__.py index e5fb8940cd39..3187fc6833d5 100644 --- a/l10n_br_portal/__init__.py +++ b/l10n_br_portal/__init__.py @@ -1,3 +1,4 @@ # Copyright 2016 KMEE - Luis Felipe Miléo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl from . import controllers +from . import models diff --git a/l10n_br_portal/controllers/portal.py b/l10n_br_portal/controllers/portal.py index 04be2c1a28a1..bd0c6673d2f3 100644 --- a/l10n_br_portal/controllers/portal.py +++ b/l10n_br_portal/controllers/portal.py @@ -15,15 +15,20 @@ class L10nBrPortal(CustomerPortal): "city_id", "district", "street_number", - "legal_name", "cnpj_cpf", "zipcode", - "inscr_est", "street_name", ] OPTIONAL_BILLING_FIELDS = list( set(CustomerPortal.OPTIONAL_BILLING_FIELDS) - {"state_id"} - ) + ["inscr_mun", "street2", "mobile"] + ) + [ + "legal_name", + "inscr_est", + "inscr_mun", + "street2", + "mobile", + "rg", + ] def _prepare_portal_layout_values(self): values = super()._prepare_portal_layout_values() diff --git a/l10n_br_portal/models/__init__.py b/l10n_br_portal/models/__init__.py new file mode 100644 index 000000000000..91fed54d404e --- /dev/null +++ b/l10n_br_portal/models/__init__.py @@ -0,0 +1 @@ +from . import res_partner diff --git a/l10n_br_portal/models/res_partner.py b/l10n_br_portal/models/res_partner.py new file mode 100644 index 000000000000..d07db12a1c42 --- /dev/null +++ b/l10n_br_portal/models/res_partner.py @@ -0,0 +1,15 @@ +# Copyright 2023 - TODAY, Marcel Savegnago +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models + + +class ResPartner(models.Model): + _name = "res.partner" + _inherit = [_name, "l10n_br_base.party.mixin"] + + def can_edit_vat(self): + can_edit_vat = super(ResPartner, self).can_edit_vat() + if not can_edit_vat: + return can_edit_vat + return not self.cnpj_cpf diff --git a/l10n_br_portal/static/src/js/l10n_br_portal_tour.js b/l10n_br_portal/static/src/js/l10n_br_portal_tour.js index a5ecc9c5490a..52857987acaf 100644 --- a/l10n_br_portal/static/src/js/l10n_br_portal_tour.js +++ b/l10n_br_portal/static/src/js/l10n_br_portal_tour.js @@ -23,21 +23,31 @@ odoo.define("l10n_br_portal.tour", function (require) { trigger: "input[name='name']", run: "text Mileo", }, - { - content: "Complete Legal Name", - trigger: "input[name='legal_name']", - run: "text Luis Felipe Mileo", - }, { content: "Complete CPF", trigger: "input[name='cnpj_cpf']", run: "text 89604455095", }, { - content: "Complete IE", + content: "Complete Company Name", + trigger: "input[name='company_name']", + run: "text Empresa X", + }, + { + content: "Complete Company CNPJ/VAT", + trigger: "input[name='vat']", + run: "text 34565346000159", + }, + { + content: "Complete State Tax Number", trigger: "input[name='inscr_est']", run: "text ISENTO", }, + { + content: "Complete Municipal Tax Number", + trigger: "input[name='inscr_mun']", + run: "text 12345", + }, { content: "Complete ZIP", trigger: "input[name='zipcode']", diff --git a/l10n_br_portal/views/portal_templates.xml b/l10n_br_portal/views/portal_templates.xml index 99a3ca499f96..bf787fa5619e 100644 --- a/l10n_br_portal/views/portal_templates.xml +++ b/l10n_br_portal/views/portal_templates.xml @@ -43,12 +43,13 @@
+ >Legal Name

+ >CPF +

+
+
+ + + +
+
+ + +
+ >State Tax Number
-
+ >Municipal Tax Number
@@ -235,7 +277,7 @@ + >District Complemento + >Street2 Cidade + >City