From 916fb73ed5a5b2b62f54481340484ab0a559cec8 Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Tue, 20 Jul 2021 12:31:17 +0200 Subject: [PATCH 01/18] [ADD] account_move_tier_validation_approver --- .../README.rst | 103 ++++ .../__init__.py | 1 + .../__manifest__.py | 16 + .../account_move_tier_validation_approver.pot | 83 ++++ .../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 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 446 ++++++++++++++++++ .../views/account_move_views.xml | 28 ++ .../views/res_config_settings_views.xml | 31 ++ .../views/res_partner_views.xml | 20 + 18 files changed, 853 insertions(+) create mode 100644 account_move_tier_validation_approver/README.rst 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/i18n/account_move_tier_validation_approver.pot 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/static/description/icon.png create mode 100644 account_move_tier_validation_approver/static/description/index.html 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/README.rst b/account_move_tier_validation_approver/README.rst new file mode 100644 index 000000000..5b2bec159 --- /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/__init__.py b/account_move_tier_validation_approver/__init__.py new file mode 100644 index 000000000..0650744f6 --- /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 000000000..4add0d842 --- /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/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 000000000..c51cf34b4 --- /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 "" 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 000000000..516c5ccbd --- /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 000000000..8be9e7eac --- /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 000000000..a1452d089 --- /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 000000000..9ffe662f9 --- /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 000000000..93d37620c --- /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 000000000..4fdbf7360 --- /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 000000000..c32689f4f --- /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 000000000..1bbcddab2 --- /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 000000000..9fa3340d9 --- /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/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 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 000000000..9ae3e7f50 --- /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.

