From eab77c377debec8f8487f01d037a867a62670f24 Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Mon, 2 Oct 2023 16:46:22 +0200 Subject: [PATCH 01/10] [ADD] account_journal_restrict_mode --- account_journal_restrict_mode/README.rst | 88 ++++ account_journal_restrict_mode/__init__.py | 4 + account_journal_restrict_mode/__manifest__.py | 18 + account_journal_restrict_mode/hooks.py | 13 + .../models/__init__.py | 3 + .../models/account_journal.py | 19 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 5 + .../readme/ROADMAP.rst | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 433 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_account_journal_restrict_mode.py | 20 + 13 files changed, 611 insertions(+) create mode 100644 account_journal_restrict_mode/README.rst create mode 100644 account_journal_restrict_mode/__init__.py create mode 100644 account_journal_restrict_mode/__manifest__.py create mode 100644 account_journal_restrict_mode/hooks.py create mode 100644 account_journal_restrict_mode/models/__init__.py create mode 100644 account_journal_restrict_mode/models/account_journal.py create mode 100644 account_journal_restrict_mode/readme/CONTRIBUTORS.rst create mode 100644 account_journal_restrict_mode/readme/DESCRIPTION.rst create mode 100644 account_journal_restrict_mode/readme/ROADMAP.rst create mode 100644 account_journal_restrict_mode/static/description/icon.png create mode 100644 account_journal_restrict_mode/static/description/index.html create mode 100644 account_journal_restrict_mode/tests/__init__.py create mode 100644 account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py diff --git a/account_journal_restrict_mode/README.rst b/account_journal_restrict_mode/README.rst new file mode 100644 index 000000000..3cd3f15ad --- /dev/null +++ b/account_journal_restrict_mode/README.rst @@ -0,0 +1,88 @@ +============================= +Account Journal Restrict Mode +============================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:b7345b32df60a41001389fcd7bf25c52e026a6fed2d88655f95f6ee12ca3d960 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--financial--tools-lightgray.png?logo=github + :target: https://github.com/OCA/account-financial-tools/tree/16.0/account_journal_restrict_mode + :alt: OCA/account-financial-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_journal_restrict_mode + :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-financial-tools&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module enables by default the setting *Lock Posted Entries with Hash* in +all Journals and prevents the setting to be modified. + +The goal is to assure that all journal entries are locked when posted to prevent +them to be modified. + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +* Odoo hides the setting *Lock Posted Entries with Hash* on Bank and Cash + Journals, but enabling it does not cause issues in the reconciliation for now. + If the Odoo logic changes at any point, the module may need to be adapted to + only force the setting on other types of journals. + +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 +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow S.L. + +Contributors +~~~~~~~~~~~~ + +* Jordi Masvidal + +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-financial-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_journal_restrict_mode/__init__.py b/account_journal_restrict_mode/__init__.py new file mode 100644 index 000000000..e66fb1c2e --- /dev/null +++ b/account_journal_restrict_mode/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models +from .hooks import post_init_hook diff --git a/account_journal_restrict_mode/__manifest__.py b/account_journal_restrict_mode/__manifest__.py new file mode 100644 index 000000000..01721a515 --- /dev/null +++ b/account_journal_restrict_mode/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2023 ForgeFlow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Account Journal Restrict Mode", + "summary": "Lock All Posted Entries of Journals.", + "version": "16.0.1.0.0", + "author": "ForgeFlow S.L., Odoo Community Association (OCA)", + "website": "https://github.com/OCA/account-financial-tools", + "category": "Accounting", + "depends": [ + "account", + ], + "license": "AGPL-3", + "data": [], + "installable": True, + "post_init_hook": "post_init_hook", +} diff --git a/account_journal_restrict_mode/hooks.py b/account_journal_restrict_mode/hooks.py new file mode 100644 index 000000000..31671f928 --- /dev/null +++ b/account_journal_restrict_mode/hooks.py @@ -0,0 +1,13 @@ +# Copyright 2023 ForgeFlow S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import SUPERUSER_ID, api + + +def post_init_hook(cr, registry): + """Enable restrict mode on all journals""" + env = api.Environment(cr, SUPERUSER_ID, {}) + journals_to_update = env["account.journal"].search( + [("restrict_mode_hash_table", "=", False)] + ) + journals_to_update.write({"restrict_mode_hash_table": True}) diff --git a/account_journal_restrict_mode/models/__init__.py b/account_journal_restrict_mode/models/__init__.py new file mode 100644 index 000000000..a8e96f29c --- /dev/null +++ b/account_journal_restrict_mode/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import account_journal diff --git a/account_journal_restrict_mode/models/account_journal.py b/account_journal_restrict_mode/models/account_journal.py new file mode 100644 index 000000000..921ac92b4 --- /dev/null +++ b/account_journal_restrict_mode/models/account_journal.py @@ -0,0 +1,19 @@ +# Copyright 2023 ForgeFlow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + restrict_mode_hash_table = fields.Boolean(default=True) + + @api.constrains("restrict_mode_hash_table") + def _check_journal_restrict_mode(self): + for rec in self: + if not rec.restrict_mode_hash_table: + raise UserError( + _("Journal %s must have Lock Posted Entries enabled.") % rec.name + ) diff --git a/account_journal_restrict_mode/readme/CONTRIBUTORS.rst b/account_journal_restrict_mode/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..e4263e418 --- /dev/null +++ b/account_journal_restrict_mode/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Jordi Masvidal diff --git a/account_journal_restrict_mode/readme/DESCRIPTION.rst b/account_journal_restrict_mode/readme/DESCRIPTION.rst new file mode 100644 index 000000000..1afc6c1b3 --- /dev/null +++ b/account_journal_restrict_mode/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module enables by default the setting *Lock Posted Entries with Hash* in +all Journals and prevents the setting to be modified. + +The goal is to assure that all journal entries are locked when posted to prevent +them to be modified. diff --git a/account_journal_restrict_mode/readme/ROADMAP.rst b/account_journal_restrict_mode/readme/ROADMAP.rst new file mode 100644 index 000000000..c13dd56be --- /dev/null +++ b/account_journal_restrict_mode/readme/ROADMAP.rst @@ -0,0 +1,4 @@ +* Odoo hides the setting *Lock Posted Entries with Hash* on Bank and Cash + Journals, but enabling it does not cause issues in the reconciliation for now. + If the Odoo logic changes at any point, the module may need to be adapted to + only force the setting on other types of journals. diff --git a/account_journal_restrict_mode/static/description/icon.png b/account_journal_restrict_mode/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_journal_restrict_mode/static/description/index.html b/account_journal_restrict_mode/static/description/index.html new file mode 100644 index 000000000..7e4ee05c0 --- /dev/null +++ b/account_journal_restrict_mode/static/description/index.html @@ -0,0 +1,433 @@ + + + + + + +Account Move Line Sale Info + + + +
+

