From 3f135513049329cadc359b1327cadd7c8a32abae Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Tue, 20 Jul 2021 12:31:17 +0200 Subject: [PATCH 01/22] [ADD] account_move_tier_validation_approver --- .../__init__.py | 1 + .../__manifest__.py | 16 ++++++++ .../models/__init__.py | 4 ++ .../models/account_move.py | 31 ++++++++++++++ .../models/res_company.py | 15 +++++++ .../models/res_config_settings.py | 41 +++++++++++++++++++ .../models/res_partner.py | 10 +++++ .../readme/CONFIGURE.rst | 8 ++++ .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../readme/USAGE.rst | 12 ++++++ .../views/account_move_views.xml | 28 +++++++++++++ .../views/res_config_settings_views.xml | 31 ++++++++++++++ .../views/res_partner_views.xml | 20 +++++++++ 14 files changed, 221 insertions(+) create mode 100644 account_move_tier_validation_approver/__init__.py create mode 100644 account_move_tier_validation_approver/__manifest__.py create mode 100644 account_move_tier_validation_approver/models/__init__.py create mode 100644 account_move_tier_validation_approver/models/account_move.py create mode 100644 account_move_tier_validation_approver/models/res_company.py create mode 100644 account_move_tier_validation_approver/models/res_config_settings.py create mode 100644 account_move_tier_validation_approver/models/res_partner.py create mode 100644 account_move_tier_validation_approver/readme/CONFIGURE.rst create mode 100644 account_move_tier_validation_approver/readme/CONTRIBUTORS.rst create mode 100644 account_move_tier_validation_approver/readme/DESCRIPTION.rst create mode 100644 account_move_tier_validation_approver/readme/USAGE.rst create mode 100644 account_move_tier_validation_approver/views/account_move_views.xml create mode 100644 account_move_tier_validation_approver/views/res_config_settings_views.xml create mode 100644 account_move_tier_validation_approver/views/res_partner_views.xml diff --git a/account_move_tier_validation_approver/__init__.py b/account_move_tier_validation_approver/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/account_move_tier_validation_approver/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py new file mode 100644 index 00000000..4add0d84 --- /dev/null +++ b/account_move_tier_validation_approver/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2021 ForgeFlow, S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +{ + "name": "Account Move Tier Validation Approver", + "version": "13.0.1.0.0", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "category": "Accounting", + "license": "LGPL-3", + "depends": ["account_move_tier_validation"], + "data": [ + "views/account_move_views.xml", + "views/res_partner_views.xml", + "views/res_config_settings_views.xml", + ], + "installable": True, +} diff --git a/account_move_tier_validation_approver/models/__init__.py b/account_move_tier_validation_approver/models/__init__.py new file mode 100644 index 00000000..516c5ccb --- /dev/null +++ b/account_move_tier_validation_approver/models/__init__.py @@ -0,0 +1,4 @@ +from . import account_move +from . import res_partner +from . import res_config_settings +from . import res_company diff --git a/account_move_tier_validation_approver/models/account_move.py b/account_move_tier_validation_approver/models/account_move.py new file mode 100644 index 00000000..8be9e7ea --- /dev/null +++ b/account_move_tier_validation_approver/models/account_move.py @@ -0,0 +1,31 @@ +# Copyright 2021 ForgeFlow, S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + + +class AccountMove(models.Model): + _inherit = "account.move" + + approver_id = fields.Many2one("res.users", string="Responsible for Approval") + + @api.onchange("partner_id") + def _onchange_partner_approver_id(self): + if self.partner_id: + self.approver_id = self.partner_id.approver_id.id + + def post(self): + for move in self: + require_approver_in_vendor_bills = ( + move.company_id.require_approver_in_vendor_bills + ) + if ( + move.is_purchase_document(include_receipts=True) + and require_approver_in_vendor_bills + and not move.approver_id + ): + raise UserError( + _("It is mandatory to indicate a Responsible for Approval") + ) + return super(AccountMove, self).post() diff --git a/account_move_tier_validation_approver/models/res_company.py b/account_move_tier_validation_approver/models/res_company.py new file mode 100644 index 00000000..a1452d08 --- /dev/null +++ b/account_move_tier_validation_approver/models/res_company.py @@ -0,0 +1,15 @@ +# Copyright 2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + require_approver_in_vendor_bills = fields.Boolean( + string="Require approver in vendor bills" + ) + validation_approver_tier_definition_id = fields.Many2one( + comodel_name="tier.definition", string="Bill approval tier definition" + ) diff --git a/account_move_tier_validation_approver/models/res_config_settings.py b/account_move_tier_validation_approver/models/res_config_settings.py new file mode 100644 index 00000000..9ffe662f --- /dev/null +++ b/account_move_tier_validation_approver/models/res_config_settings.py @@ -0,0 +1,41 @@ +# Copyright 2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + require_approver_in_vendor_bills = fields.Boolean( + string="Require Approver In Vendor Bills", + help="Requires adding an approver before a vendor bill can be posted.", + related="company_id.require_approver_in_vendor_bills", + readonly=False, + ) + + def set_values(self): + tier_definition = self.company_id.validation_approver_tier_definition_id + if not tier_definition: + field = self.env["ir.model.fields"].search( + [("model", "=", "account.move"), ("name", "=", "approver_id")] + ) + tier_definition = self.env["tier.definition"].create( + { + "model_id": self.env["ir.model"] + .search([("model", "=", "account.move")]) + .id, + "review_type": "field", + "name": "Validation with Approver field", + "reviewer_field_id": field.id, + "definition_domain": "[('type', '=', 'in_invoice')]", + "approve_sequence": True, + "active": self.require_approver_in_vendor_bills, + } + ) + self.company_id.validation_approver_tier_definition_id = tier_definition + if self.require_approver_in_vendor_bills: + tier_definition.action_unarchive() + else: + tier_definition.action_archive() + return super().set_values() diff --git a/account_move_tier_validation_approver/models/res_partner.py b/account_move_tier_validation_approver/models/res_partner.py new file mode 100644 index 00000000..93d37620 --- /dev/null +++ b/account_move_tier_validation_approver/models/res_partner.py @@ -0,0 +1,10 @@ +# Copyright 2021 ForgeFlow, S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class Partner(models.Model): + _inherit = "res.partner" + + approver_id = fields.Many2one("res.users", string="Approver of Vendor Bills") diff --git a/account_move_tier_validation_approver/readme/CONFIGURE.rst b/account_move_tier_validation_approver/readme/CONFIGURE.rst new file mode 100644 index 00000000..4fdbf736 --- /dev/null +++ b/account_move_tier_validation_approver/readme/CONFIGURE.rst @@ -0,0 +1,8 @@ +To configure this module, you need to: + +#. Go to *Settings > Technical > Tier Validations > Tier Definition*. +#. Create a new tier or edit an existing one. +#. Set the "Validated by" field to "Field in related record". +#. Set the "Reviewer field" to "Responsible for Approval". + +A default tier validation called "Validation with Approver field" is set with this configuration. diff --git a/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst b/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..c32689f4 --- /dev/null +++ b/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Lois Rilo +* Adrià Gil Sorribes diff --git a/account_move_tier_validation_approver/readme/DESCRIPTION.rst b/account_move_tier_validation_approver/readme/DESCRIPTION.rst new file mode 100644 index 00000000..1bbcddab --- /dev/null +++ b/account_move_tier_validation_approver/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured +with the "Responsible for Approval" field, the approver will be the one chosen in the partner form. diff --git a/account_move_tier_validation_approver/readme/USAGE.rst b/account_move_tier_validation_approver/readme/USAGE.rst new file mode 100644 index 00000000..9fa3340d --- /dev/null +++ b/account_move_tier_validation_approver/readme/USAGE.rst @@ -0,0 +1,12 @@ +You can assign a default user for approval associated to a supplier. In the +partner form view, go to the *Sales and Purchase* tab, and into the *Purchase* +section, and fill the field *Approver of Vendor Bills*. + +When you create a vendor bill the field *Responsible for Approval* will be +filled in with the partner's default. You can change it if needed. + +Be aware that you won't be able to post a vendor bill unless you have indicated +a Responsible for Approval. + +Used in connection with the module *Account Move Tier Validation* you can set +up approvals specific to a department. diff --git a/account_move_tier_validation_approver/views/account_move_views.xml b/account_move_tier_validation_approver/views/account_move_views.xml new file mode 100644 index 00000000..9889b21f --- /dev/null +++ b/account_move_tier_validation_approver/views/account_move_views.xml @@ -0,0 +1,28 @@ + + + + + account.move.form + account.move + + + + + + + + + account.move.select - account_move_tier_validation + account.move + + + + + + + + diff --git a/account_move_tier_validation_approver/views/res_config_settings_views.xml b/account_move_tier_validation_approver/views/res_config_settings_views.xml new file mode 100644 index 00000000..3dff01b7 --- /dev/null +++ b/account_move_tier_validation_approver/views/res_config_settings_views.xml @@ -0,0 +1,31 @@ + + + + res.config.settings.view.form.inherit + res.config.settings + + + +
+
+ +
+
+
+
+
+
+
+
diff --git a/account_move_tier_validation_approver/views/res_partner_views.xml b/account_move_tier_validation_approver/views/res_partner_views.xml new file mode 100644 index 00000000..12cdc20b --- /dev/null +++ b/account_move_tier_validation_approver/views/res_partner_views.xml @@ -0,0 +1,20 @@ + + + + + + + res.partner.move_approve.user + res.partner + + + + + + + + + From 35a0bd46807d79041e7717c49948138085ff940b Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 10 Sep 2021 09:47:16 +0000 Subject: [PATCH 02/22] [UPD] Update account_move_tier_validation_approver.pot --- .../account_move_tier_validation_approver.pot | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot diff --git a/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot new file mode 100644 index 00000000..c51cf34b --- /dev/null +++ b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_move_tier_validation_approver +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \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: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "" +"" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_users__approver_id +msgid "Approver of Vendor Bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__validation_approver_tier_definition_id +msgid "Bill approval tier definition" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_partner +msgid "Contact" +msgstr "" + +#. module: account_move_tier_validation_approver +#: code:addons/account_move_tier_validation_approver/models/account_move.py:0 +#, python-format +msgid "It is mandatory to indicate a Responsible for Approval" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_account_move +msgid "Journal Entries" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Require Approver In Vendor Bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "Require approver before posting vendor bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__require_approver_in_vendor_bills +msgid "Require approver in vendor bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,help:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Requires adding an approver before a vendor bill can be posted." +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__approver_id +msgid "Responsible for Approval" +msgstr "" From d9cd288d5f03327c871c3f84c9b541eff461027f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 10 Sep 2021 10:11:27 +0000 Subject: [PATCH 03/22] [UPD] README.rst --- .../README.rst | 103 ++++ .../static/description/index.html | 446 ++++++++++++++++++ 2 files changed, 549 insertions(+) create mode 100644 account_move_tier_validation_approver/README.rst create mode 100644 account_move_tier_validation_approver/static/description/index.html diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst new file mode 100644 index 00000000..5b2bec15 --- /dev/null +++ b/account_move_tier_validation_approver/README.rst @@ -0,0 +1,103 @@ +===================================== +Account Move Tier Validation Approver +===================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github + :target: https://github.com/OCA/account-invoicing/tree/13.0/account_move_tier_validation_approver + :alt: OCA/account-invoicing +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-invoicing-13-0/account-invoicing-13-0-account_move_tier_validation_approver + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/95/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured +with the "Responsible for Approval" field, the approver will be the one chosen in the partner form. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Settings > Technical > Tier Validations > Tier Definition*. +#. Create a new tier or edit an existing one. +#. Set the "Validated by" field to "Field in related record". +#. Set the "Reviewer field" to "Responsible for Approval". + +A default tier validation called "Validation with Approver field" is set with this configuration. + +Usage +===== + +You can assign a default user for approval associated to a supplier. In the +partner form view, go to the *Sales and Purchase* tab, and into the *Purchase* +section, and fill the field *Approver of Vendor Bills*. + +When you create a vendor bill the field *Responsible for Approval* will be +filled in with the partner's default. You can change it if needed. + +Be aware that you won't be able to post a vendor bill unless you have indicated +a Responsible for Approval. + +Used in connection with the module *Account Move Tier Validation* you can set +up approvals specific to a department. + +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 +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Lois Rilo +* Adrià Gil Sorribes + +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/account-invoicing `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html new file mode 100644 index 00000000..9ae3e7f5 --- /dev/null +++ b/account_move_tier_validation_approver/static/description/index.html @@ -0,0 +1,446 @@ + + + + + + +Account Move Tier Validation Approver + + + +
+