+
+
+
+ + 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 000000000..9889b21f3 --- /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 000000000..3dff01b7b --- /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 000000000..12cdc20bc --- /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 861e9b1dc40ad27d4073d3dbb84411f6917132d6 Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Mon, 13 Sep 2021 16:45:44 +0200 Subject: [PATCH 02/18] [13.0][IMP] account_move_tier_validation_approver: add tests --- .../__manifest__.py | 2 +- .../tests/__init__.py | 3 + ...t_account_move_tier_validation_approver.py | 75 +++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) 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/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 4add0d842..b4539e95d 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", 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 000000000..f67f72059 --- /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 000000000..0a1845a2c --- /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 03a70ee6f7e97ee98e5353e890b01579d3ad8025 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 03/18] 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 000000000..9f81ac042 --- /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 c63353150d402325615f5fe60b9b4da00ad52d3e Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Wed, 6 Apr 2022 11:16:24 +0200 Subject: [PATCH 04/18] [FIX] account_move_tier_validation_approver: From LGPL to AGPL --- account_move_tier_validation_approver/README.rst | 6 +++--- account_move_tier_validation_approver/__manifest__.py | 4 ++-- .../static/description/index.html | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 5b2bec159..2f5ff7d8f 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/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index b4539e95d..19d26f0ad 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", diff --git a/account_move_tier_validation_approver/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 9ae3e7f50..82c6755f0 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 68df45df320a02f367ce12e5a75811ac90fa8c3f Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Tue, 27 Dec 2022 11:55:46 +0100 Subject: [PATCH 05/18] [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 19d26f0ad..7c4696c06 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 3638604cb7cd37692b04673f58c3ecb44d52e284 Mon Sep 17 00:00:00 2001 From: Mateu Griful Date: Fri, 20 Aug 2021 12:37:55 +0200 Subject: [PATCH 06/18] [14.0][MIG] account_move_tier_validation_approver --- .../README.rst | 10 +++--- .../__manifest__.py | 4 +-- .../account_move_tier_validation_approver.pot | 32 +++++++++++++++++-- .../models/account_move.py | 10 +++--- .../models/res_company.py | 2 +- .../models/res_config_settings.py | 4 +-- .../models/res_partner.py | 2 +- .../static/description/index.html | 6 ++-- .../tests/__init__.py | 2 +- ...t_account_move_tier_validation_approver.py | 12 ++++--- .../views/account_move_views.xml | 4 +-- .../views/res_partner_views.xml | 2 +- 12 files changed, 60 insertions(+), 30 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 2f5ff7d8f..f1060a0e0 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/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index 7c4696c06..0fffb4b34 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/i18n/account_move_tier_validation_approver.pot b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot index c51cf34b4..230d2c4d0 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 "" diff --git a/account_move_tier_validation_approver/models/account_move.py b/account_move_tier_validation_approver/models/account_move.py index 8be9e7eac..5c09bd2ee 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 a1452d089..d905721d1 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 9ffe662f9..1addb1999 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 93d37620c..e8df37e6a 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/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 82c6755f0..bccb16b49 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.

diff --git a/account_move_tier_validation_approver/tests/__init__.py b/account_move_tier_validation_approver/tests/__init__.py index f67f72059..2de1f82ab 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 0a1845a2c..c1b3efae0 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 9889b21f3..bc119a6ed 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 12cdc20bc..1d3e94a07 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 991ad3bb5d1d949cbce633f78868f67c207d94a4 Mon Sep 17 00:00:00 2001 From: bosd Date: Thu, 22 Jun 2023 17:20:07 +0200 Subject: [PATCH 07/18] [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 0fffb4b34..1379f9367 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 1d3e94a07..8ab4af16c 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 c1fd144b9f811ba76fcc9e1c751ab6ce1db28338 Mon Sep 17 00:00:00 2001 From: Kevin Khao Date: Sat, 2 Nov 2024 16:01:22 +0200 Subject: [PATCH 08/18] [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 f1060a0e0..b640ea408 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 000000000..4231d0ccc --- /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 000000000..565bf10fb --- /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 4fdbf7360..000000000 --- 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 000000000..690846b7a --- /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 c32689f4f..000000000 --- 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 000000000..088cf8d5a --- /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 1bbcddab2..000000000 --- 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 000000000..0d7b786e2 --- /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 9fa3340d9..000000000 --- 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 bccb16b49..b3527432a 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 d309dc3e839efbbaf7e7f4420418a7e38c418dd8 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 9 Oct 2025 06:46:38 +0000 Subject: [PATCH 11/18] 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 000000000..17c96cbb8 --- /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 000000000..ec251c88c --- /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 628613c9fd43935cfcd2ae4e41841d1debf0a8db Mon Sep 17 00:00:00 2001 From: Liam Wynne Date: Tue, 2 Jun 2026 13:42:14 +0200 Subject: [PATCH 12/18] [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 610d10579..235cc474f 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 e89ba3b77..e89fd834b 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 8eccafc58..5cada76ae 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 b79eff147261e5fc4c0e6403ed65cfd0a4eba26f Mon Sep 17 00:00:00 2001 From: Liam Wynne Date: Tue, 2 Jun 2026 14:23:09 +0200 Subject: [PATCH 13/18] [MIG] account_move_tier_validation_approver: Migration to 19.0 --- .../README.rst | 10 +- .../__manifest__.py | 2 +- .../account_move_tier_validation_approver.pot | 20 ++- .../models/account_move.py | 13 +- .../static/description/index.html | 4 +- ...t_account_move_tier_validation_approver.py | 134 ++++++++++++++---- .../views/account_move_views.xml | 1 + .../views/res_partner_views.xml | 2 +- 8 files changed, 144 insertions(+), 42 deletions(-) diff --git a/account_move_tier_validation_approver/README.rst b/account_move_tier_validation_approver/README.rst index 235cc474f..14f1cb298 100644 --- a/account_move_tier_validation_approver/README.rst +++ b/account_move_tier_validation_approver/README.rst @@ -11,7 +11,7 @@ Account Move Tier Validation Approver !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:917e4502e41192a07f7f1bf0f2c274a64b3ac27f0bb4c4511b66ca5c53a0e857 + !! source digest: sha256:001fe662c365566d24fd7b23f5a859df17c364664e1fd8691c45b547383ff45c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -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 ----------- diff --git a/account_move_tier_validation_approver/__manifest__.py b/account_move_tier_validation_approver/__manifest__.py index e89fd834b..91e99c7b5 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/i18n/account_move_tier_validation_approver.pot b/account_move_tier_validation_approver/i18n/account_move_tier_validation_approver.pot index 044c5afbd..462b9de4c 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 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -39,10 +39,26 @@ 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 #. 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 {})" +msgid "It is mandatory to indicate a Responsible for Approval (in %s)" msgstr "" #. module: account_move_tier_validation_approver diff --git a/account_move_tier_validation_approver/models/account_move.py b/account_move_tier_validation_approver/models/account_move.py index dd9ec7512..164e2ef87 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/static/description/index.html b/account_move_tier_validation_approver/static/description/index.html index 5cada76ae..215b575a9 100644 --- a/account_move_tier_validation_approver/static/description/index.html +++ b/account_move_tier_validation_approver/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Account Move Tier Validation Approver