Account Move Line Sale Info

+ + +

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

+

This module will add the sale order line to journal items.

+

The ultimate goal is to establish the purchase order line as one of the key +fields to reconcile the Goods Delivered Not Invoiced accrual account.

+

Table of contents

+ +
+

Known issues / Roadmap

+
    +
  • Odoo hides the setting Lock Posted Entries with Hash on Bank and Cash +Journals, but enabling it does not cause issues in the reconciliation for now. +If the Odoo logic changes at any point, the module may need to be adapted to +only force the setting on other types of journals.
  • +
+
+
+

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 +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow S.L.
  • +
+
+
+

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-financial-tools project on GitHub.

+

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

+
+
+
+ + diff --git a/account_journal_restrict_mode/tests/__init__.py b/account_journal_restrict_mode/tests/__init__.py new file mode 100644 index 000000000..f42a275d7 --- /dev/null +++ b/account_journal_restrict_mode/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import test_account_journal_restrict_mode diff --git a/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py b/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py new file mode 100644 index 000000000..fbd5eb20c --- /dev/null +++ b/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py @@ -0,0 +1,20 @@ +# Copyright 2023 ForgeFlow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo.exceptions import UserError +from odoo.tests import common + + +class TestAccountJournalRestrictMode(common.TransactionCase): + @classmethod + def setUpClass(cls): + super(TestAccountJournalRestrictMode, cls).setUpClass() + cls.account_journal_obj = cls.env["account.journal"] + + def test_journal_default_lock_entries(self): + journal = self.account_journal_obj.create( + {"name": "Test Journal", "code": "TJ", "type": "general"} + ) + self.assertTrue(journal.restrict_mode_hash_table) + with self.assertRaises(UserError): + journal.write({"restrict_mode_hash_table": False}) From 9a33712b089ca4f1afb1b913965cee504f4e1c2d Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Tue, 3 Oct 2023 08:56:00 +0200 Subject: [PATCH 02/10] [IMP] Update copier [CI Skip] --- account_journal_restrict_mode/README.rst | 2 +- .../static/description/index.html | 33 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/account_journal_restrict_mode/README.rst b/account_journal_restrict_mode/README.rst index 3cd3f15ad..2878ca695 100644 --- a/account_journal_restrict_mode/README.rst +++ b/account_journal_restrict_mode/README.rst @@ -7,7 +7,7 @@ Account Journal Restrict Mode !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:b7345b32df60a41001389fcd7bf25c52e026a6fed2d88655f95f6ee12ca3d960 + !! source digest: sha256:805f2c472057df7cac02a1fab129fb2399674fb8352dec49fa4a07b32566eb62 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/account_journal_restrict_mode/static/description/index.html b/account_journal_restrict_mode/static/description/index.html index 7e4ee05c0..f6d4ec409 100644 --- a/account_journal_restrict_mode/static/description/index.html +++ b/account_journal_restrict_mode/static/description/index.html @@ -4,7 +4,7 @@ -Account Move Line Sale Info +Account Journal Restrict Mode -
-