Account Move Tier Validation Approver

+ + +

Beta License: LGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

+

This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured +with the “Responsible for Approval” field, the approver will be the one chosen in the partner form.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  1. Go to Settings > Technical > Tier Validations > Tier Definition.
  2. +
  3. Create a new tier or edit an existing one.
  4. +
  5. Set the “Validated by” field to “Field in related record”.
  6. +
  7. Set the “Reviewer field” to “Responsible for Approval”.
  8. +
+

A default tier validation called “Validation with Approver field” is set with this configuration.

+
+
+

Usage

+

You can assign a default user for approval associated to a supplier. In the +partner form view, go to the Sales and Purchase tab, and into the Purchase +section, and fill the field Approver of Vendor Bills.

+

When you create a vendor bill the field Responsible for Approval will be +filled in with the partner’s default. You can change it if needed.

+

Be aware that you won’t be able to post a vendor bill unless you have indicated +a Responsible for Approval.

+

Used in connection with the module Account Move Tier Validation you can set +up approvals specific to a department.

+
+
+

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

+
    +
  • ForgeFlow
  • +
+
+
+

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/account-invoicing project on GitHub.

+

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

+
+
+
+ + From 085ff54f07c046c986af0cfde5b29119c84b995f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 10 Sep 2021 10:11:28 +0000 Subject: [PATCH 04/22] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 account_move_tier_validation_approver/static/description/icon.png diff --git a/account_move_tier_validation_approver/static/description/icon.png b/account_move_tier_validation_approver/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From e3470fb87b65ddce0b0ec44121611010e5a9f115 Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Mon, 13 Sep 2021 16:45:44 +0200 Subject: [PATCH 05/22] [13.0][IMP] account_move_tier_validation_approver: add tests --- .../tests/__init__.py | 3 + ...t_account_move_tier_validation_approver.py | 75 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 account_move_tier_validation_approver/tests/__init__.py create mode 100644 account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py diff --git a/account_move_tier_validation_approver/tests/__init__.py b/account_move_tier_validation_approver/tests/__init__.py new file mode 100644 index 00000000..f67f7205 --- /dev/null +++ b/account_move_tier_validation_approver/tests/__init__.py @@ -0,0 +1,3 @@ +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import test_account_move_tier_validation_approver diff --git a/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py new file mode 100644 index 00000000..0a1845a2 --- /dev/null +++ b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py @@ -0,0 +1,75 @@ +# Copyright 2021 ForgeFlow (http://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + + +class TestAccountMoveTierValidationApprover(TransactionCase): + def setUp(self): + super(TestAccountMoveTierValidationApprover, self).setUp() + self.res_partner_1 = self.env["res.partner"].create( + {"name": "Wood Corner", "email": "example@yourcompany.com"} + ) + self.product_1 = self.env["product.product"].create( + {"name": "Desk Combination"} + ) + self.currency_euro = self.env["res.currency"].search([("name", "=", "EUR")]) + self.test_user_1 = self.env["res.users"].create( + {"name": "User", "login": "test1", "email": "example@yourcompany.com"} + ) + self.test_approver = self.env["res.users"].create( + {"name": "Approver", "login": "test2", "email": "example@yourcompany.com"} + ) + self.vendor_bill = self.env["account.move"].create( + [ + { + "type": "in_invoice", + "partner_id": self.res_partner_1.id, + "currency_id": self.currency_euro.id, + "approver_id": self.test_approver.id, + "invoice_line_ids": [ + ( + 0, + None, + { + "product_id": self.product_1.id, + "product_uom_id": self.product_1.uom_id.id, + "quantity": 12, + "price_unit": 1000, + }, + ), + ], + } + ] + ) + self.model_id = self.env["ir.model"].search( + [("name", "=", "Journal Entries")], limit=1 + ) + self.field_id = self.env["ir.model.fields"].search( + [("name", "=", "approver_id")], limit=1 + ) + + def test_field_validation_approver(self): + tiers = self.env["tier.definition"].search([]) + for tier in tiers: + tier.action_archive() + self.tier_definition = self.env["tier.definition"].create( + { + "name": "Test Tier", + "model_id": self.model_id.id, + "review_type": "field", + "reviewer_field_id": self.field_id.id, + "definition_type": "domain", + "definition_domain": "[('type', '=', 'in_invoice')]", + } + ) + record = self.vendor_bill + record.write({"approver_id": self.test_approver.id}) + record.with_user(self.test_user_1.id).request_validation() + record.invalidate_cache() + record.with_user(self.test_user_1.id).validate_tier() + with self.assertRaises(ValidationError): + record.action_post() + record.with_user(self.test_approver.id).validate_tier() + record.action_post() From 1580fb51e8d60c472d45f0a44589097af952b7a3 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 29 Oct 2021 09:51:31 +0000 Subject: [PATCH 06/22] account_move_tier_validation_approver 13.0.1.0.1 --- account_move_tier_validation_approver/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 4add0d84..b4539e95 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -2,7 +2,7 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). { "name": "Account Move Tier Validation Approver", - "version": "13.0.1.0.0", + "version": "13.0.1.0.1", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Accounting", "license": "LGPL-3", From 2a3143b9ccd1149e5d1e20a6f9fa166af43a8432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olga=20Marco=20Pu=C3=A9rtolas?= Date: Thu, 3 Feb 2022 10:16:36 +0000 Subject: [PATCH 07/22] Added translation using Weblate (Spanish) --- .../i18n/es_PA.po | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 account_move_tier_validation_approver/i18n/es_PA.po diff --git a/account_move_tier_validation_approver/i18n/es_PA.po b/account_move_tier_validation_approver/i18n/es_PA.po new file mode 100644 index 00000000..9f81ac04 --- /dev/null +++ b/account_move_tier_validation_approver/i18n/es_PA.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_move_tier_validation_approver +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_PA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "" +"" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_users__approver_id +msgid "Approver of Vendor Bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__validation_approver_tier_definition_id +msgid "Bill approval tier definition" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_partner +msgid "Contact" +msgstr "" + +#. module: account_move_tier_validation_approver +#: code:addons/account_move_tier_validation_approver/models/account_move.py:0 +#, python-format +msgid "It is mandatory to indicate a Responsible for Approval" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_account_move +msgid "Journal Entries" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Require Approver In Vendor Bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "Require approver before posting vendor bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__require_approver_in_vendor_bills +msgid "Require approver in vendor bills" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,help:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Requires adding an approver before a vendor bill can be posted." +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__approver_id +msgid "Responsible for Approval" +msgstr "" From 0dcb6b005e8a1537473a218a305a95480164832f Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Wed, 6 Apr 2022 11:16:24 +0200 Subject: [PATCH 08/22] [FIX] account_move_tier_validation_approver: From LGPL to AGPL --- account_move_tier_validation_approver/__manifest__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index b4539e95..19d26f0a 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -2,10 +2,10 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). { "name": "Account Move Tier Validation Approver", - "version": "13.0.1.0.1", + "version": "13.0.2.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Accounting", - "license": "LGPL-3", + "license": "AGPL-3", "depends": ["account_move_tier_validation"], "data": [ "views/account_move_views.xml", From ba5368174e270b1e716e78b707a6cce183180607 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Apr 2022 09:38:02 +0000 Subject: [PATCH 09/22] [UPD] README.rst --- account_move_tier_validation_approver/README.rst | 6 +++--- .../static/description/index.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 5b2bec15..2f5ff7d8 100644 --- a/account_move_tier_validation_approver/README.rst +++ b/account_move_tier_validation_approver/README.rst @@ -10,9 +10,9 @@ Account Move Tier Validation Approver .. |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-LGPL--3-blue.png - :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html - :alt: License: LGPL-3 +.. |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%2Faccount--invoicing-lightgray.png?logo=github :target: https://github.com/OCA/account-invoicing/tree/13.0/account_move_tier_validation_approver :alt: OCA/account-invoicing diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 9ae3e7f5..82c6755f 100644 --- a/account_move_tier_validation_approver/static/description/index.html +++ b/account_move_tier_validation_approver/static/description/index.html @@ -367,7 +367,7 @@

Account Move Tier Validation Approver

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured with the “Responsible for Approval” field, the approver will be the one chosen in the partner form.

Table of contents

From ebd995071cd74bd5a6e7dae1b06590742a19db8f Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Tue, 27 Dec 2022 11:55:46 +0100 Subject: [PATCH 10/22] [FIX] manifest website links --- account_move_tier_validation_approver/__manifest__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 19d26f0a..7c4696c0 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -7,6 +7,7 @@ "category": "Accounting", "license": "AGPL-3", "depends": ["account_move_tier_validation"], + "website": "https://github.com/OCA/account-invoicing", "data": [ "views/account_move_views.xml", "views/res_partner_views.xml", From 6fbc6929695063684425c2c9ce131520cfece25d Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Fri, 20 Aug 2021 12:37:55 +0200 Subject: [PATCH 11/22] [14.0][MIG] account_move_tier_validation_approver --- .../__manifest__.py | 4 ++-- .../models/account_move.py | 10 ++++++---- .../models/res_company.py | 2 +- .../models/res_config_settings.py | 4 ++-- .../models/res_partner.py | 2 +- .../tests/__init__.py | 2 +- .../test_account_move_tier_validation_approver.py | 12 +++++++----- .../views/account_move_views.xml | 4 ++-- .../views/res_partner_views.xml | 2 +- 9 files changed, 23 insertions(+), 19 deletions(-) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 7c4696c0..0fffb4b3 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -1,8 +1,8 @@ # Copyright 2021 ForgeFlow, S.L. -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Account Move Tier Validation Approver", - "version": "13.0.2.0.0", + "version": "14.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Accounting", "license": "AGPL-3", diff --git a/account_move_tier_validation_approver/models/account_move.py b/account_move_tier_validation_approver/models/account_move.py index 8be9e7ea..5c09bd2e 100644 --- a/account_move_tier_validation_approver/models/account_move.py +++ b/account_move_tier_validation_approver/models/account_move.py @@ -1,5 +1,5 @@ # Copyright 2021 ForgeFlow, S.L. -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import _, api, fields, models from odoo.exceptions import UserError @@ -15,7 +15,7 @@ def _onchange_partner_approver_id(self): if self.partner_id: self.approver_id = self.partner_id.approver_id.id - def post(self): + def _post(self, soft=True): for move in self: require_approver_in_vendor_bills = ( move.company_id.require_approver_in_vendor_bills @@ -26,6 +26,8 @@ def post(self): and not move.approver_id ): raise UserError( - _("It is mandatory to indicate a Responsible for Approval") + _( + "It is mandatory to indicate a Responsible for Approval (in {})" + ).format(move.name) ) - return super(AccountMove, self).post() + return super()._post(soft) diff --git a/account_move_tier_validation_approver/models/res_company.py b/account_move_tier_validation_approver/models/res_company.py index a1452d08..d905721d 100644 --- a/account_move_tier_validation_approver/models/res_company.py +++ b/account_move_tier_validation_approver/models/res_company.py @@ -1,5 +1,5 @@ # Copyright 2020 ForgeFlow, S.L. -# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import fields, models diff --git a/account_move_tier_validation_approver/models/res_config_settings.py b/account_move_tier_validation_approver/models/res_config_settings.py index 9ffe662f..1addb199 100644 --- a/account_move_tier_validation_approver/models/res_config_settings.py +++ b/account_move_tier_validation_approver/models/res_config_settings.py @@ -1,5 +1,5 @@ # Copyright 2020 ForgeFlow, S.L. -# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import fields, models @@ -28,7 +28,7 @@ def set_values(self): "review_type": "field", "name": "Validation with Approver field", "reviewer_field_id": field.id, - "definition_domain": "[('type', '=', 'in_invoice')]", + "definition_domain": "[('move_type', '=', 'in_invoice')]", "approve_sequence": True, "active": self.require_approver_in_vendor_bills, } diff --git a/account_move_tier_validation_approver/models/res_partner.py b/account_move_tier_validation_approver/models/res_partner.py index 93d37620..e8df37e6 100644 --- a/account_move_tier_validation_approver/models/res_partner.py +++ b/account_move_tier_validation_approver/models/res_partner.py @@ -1,5 +1,5 @@ # Copyright 2021 ForgeFlow, S.L. -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import fields, models diff --git a/account_move_tier_validation_approver/tests/__init__.py b/account_move_tier_validation_approver/tests/__init__.py index f67f7205..2de1f82a 100644 --- a/account_move_tier_validation_approver/tests/__init__.py +++ b/account_move_tier_validation_approver/tests/__init__.py @@ -1,3 +1,3 @@ -# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import test_account_move_tier_validation_approver diff --git a/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py index 0a1845a2..c1b3efae 100644 --- a/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py +++ b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py @@ -1,5 +1,5 @@ # Copyright 2021 ForgeFlow (http://www.forgeflow.com) -# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo.exceptions import ValidationError from odoo.tests.common import TransactionCase @@ -24,7 +24,7 @@ def setUp(self): self.vendor_bill = self.env["account.move"].create( [ { - "type": "in_invoice", + "move_type": "in_invoice", "partner_id": self.res_partner_1.id, "currency_id": self.currency_euro.id, "approver_id": self.test_approver.id, @@ -44,7 +44,7 @@ def setUp(self): ] ) self.model_id = self.env["ir.model"].search( - [("name", "=", "Journal Entries")], limit=1 + [("model", "=", "account.move")], limit=1 ) self.field_id = self.env["ir.model.fields"].search( [("name", "=", "approver_id")], limit=1 @@ -61,11 +61,13 @@ def test_field_validation_approver(self): "review_type": "field", "reviewer_field_id": self.field_id.id, "definition_type": "domain", - "definition_domain": "[('type', '=', 'in_invoice')]", + "definition_domain": "[('move_type', '=', 'in_invoice')]", } ) record = self.vendor_bill - record.write({"approver_id": self.test_approver.id}) + record.write( + {"approver_id": self.test_approver.id, "invoice_date": record.date} + ) record.with_user(self.test_user_1.id).request_validation() record.invalidate_cache() record.with_user(self.test_user_1.id).validate_tier() diff --git a/account_move_tier_validation_approver/views/account_move_views.xml b/account_move_tier_validation_approver/views/account_move_views.xml index 9889b21f..bc119a6e 100644 --- a/account_move_tier_validation_approver/views/account_move_views.xml +++ b/account_move_tier_validation_approver/views/account_move_views.xml @@ -1,6 +1,6 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> account.move.form @@ -10,7 +10,7 @@ diff --git a/account_move_tier_validation_approver/views/res_partner_views.xml b/account_move_tier_validation_approver/views/res_partner_views.xml index 12cdc20b..1d3e94a0 100644 --- a/account_move_tier_validation_approver/views/res_partner_views.xml +++ b/account_move_tier_validation_approver/views/res_partner_views.xml @@ -1,6 +1,6 @@ - + From 5d8b0619cb89ff4cf8402145cb9d2e66ec9650d5 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 30 May 2023 16:13:23 +0000 Subject: [PATCH 12/22] [UPD] Update account_move_tier_validation_approver.pot --- .../account_move_tier_validation_approver.pot | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot index c51cf34b..230d2c4d 100644 --- a/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot +++ b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -46,15 +46,39 @@ msgstr "" msgid "Contact" msgstr "" +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__display_name +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__display_name +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__id +msgid "ID" +msgstr "" + #. module: account_move_tier_validation_approver #: code:addons/account_move_tier_validation_approver/models/account_move.py:0 #, python-format -msgid "It is mandatory to indicate a Responsible for Approval" +msgid "It is mandatory to indicate a Responsible for Approval (in {})" msgstr "" #. module: account_move_tier_validation_approver #: model:ir.model,name:account_move_tier_validation_approver.model_account_move -msgid "Journal Entries" +msgid "Journal Entry" +msgstr "" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move____last_update +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company____last_update +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner____last_update +msgid "Last Modified on" msgstr "" #. module: account_move_tier_validation_approver @@ -78,6 +102,8 @@ msgid "Requires adding an approver before a vendor bill can be posted." msgstr "" #. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_bank_statement_line__approver_id #: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_payment__approver_id msgid "Responsible for Approval" msgstr "" From a271327996f92f5d552fd0d83a3e938d1086c585 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 30 May 2023 16:25:28 +0000 Subject: [PATCH 13/22] [UPD] README.rst --- account_move_tier_validation_approver/README.rst | 10 +++++----- .../static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 2f5ff7d8..f1060a0e 100644 --- a/account_move_tier_validation_approver/README.rst +++ b/account_move_tier_validation_approver/README.rst @@ -14,13 +14,13 @@ Account Move Tier Validation Approver :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github - :target: https://github.com/OCA/account-invoicing/tree/13.0/account_move_tier_validation_approver + :target: https://github.com/OCA/account-invoicing/tree/14.0/account_move_tier_validation_approver :alt: OCA/account-invoicing .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/account-invoicing-13-0/account-invoicing-13-0-account_move_tier_validation_approver + :target: https://translation.odoo-community.org/projects/account-invoicing-14-0/account-invoicing-14-0-account_move_tier_validation_approver :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/95/13.0 + :target: https://runbot.odoo-community.org/runbot/95/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -67,7 +67,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -98,6 +98,6 @@ 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/account-invoicing `_ project on GitHub. +This module is part of the `OCA/account-invoicing `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 82c6755f..bccb16b4 100644 --- a/account_move_tier_validation_approver/static/description/index.html +++ b/account_move_tier_validation_approver/static/description/index.html @@ -367,7 +367,7 @@

Account Move Tier Validation Approver

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured with the “Responsible for Approval” field, the approver will be the one chosen in the partner form.

Table of contents

@@ -412,7 +412,7 @@

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.

+feedback.

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

@@ -437,7 +437,7 @@

Maintainers

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/account-invoicing project on GitHub.

+

This module is part of the OCA/account-invoicing project on GitHub.

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

From b8c5a76185aa3b9753f8321572b9858922dacb58 Mon Sep 17 00:00:00 2001 From: bosd Date: Thu, 22 Jun 2023 17:20:07 +0200 Subject: [PATCH 14/22] [MIG] account_move_tier_validation_approver: Migration to 15.0 --- .../__manifest__.py | 2 +- .../views/res_partner_views.xml | 28 +++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 0fffb4b3..1379f936 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Account Move Tier Validation Approver", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Accounting", "license": "AGPL-3", diff --git a/account_move_tier_validation_approver/views/res_partner_views.xml b/account_move_tier_validation_approver/views/res_partner_views.xml index 1d3e94a0..8ab4af16 100644 --- a/account_move_tier_validation_approver/views/res_partner_views.xml +++ b/account_move_tier_validation_approver/views/res_partner_views.xml @@ -2,19 +2,17 @@ - - - res.partner.move_approve.user - res.partner - - - - - - - - + + res.partner.move_approve.user + res.partner + + + + + + + From 2673d325e0ce54e2603094fdfd7038d22c8cc7bb Mon Sep 17 00:00:00 2001 From: Kevin Khao Date: Sat, 2 Nov 2024 16:01:22 +0200 Subject: [PATCH 15/22] [IMP] pre-commit auto fixes --- .../README.rst | 68 +++++++++------- .../pyproject.toml | 3 + .../readme/CONFIGURE.md | 10 +++ .../readme/CONFIGURE.rst | 8 -- .../readme/CONTRIBUTORS.md | 2 + .../readme/CONTRIBUTORS.rst | 2 - .../readme/DESCRIPTION.md | 4 + .../readme/DESCRIPTION.rst | 2 - .../readme/USAGE.md | 12 +++ .../readme/USAGE.rst | 12 --- .../static/description/index.html | 81 ++++++++++--------- 11 files changed, 112 insertions(+), 92 deletions(-) create mode 100644 account_move_tier_validation_approver/pyproject.toml create mode 100644 account_move_tier_validation_approver/readme/CONFIGURE.md delete mode 100644 account_move_tier_validation_approver/readme/CONFIGURE.rst create mode 100644 account_move_tier_validation_approver/readme/CONTRIBUTORS.md delete mode 100644 account_move_tier_validation_approver/readme/CONTRIBUTORS.rst create mode 100644 account_move_tier_validation_approver/readme/DESCRIPTION.md delete mode 100644 account_move_tier_validation_approver/readme/DESCRIPTION.rst create mode 100644 account_move_tier_validation_approver/readme/USAGE.md delete mode 100644 account_move_tier_validation_approver/readme/USAGE.rst diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index f1060a0e..b640ea40 100644 --- a/account_move_tier_validation_approver/README.rst +++ b/account_move_tier_validation_approver/README.rst @@ -2,10 +2,13 @@ Account Move Tier Validation Approver ===================================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:6417488b101536a3a97ee3b8daccdb426f184aedf9d884f364f29e6952a0278c + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,19 +17,21 @@ Account Move Tier Validation Approver :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github - :target: https://github.com/OCA/account-invoicing/tree/14.0/account_move_tier_validation_approver + :target: https://github.com/OCA/account-invoicing/tree/18.0/account_move_tier_validation_approver :alt: OCA/account-invoicing .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/account-invoicing-14-0/account-invoicing-14-0-account_move_tier_validation_approver + :target: https://translation.odoo-community.org/projects/account-invoicing-18-0/account-invoicing-18-0-account_move_tier_validation_approver :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/95/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=18.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| -This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured -with the "Responsible for Approval" field, the approver will be the one chosen in the partner form. +This module allows to select a Responsible for approval in the partner +form. If a tier definition is set and configured with the "Responsible +for Approval" field, the approver will be the one chosen in the partner +form. **Table of contents** @@ -38,36 +43,37 @@ Configuration To configure this module, you need to: -#. Go to *Settings > Technical > Tier Validations > Tier Definition*. -#. Create a new tier or edit an existing one. -#. Set the "Validated by" field to "Field in related record". -#. Set the "Reviewer field" to "Responsible for Approval". +1. Go to *Settings > Technical > Tier Validations > Tier Definition*. +2. Create a new tier or edit an existing one. +3. Set the "Validated by" field to "Field in related record". +4. Set the "Reviewer field" to "Responsible for Approval". -A default tier validation called "Validation with Approver field" is set with this configuration. +A default tier validation called "Validation with Approver field" is set +with this configuration. Usage ===== -You can assign a default user for approval associated to a supplier. In the -partner form view, go to the *Sales and Purchase* tab, and into the *Purchase* -section, and fill the field *Approver of Vendor Bills*. +You can assign a default user for approval associated to a supplier. In +the partner form view, go to the *Sales and Purchase* tab, and into the +*Purchase* section, and fill the field *Approver of Vendor Bills*. -When you create a vendor bill the field *Responsible for Approval* will be -filled in with the partner's default. You can change it if needed. +When you create a vendor bill the field *Responsible for Approval* will +be filled in with the partner's default. You can change it if needed. -Be aware that you won't be able to post a vendor bill unless you have indicated -a Responsible for Approval. +Be aware that you won't be able to post a vendor bill unless you have +indicated a Responsible for Approval. -Used in connection with the module *Account Move Tier Validation* you can set -up approvals specific to a department. +Used in connection with the module *Account Move Tier Validation* you +can set up approvals specific to a department. 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 `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -75,18 +81,18 @@ Credits ======= Authors -~~~~~~~ +------- * ForgeFlow Contributors -~~~~~~~~~~~~ +------------ -* Lois Rilo -* Adrià Gil Sorribes +- Lois Rilo +- Adrià Gil Sorribes Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -98,6 +104,6 @@ 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/account-invoicing `_ project on GitHub. +This module is part of the `OCA/account-invoicing `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_move_tier_validation_approver/pyproject.toml b/account_move_tier_validation_approver/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/account_move_tier_validation_approver/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_move_tier_validation_approver/readme/CONFIGURE.md b/account_move_tier_validation_approver/readme/CONFIGURE.md new file mode 100644 index 00000000..565bf10f --- /dev/null +++ b/account_move_tier_validation_approver/readme/CONFIGURE.md @@ -0,0 +1,10 @@ +To configure this module, you need to: + +1. Go to *Settings \> Technical \> Tier Validations \> Tier + Definition*. +2. Create a new tier or edit an existing one. +3. Set the "Validated by" field to "Field in related record". +4. Set the "Reviewer field" to "Responsible for Approval". + +A default tier validation called "Validation with Approver field" is set +with this configuration. diff --git a/account_move_tier_validation_approver/readme/CONFIGURE.rst b/account_move_tier_validation_approver/readme/CONFIGURE.rst deleted file mode 100644 index 4fdbf736..00000000 --- a/account_move_tier_validation_approver/readme/CONFIGURE.rst +++ /dev/null @@ -1,8 +0,0 @@ -To configure this module, you need to: - -#. Go to *Settings > Technical > Tier Validations > Tier Definition*. -#. Create a new tier or edit an existing one. -#. Set the "Validated by" field to "Field in related record". -#. Set the "Reviewer field" to "Responsible for Approval". - -A default tier validation called "Validation with Approver field" is set with this configuration. diff --git a/account_move_tier_validation_approver/readme/CONTRIBUTORS.md b/account_move_tier_validation_approver/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..690846b7 --- /dev/null +++ b/account_move_tier_validation_approver/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Lois Rilo \<\> +- Adrià Gil Sorribes \<\> diff --git a/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst b/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst deleted file mode 100644 index c32689f4..00000000 --- a/account_move_tier_validation_approver/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Lois Rilo -* Adrià Gil Sorribes diff --git a/account_move_tier_validation_approver/readme/DESCRIPTION.md b/account_move_tier_validation_approver/readme/DESCRIPTION.md new file mode 100644 index 00000000..088cf8d5 --- /dev/null +++ b/account_move_tier_validation_approver/readme/DESCRIPTION.md @@ -0,0 +1,4 @@ +This module allows to select a Responsible for approval in the partner +form. If a tier definition is set and configured with the "Responsible +for Approval" field, the approver will be the one chosen in the partner +form. diff --git a/account_move_tier_validation_approver/readme/DESCRIPTION.rst b/account_move_tier_validation_approver/readme/DESCRIPTION.rst deleted file mode 100644 index 1bbcddab..00000000 --- a/account_move_tier_validation_approver/readme/DESCRIPTION.rst +++ /dev/null @@ -1,2 +0,0 @@ -This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured -with the "Responsible for Approval" field, the approver will be the one chosen in the partner form. diff --git a/account_move_tier_validation_approver/readme/USAGE.md b/account_move_tier_validation_approver/readme/USAGE.md new file mode 100644 index 00000000..0d7b786e --- /dev/null +++ b/account_move_tier_validation_approver/readme/USAGE.md @@ -0,0 +1,12 @@ +You can assign a default user for approval associated to a supplier. In +the partner form view, go to the *Sales and Purchase* tab, and into the +*Purchase* section, and fill the field *Approver of Vendor Bills*. + +When you create a vendor bill the field *Responsible for Approval* will +be filled in with the partner's default. You can change it if needed. + +Be aware that you won't be able to post a vendor bill unless you have +indicated a Responsible for Approval. + +Used in connection with the module *Account Move Tier Validation* you +can set up approvals specific to a department. diff --git a/account_move_tier_validation_approver/readme/USAGE.rst b/account_move_tier_validation_approver/readme/USAGE.rst deleted file mode 100644 index 9fa3340d..00000000 --- a/account_move_tier_validation_approver/readme/USAGE.rst +++ /dev/null @@ -1,12 +0,0 @@ -You can assign a default user for approval associated to a supplier. In the -partner form view, go to the *Sales and Purchase* tab, and into the *Purchase* -section, and fill the field *Approver of Vendor Bills*. - -When you create a vendor bill the field *Responsible for Approval* will be -filled in with the partner's default. You can change it if needed. - -Be aware that you won't be able to post a vendor bill unless you have indicated -a Responsible for Approval. - -Used in connection with the module *Account Move Tier Validation* you can set -up approvals specific to a department. diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index bccb16b4..b3527432 100644 --- a/account_move_tier_validation_approver/static/description/index.html +++ b/account_move_tier_validation_approver/static/description/index.html @@ -1,20 +1,20 @@ - - + Account Move Tier Validation Approver -
-

Account Move Tier Validation Approver

+
+ + +Odoo Community Association + +
+

Account Move Tier Validation Approver

-

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runboat

This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured with the “Responsible for Approval” field, the approver will be the one chosen in the partner @@ -389,7 +394,7 @@

Account Move Tier Validation Approver

-

Configuration

+

Configuration

To configure this module, you need to:

  1. Go to Settings > Technical > Tier Validations > Tier Definition.
  2. @@ -401,7 +406,7 @@

    Configuration

    with this configuration.

-

Usage

+

Usage

You can assign a default user for approval associated to a supplier. In the partner form view, go to the Sales and Purchase tab, and into the Purchase section, and fill the field Approver of Vendor Bills.

@@ -413,7 +418,7 @@

Usage

can set up approvals specific to a department.

-

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 to smash it by providing a detailed and welcomed @@ -421,15 +426,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ForgeFlow
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -453,5 +458,6 @@

Maintainers

+
From e7d0254d3c0f5e57b0386797b746ba1080466335 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 9 Oct 2025 06:46:38 +0000 Subject: [PATCH 20/22] Added translation using Weblate (Italian) --- .../i18n/es.po | 92 +++++++++++++++++++ .../i18n/it.po | 86 +++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 account_move_tier_validation_approver/i18n/es.po create mode 100644 account_move_tier_validation_approver/i18n/it.po diff --git a/account_move_tier_validation_approver/i18n/es.po b/account_move_tier_validation_approver/i18n/es.po new file mode 100644 index 00000000..17c96cbb --- /dev/null +++ b/account_move_tier_validation_approver/i18n/es.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_move_tier_validation_approver +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2026-05-24 20:46+0000\n" +"Last-Translator: Ed-Spain \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_users__approver_id +msgid "Approver of Vendor Bills" +msgstr "Aprobador de las facturas de compra" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__validation_approver_tier_definition_id +msgid "Bill approval tier definition" +msgstr "Definición del nivel de aprobación de facturas" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_company +msgid "Companies" +msgstr "Compañias" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_config_settings +msgid "Config Settings" +msgstr "Configurar Ajustes" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: account_move_tier_validation_approver +#. odoo-python +#: code:addons/account_move_tier_validation_approver/models/account_move.py:0 +#, fuzzy +msgid "It is mandatory to indicate a Responsible for Approval (in {})" +msgstr "Es obligatorio indicar un Responsable de Aprobación (en {})" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_account_move +#, fuzzy +msgid "Journal Entry" +msgstr "Apunte Contable" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +#, fuzzy +msgid "Require Approver In Vendor Bills" +msgstr "Requerir Aprobación en Facturas de Vendedores" + +#. module: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "" +"Require approver before posting vendor bills. Values set here are company-" +"specific." +msgstr "" +"Requiere aprobador antes de publicar facturas de proveedor. Los valores " +"establecidos aquí son específicos de la empresa." + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__require_approver_in_vendor_bills +#, fuzzy +msgid "Require approver in vendor bills" +msgstr "Exigir el visto bueno en las facturas de vendedores" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,help:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +#, fuzzy +msgid "Requires adding an approver before a vendor bill can be posted." +msgstr "" +"Requiere añadir un autorizador antes de poder contabilizar una factura de " +"vendedor." + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_bank_statement_line__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__approver_id +#, fuzzy +msgid "Responsible for Approval" +msgstr "Responsable de la Aprobación" diff --git a/account_move_tier_validation_approver/i18n/it.po b/account_move_tier_validation_approver/i18n/it.po new file mode 100644 index 00000000..ec251c88 --- /dev/null +++ b/account_move_tier_validation_approver/i18n/it.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_move_tier_validation_approver +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-10-09 09:43+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_partner__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_users__approver_id +msgid "Approver of Vendor Bills" +msgstr "Approvatore delle fatture fornitore" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__validation_approver_tier_definition_id +msgid "Bill approval tier definition" +msgstr "Definizione livello approvazione fattura" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: account_move_tier_validation_approver +#. odoo-python +#: code:addons/account_move_tier_validation_approver/models/account_move.py:0 +msgid "It is mandatory to indicate a Responsible for Approval (in {})" +msgstr "È obbligatorio indicare un responsabile per approvazione (in {})" + +#. module: account_move_tier_validation_approver +#: model:ir.model,name:account_move_tier_validation_approver.model_account_move +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Require Approver In Vendor Bills" +msgstr "Richiedere approvatore nelle fatture fornitore" + +#. module: account_move_tier_validation_approver +#: model_terms:ir.ui.view,arch_db:account_move_tier_validation_approver.res_config_settings_view_form +msgid "" +"Require approver before posting vendor bills. Values set here are company-" +"specific." +msgstr "" +"Richiedere approvatore prima di inviare le fatture fornitore. I valori " +"impostati qui sono specifici per azienda." + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_res_company__require_approver_in_vendor_bills +msgid "Require approver in vendor bills" +msgstr "Richiedere approvatore nelle fatture fornitore" + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,help:account_move_tier_validation_approver.field_res_config_settings__require_approver_in_vendor_bills +msgid "Requires adding an approver before a vendor bill can be posted." +msgstr "" +"Richiede l'aggiunta di un approvatore prima che una fattura fornitore sia " +"inviata." + +#. module: account_move_tier_validation_approver +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_bank_statement_line__approver_id +#: model:ir.model.fields,field_description:account_move_tier_validation_approver.field_account_move__approver_id +msgid "Responsible for Approval" +msgstr "Responsabile dell'approvazione" From e94570a70582a7957323e5e2b686d216c29f8a03 Mon Sep 17 00:00:00 2001 From: Liam Wynne Date: Tue, 2 Jun 2026 13:42:14 +0200 Subject: [PATCH 21/22] [IMP] account_move_tier_validation_approver: pre-commit stuff --- .../README.rst | 24 +++++++++---------- .../__manifest__.py | 2 +- .../static/description/index.html | 8 +++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 610d1057..235cc474 100644 --- a/account_move_tier_validation_approver/README.rst +++ b/account_move_tier_validation_approver/README.rst @@ -20,14 +20,14 @@ Account Move Tier Validation Approver .. |badge2| image:: https://img.shields.io/badge/license-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%2Faccount--invoicing-lightgray.png?logo=github - :target: https://github.com/OCA/account-invoicing/tree/18.0/account_move_tier_validation_approver - :alt: OCA/account-invoicing +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ftier--validation-lightgray.png?logo=github + :target: https://github.com/OCA/tier-validation/tree/19.0/account_move_tier_validation_approver + :alt: OCA/tier-validation .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/account-invoicing-18-0/account-invoicing-18-0-account_move_tier_validation_approver + :target: https://translation.odoo-community.org/projects/tier-validation-19-0/tier-validation-19-0-account_move_tier_validation_approver :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/tier-validation&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -74,10 +74,10 @@ can set up approvals specific to a department. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -92,11 +92,11 @@ Authors Contributors ------------ -- Lois Rilo -- Adrià Gil Sorribes -- [360ERP](https://www.360erp.com): +- Lois Rilo +- Adrià Gil Sorribes +- [360ERP](https://www.360erp.com): - - Kevin Khao <> + - Kevin Khao <> Maintainers ----------- @@ -111,6 +111,6 @@ 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/account-invoicing `_ project on GitHub. +This module is part of the `OCA/tier-validation `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index e89ba3b7..e89fd834 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -7,7 +7,7 @@ "category": "Accounting", "license": "AGPL-3", "depends": ["account_move_tier_validation"], - "website": "https://github.com/OCA/account-invoicing", + "website": "https://github.com/OCA/tier-validation", "data": [ "views/account_move_views.xml", "views/res_partner_views.xml", diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 8eccafc5..5cada76a 100644 --- a/account_move_tier_validation_approver/static/description/index.html +++ b/account_move_tier_validation_approver/static/description/index.html @@ -374,7 +374,7 @@

Account Move Tier Validation Approver

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:917e4502e41192a07f7f1bf0f2c274a64b3ac27f0bb4c4511b66ca5c53a0e857 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/tier-validation Translate me on Weblate Try me on Runboat

This module allows to select a Responsible for approval in the partner form. If a tier definition is set and configured with the “Responsible for Approval” field, the approver will be the one chosen in the partner @@ -419,10 +419,10 @@

Usage

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

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 to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -453,7 +453,7 @@

Maintainers

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/account-invoicing project on GitHub.

+

This module is part of the OCA/tier-validation project on GitHub.

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

From ad974f4f662a5495e1e76494174a867d24400987 Mon Sep 17 00:00:00 2001 From: Liam Wynne Date: Tue, 2 Jun 2026 14:23:09 +0200 Subject: [PATCH 22/22] [MIG] account_move_tier_validation_approver: Migration to 19.0 --- .../__manifest__.py | 2 +- .../models/account_move.py | 13 ++++- ...t_account_move_tier_validation_approver.py | 56 ++++++++++--------- 3 files changed, 42 insertions(+), 29 deletions(-) diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index e89fd834..91e99c7b 100644 --- a/account_move_tier_validation_approver/__manifest__.py +++ b/account_move_tier_validation_approver/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Account Move Tier Validation Approver", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "author": "ForgeFlow, Odoo Community Association (OCA)", "category": "Accounting", "license": "AGPL-3", diff --git a/account_move_tier_validation_approver/models/account_move.py b/account_move_tier_validation_approver/models/account_move.py index dd9ec751..164e2ef8 100644 --- a/account_move_tier_validation_approver/models/account_move.py +++ b/account_move_tier_validation_approver/models/account_move.py @@ -27,6 +27,13 @@ def _compute_approver_id(self): else: rec.approver_id = False + def _get_under_validation_exceptions(self): + # `made_sequence_gap` is a technical field that account.move recomputes + # as a side effect (date -> highest_name -> name -> _update_sequence_made_gap). + # In v19 this recompute can be flushed while the move is under validation, + # so it must be allowed to avoid blocking unrelated technical writes. + return super()._get_under_validation_exceptions() + ["made_sequence_gap"] + def _post(self, soft=True): for move in self: require_approver_in_vendor_bills = ( @@ -39,7 +46,9 @@ def _post(self, soft=True): ): raise UserError( self.env._( - "It is mandatory to indicate a Responsible for Approval (in {})" - ).format(move.name) + "It is mandatory to indicate a Responsible for" + " Approval (in %s)", + move.name, + ) ) return super()._post(soft) diff --git a/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py index 1c5220a9..11a660bb 100644 --- a/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py +++ b/account_move_tier_validation_approver/tests/test_account_move_tier_validation_approver.py @@ -1,43 +1,47 @@ # Copyright 2021 ForgeFlow (http://www.forgeflow.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import Command from odoo.exceptions import ValidationError -from odoo.tests.common import TransactionCase +from odoo.tests.common import new_test_user, tagged -from odoo.addons.base.tests.common import DISABLED_MAIL_CONTEXT +from odoo.addons.base.tests.common import BaseCommon -class TestAccountMoveTierValidationApprover(TransactionCase): - def setUp(self): - super().setUp() - self.env = self.env(context=dict(self.env.context, **DISABLED_MAIL_CONTEXT)) - self.res_partner_1 = self.env["res.partner"].create( +@tagged("post_install", "-at_install") +class TestAccountMoveTierValidationApprover(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.res_partner_1 = cls.env["res.partner"].create( {"name": "Wood Corner", "email": "example@yourcompany.com"} ) - self.product_1 = self.env["product.product"].create( - {"name": "Desk Combination"} + cls.product_1 = cls.env["product.product"].create({"name": "Desk Combination"}) + cls.currency_usd = cls.env["res.currency"].search([("name", "=", "USD")]) + cls.test_user_1 = new_test_user( + cls.env, + login="test1", + email="example@yourcompany.com", + groups="base.group_system,account.group_account_manager", ) - self.currency_usd = self.env["res.currency"].search([("name", "=", "USD")]) - self.test_user_1 = self.env["res.users"].create( - {"name": "User", "login": "test1", "email": "example@yourcompany.com"} + cls.test_approver = new_test_user( + cls.env, + login="test2", + email="example@yourcompany.com", + groups="base.group_system,account.group_account_manager", ) - self.test_approver = self.env["res.users"].create( - {"name": "Approver", "login": "test2", "email": "example@yourcompany.com"} - ) - self.vendor_bill = self.env["account.move"].create( + cls.vendor_bill = cls.env["account.move"].create( [ { "move_type": "in_invoice", - "partner_id": self.res_partner_1.id, - "currency_id": self.currency_usd.id, - "approver_id": self.test_approver.id, + "partner_id": cls.res_partner_1.id, + "currency_id": cls.currency_usd.id, + "approver_id": cls.test_approver.id, "invoice_line_ids": [ - ( - 0, - None, + Command.create( { - "product_id": self.product_1.id, - "product_uom_id": self.product_1.uom_id.id, + "product_id": cls.product_1.id, + "product_uom_id": cls.product_1.uom_id.id, "quantity": 12, "price_unit": 1000, }, @@ -46,10 +50,10 @@ def setUp(self): } ] ) - self.model_id = self.env["ir.model"].search( + cls.model_id = cls.env["ir.model"].search( [("model", "=", "account.move")], limit=1 ) - self.field_id = self.env["ir.model.fields"].search( + cls.field_id = cls.env["ir.model.fields"].search( [("name", "=", "approver_id")], limit=1 )