Account Move Line Sale Info

+
+

Account Journal Restrict Mode

-

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

-

This module will add the sale order line to journal items.

-

The ultimate goal is to establish the purchase order line as one of the key -fields to reconcile the Goods Delivered Not Invoiced accrual account.

+

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

+

This module enables by default the setting Lock Posted Entries with Hash in +all Journals and prevents the setting to be modified.

+

The goal is to assure that all journal entries are locked when posted to prevent +them to be modified.

Table of contents

    @@ -396,35 +397,35 @@ only force the setting on other types of journals.
-

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 -feedback.

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ForgeFlow S.L.
-

Maintainers

+

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-financial-tools project on GitHub.

+

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

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

From bb6c5fdecfc92679150268090e4d4b876e51829b Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 9 Oct 2023 09:53:01 +0000 Subject: [PATCH 03/10] [UPD] Update account_journal_restrict_mode.pot --- .../i18n/account_journal_restrict_mode.pot | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 account_journal_restrict_mode/i18n/account_journal_restrict_mode.pot diff --git a/account_journal_restrict_mode/i18n/account_journal_restrict_mode.pot b/account_journal_restrict_mode/i18n/account_journal_restrict_mode.pot new file mode 100644 index 000000000..1e64ce952 --- /dev/null +++ b/account_journal_restrict_mode/i18n/account_journal_restrict_mode.pot @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_journal_restrict_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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_journal_restrict_mode +#: model:ir.model.fields,help:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "" +"If ticked, the accounting entry or invoice receives a hash as soon as it is " +"posted and cannot be modified anymore." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model,name:account_journal_restrict_mode.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_journal_restrict_mode +#. odoo-python +#: code:addons/account_journal_restrict_mode/models/account_journal.py:0 +#, python-format +msgid "Journal %s must have Lock Posted Entries enabled." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model.fields,field_description:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "Lock Posted Entries with Hash" +msgstr "" From a6baebefec5ced05bc3437edd669e8a1bca54107 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 9 Oct 2023 10:05:42 +0000 Subject: [PATCH 04/10] [BOT] post-merge updates --- account_journal_restrict_mode/README.rst | 2 +- .../static/description/index.html | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/account_journal_restrict_mode/README.rst b/account_journal_restrict_mode/README.rst index 2878ca695..3cd3f15ad 100644 --- a/account_journal_restrict_mode/README.rst +++ b/account_journal_restrict_mode/README.rst @@ -7,7 +7,7 @@ Account Journal Restrict Mode !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:805f2c472057df7cac02a1fab129fb2399674fb8352dec49fa4a07b32566eb62 + !! source digest: sha256:b7345b32df60a41001389fcd7bf25c52e026a6fed2d88655f95f6ee12ca3d960 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/account_journal_restrict_mode/static/description/index.html b/account_journal_restrict_mode/static/description/index.html index f6d4ec409..5fbb8d187 100644 --- a/account_journal_restrict_mode/static/description/index.html +++ b/account_journal_restrict_mode/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:805f2c472057df7cac02a1fab129fb2399674fb8352dec49fa4a07b32566eb62 +!! source digest: sha256:b7345b32df60a41001389fcd7bf25c52e026a6fed2d88655f95f6ee12ca3d960 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module enables by default the setting Lock Posted Entries with Hash in @@ -397,7 +397,7 @@ only force the setting on other types of journals.

-

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 @@ -405,21 +405,21 @@ If you spotted it first, help us to smash it by providing a detailed and welcome

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ForgeFlow S.L.
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose From 7f8a3156c303fe046dc63ec0ca68c91dc921d3ba Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Fri, 16 Feb 2024 19:31:40 +0000 Subject: [PATCH 05/10] Added translation using Weblate (Spanish) --- account_journal_restrict_mode/i18n/es.po | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 account_journal_restrict_mode/i18n/es.po diff --git a/account_journal_restrict_mode/i18n/es.po b/account_journal_restrict_mode/i18n/es.po new file mode 100644 index 000000000..9b0446531 --- /dev/null +++ b/account_journal_restrict_mode/i18n/es.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_journal_restrict_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: account_journal_restrict_mode +#: model:ir.model.fields,help:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "" +"If ticked, the accounting entry or invoice receives a hash as soon as it is " +"posted and cannot be modified anymore." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model,name:account_journal_restrict_mode.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_journal_restrict_mode +#. odoo-python +#: code:addons/account_journal_restrict_mode/models/account_journal.py:0 +#, python-format +msgid "Journal %s must have Lock Posted Entries enabled." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model.fields,field_description:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "Lock Posted Entries with Hash" +msgstr "" From 36a57d30c6c67423af10cdbe79cc3d1bfd6fc1ce Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Fri, 16 Feb 2024 19:33:01 +0000 Subject: [PATCH 06/10] Translated using Weblate (Spanish) Currently translated at 100.0% (4 of 4 strings) Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_journal_restrict_mode Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_journal_restrict_mode/es/ --- account_journal_restrict_mode/i18n/es.po | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/account_journal_restrict_mode/i18n/es.po b/account_journal_restrict_mode/i18n/es.po index 9b0446531..bd59493d9 100644 --- a/account_journal_restrict_mode/i18n/es.po +++ b/account_journal_restrict_mode/i18n/es.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-02-16 21:35+0000\n" +"Last-Translator: Ivorra78 \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 4.17\n" #. module: account_journal_restrict_mode #: model:ir.model.fields,help:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table @@ -20,20 +22,22 @@ msgid "" "If ticked, the accounting entry or invoice receives a hash as soon as it is " "posted and cannot be modified anymore." msgstr "" +"Si está marcada, la entrada contable o la factura recibe un hash en cuanto " +"se contabiliza y ya no puede modificarse." #. module: account_journal_restrict_mode #: model:ir.model,name:account_journal_restrict_mode.model_account_journal msgid "Journal" -msgstr "" +msgstr "Diario" #. module: account_journal_restrict_mode #. odoo-python #: code:addons/account_journal_restrict_mode/models/account_journal.py:0 #, python-format msgid "Journal %s must have Lock Posted Entries enabled." -msgstr "" +msgstr "El diario %s debe tener Activado el Bloqueo de Asientos." #. module: account_journal_restrict_mode #: model:ir.model.fields,field_description:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table msgid "Lock Posted Entries with Hash" -msgstr "" +msgstr "Bloquear Entradas Publicadas con Hash" From 73b0897c08ccd90e4381d0a720292992b1ecb04b Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Feb 2024 12:27:20 +0000 Subject: [PATCH 07/10] Added translation using Weblate (Italian) --- account_journal_restrict_mode/i18n/it.po | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 account_journal_restrict_mode/i18n/it.po diff --git a/account_journal_restrict_mode/i18n/it.po b/account_journal_restrict_mode/i18n/it.po new file mode 100644 index 000000000..69c462d9d --- /dev/null +++ b/account_journal_restrict_mode/i18n/it.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_journal_restrict_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: account_journal_restrict_mode +#: model:ir.model.fields,help:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "" +"If ticked, the accounting entry or invoice receives a hash as soon as it is " +"posted and cannot be modified anymore." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model,name:account_journal_restrict_mode.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_journal_restrict_mode +#. odoo-python +#: code:addons/account_journal_restrict_mode/models/account_journal.py:0 +#, python-format +msgid "Journal %s must have Lock Posted Entries enabled." +msgstr "" + +#. module: account_journal_restrict_mode +#: model:ir.model.fields,field_description:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table +msgid "Lock Posted Entries with Hash" +msgstr "" From f0214a42b19ee1fe5965283a0da4efe44d0d25b6 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Feb 2024 14:01:41 +0000 Subject: [PATCH 08/10] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_journal_restrict_mode Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_journal_restrict_mode/it/ --- account_journal_restrict_mode/i18n/it.po | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/account_journal_restrict_mode/i18n/it.po b/account_journal_restrict_mode/i18n/it.po index 69c462d9d..8958e3e9f 100644 --- a/account_journal_restrict_mode/i18n/it.po +++ b/account_journal_restrict_mode/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-02-26 16:36+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 4.17\n" #. module: account_journal_restrict_mode #: model:ir.model.fields,help:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table @@ -20,20 +22,22 @@ msgid "" "If ticked, the accounting entry or invoice receives a hash as soon as it is " "posted and cannot be modified anymore." msgstr "" +"Se selezionata, l'entrata contabile o fattura riceve un hash appena viene " +"inserita e non può essere modificato." #. module: account_journal_restrict_mode #: model:ir.model,name:account_journal_restrict_mode.model_account_journal msgid "Journal" -msgstr "" +msgstr "Registro" #. module: account_journal_restrict_mode #. odoo-python #: code:addons/account_journal_restrict_mode/models/account_journal.py:0 #, python-format msgid "Journal %s must have Lock Posted Entries enabled." -msgstr "" +msgstr "Il registro %s deve avere abilitato \"Blocca registrazioni inserite\"." #. module: account_journal_restrict_mode #: model:ir.model.fields,field_description:account_journal_restrict_mode.field_account_journal__restrict_mode_hash_table msgid "Lock Posted Entries with Hash" -msgstr "" +msgstr "Blocca registrazioni inserite con hash" From 56f4b0e27cccd58c71edbca224952694b708a07f Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Mon, 9 Sep 2024 15:00:35 +0200 Subject: [PATCH 09/10] [BKP][ADD] account_journal_restrict_mode --- account_journal_restrict_mode/__manifest__.py | 6 ++---- account_journal_restrict_mode/models/account_journal.py | 2 +- .../tests/test_account_journal_restrict_mode.py | 7 +++---- .../odoo/addons/account_journal_restrict_mode | 1 + setup/account_journal_restrict_mode/setup.py | 6 ++++++ 5 files changed, 13 insertions(+), 9 deletions(-) create mode 120000 setup/account_journal_restrict_mode/odoo/addons/account_journal_restrict_mode create mode 100644 setup/account_journal_restrict_mode/setup.py diff --git a/account_journal_restrict_mode/__manifest__.py b/account_journal_restrict_mode/__manifest__.py index 01721a515..20a0c2cde 100644 --- a/account_journal_restrict_mode/__manifest__.py +++ b/account_journal_restrict_mode/__manifest__.py @@ -4,13 +4,11 @@ { "name": "Account Journal Restrict Mode", "summary": "Lock All Posted Entries of Journals.", - "version": "16.0.1.0.0", + "version": "13.0.1.0.0", "author": "ForgeFlow S.L., Odoo Community Association (OCA)", "website": "https://github.com/OCA/account-financial-tools", "category": "Accounting", - "depends": [ - "account", - ], + "depends": ["account"], "license": "AGPL-3", "data": [], "installable": True, diff --git a/account_journal_restrict_mode/models/account_journal.py b/account_journal_restrict_mode/models/account_journal.py index 921ac92b4..df5745415 100644 --- a/account_journal_restrict_mode/models/account_journal.py +++ b/account_journal_restrict_mode/models/account_journal.py @@ -8,7 +8,7 @@ from odoo.exceptions import UserError class AccountJournal(models.Model): _inherit = "account.journal" - restrict_mode_hash_table = fields.Boolean(default=True) + restrict_mode_hash_table = fields.Boolean(default=True, readonly=True) @api.constrains("restrict_mode_hash_table") def _check_journal_restrict_mode(self): diff --git a/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py b/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py index fbd5eb20c..a8cea6cf8 100644 --- a/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py +++ b/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.py @@ -6,10 +6,9 @@ from odoo.tests import common class TestAccountJournalRestrictMode(common.TransactionCase): - @classmethod - def setUpClass(cls): - super(TestAccountJournalRestrictMode, cls).setUpClass() - cls.account_journal_obj = cls.env["account.journal"] + def setUp(self): + super(TestAccountJournalRestrictMode, self).setUp() + self.account_journal_obj = self.env["account.journal"] def test_journal_default_lock_entries(self): journal = self.account_journal_obj.create( diff --git a/setup/account_journal_restrict_mode/odoo/addons/account_journal_restrict_mode b/setup/account_journal_restrict_mode/odoo/addons/account_journal_restrict_mode new file mode 120000 index 000000000..6d1da32ac --- /dev/null +++ b/setup/account_journal_restrict_mode/odoo/addons/account_journal_restrict_mode @@ -0,0 +1 @@ +../../../../account_journal_restrict_mode \ No newline at end of file diff --git a/setup/account_journal_restrict_mode/setup.py b/setup/account_journal_restrict_mode/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/account_journal_restrict_mode/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From fe85e1245ecc0be15a8777af122efc93648dfead Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Mon, 9 Sep 2024 15:12:45 +0200 Subject: [PATCH 10/10] [UPD] copier: add as rebel module --- .copier-answers.yml | 10 +++++----- .eslintrc.yml | 1 + .github/workflows/pre-commit.yml | 11 ++++++++++- .github/workflows/stale.yml | 4 ++-- .github/workflows/test.yml | 22 ++++++++++++++++++---- .gitignore | 10 ++++++++++ .oca_hooks.cfg | 2 ++ .pre-commit-config.yaml | 2 ++ 8 files changed, 50 insertions(+), 12 deletions(-) create mode 100644 .oca_hooks.cfg diff --git a/.copier-answers.yml b/.copier-answers.yml index b086eb954..23459965d 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,8 +1,8 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.14.2 +_commit: v1.24 _src_path: https://github.com/OCA/oca-addons-repo-template.git ci: GitHub -dependency_installation_mode: OCA +convert_readme_fragments_to_markdown: false generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -11,14 +11,14 @@ github_enable_makepot: true github_enable_stale_action: true github_enforce_dev_status_compatibility: true include_wkhtmltopdf: false +odoo_test_flavor: Both odoo_version: 13.0 org_name: Odoo Community Association (OCA) org_slug: OCA -rebel_module_groups: [] +rebel_module_groups: +- account_journal_restrict_mode repo_description: Account financial Tools for Odoo/OpenERP repo_name: Account Financial Tools repo_slug: account-financial-tools repo_website: https://github.com/OCA/account-financial-tools -travis_apt_packages: [] -travis_apt_sources: [] diff --git a/.eslintrc.yml b/.eslintrc.yml index 9429bc688..fed88d70d 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -22,6 +22,7 @@ globals: odoo: readonly openerp: readonly owl: readonly + luxon: readonly # Styling is handled by Prettier, so we only need to enable AST rules; # see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 0083b5c1b..e638c6f64 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,7 +13,7 @@ jobs: pre-commit: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-python@v2 with: python-version: "3.8" @@ -27,6 +27,15 @@ jobs: run: pip install pre-commit - name: Run pre-commit run: pre-commit run --all-files --show-diff-on-failure --color=always + env: + # Consider valid a PR that changes README fragments but doesn't + # change the README.rst file itself. It's not really a problem + # because the bot will update it anyway after merge. This way, we + # lower the barrier for functional contributors that want to fix the + # readme fragments, while still letting developers get README + # auto-generated (which also helps functionals when using runboat). + # DOCS https://pre-commit.com/#temporarily-disabling-hooks + SKIP: oca-gen-addon-readme - name: Check that all files generated by pre-commit are in git run: | newfiles="$(git ls-files --others --exclude-from=.gitignore)" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1693a1253..fa17fcd4e 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Stale PRs and issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # General settings. @@ -48,7 +48,7 @@ jobs: # * Issues that are pending more information # * Except Issues marked as "no stale" - name: Needs more information stale issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} ascending: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7980739a1..a0b6f3975 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest name: Detect unreleased dependencies steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: | for reqfile in requirements.txt test-requirements.txt ; do if [ -f ${reqfile} ] ; then @@ -36,10 +36,19 @@ jobs: matrix: include: - container: ghcr.io/oca/oca-ci/py3.6-odoo13.0:latest - makepot: "true" + include: "account_journal_restrict_mode" name: test with Odoo - container: ghcr.io/oca/oca-ci/py3.6-ocb13.0:latest + include: "account_journal_restrict_mode" name: test with OCB + makepot: "true" + - container: ghcr.io/oca/oca-ci/py3.6-odoo13.0:latest + exclude: "account_journal_restrict_mode" + name: test with Odoo + - container: ghcr.io/oca/oca-ci/py3.6-ocb13.0:latest + exclude: "account_journal_restrict_mode" + name: test with OCB + makepot: "true" services: postgres: image: postgres:9.6 @@ -49,8 +58,11 @@ jobs: POSTGRES_DB: odoo ports: - 5432:5432 + env: + INCLUDE: "${{ matrix.include }}" + EXCLUDE: "${{ matrix.exclude }}" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: persist-credentials: false - name: Install addons and dependencies @@ -63,7 +75,9 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} - name: Update .pot files run: oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN diff --git a/.gitignore b/.gitignore index 9c283fd41..2b045db39 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so @@ -24,6 +25,15 @@ var/ *.egg *.eggs +# Debian packages +*.deb + +# Redhat packages +*.rpm + +# MacOS packages +*.dmg + # Installer logs pip-log.txt pip-delete-this-directory.txt diff --git a/.oca_hooks.cfg b/.oca_hooks.cfg new file mode 100644 index 000000000..1f3e3e426 --- /dev/null +++ b/.oca_hooks.cfg @@ -0,0 +1,2 @@ +[MESSAGES_CONTROL] +disable=xml-deprecated-data-node,xml-deprecated-tree-attribute diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8e001ef59..2d8ef5088 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,6 +12,8 @@ exclude: | /static/(src/)?lib/| # Repos using Sphinx to generate docs don't need prettying ^docs/_templates/.*\.html$| + # Ignore build and dist directories in addons + /build/|/dist/| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: