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: 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..20a0c2cde --- /dev/null +++ b/account_journal_restrict_mode/__manifest__.py @@ -0,0 +1,16 @@ +# 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": "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"], + "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/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 "" diff --git a/account_journal_restrict_mode/i18n/es.po b/account_journal_restrict_mode/i18n/es.po new file mode 100644 index 000000000..bd59493d9 --- /dev/null +++ b/account_journal_restrict_mode/i18n/es.po @@ -0,0 +1,43 @@ +# 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" +"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 +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 "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 "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 "Bloquear Entradas Publicadas con Hash" diff --git a/account_journal_restrict_mode/i18n/it.po b/account_journal_restrict_mode/i18n/it.po new file mode 100644 index 000000000..8958e3e9f --- /dev/null +++ b/account_journal_restrict_mode/i18n/it.po @@ -0,0 +1,43 @@ +# 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" +"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 +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 "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 "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 "Blocca registrazioni inserite con hash" 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..df5745415 --- /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, readonly=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 000000000..3a0328b51 Binary files /dev/null and b/account_journal_restrict_mode/static/description/icon.png differ 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..5fbb8d187 --- /dev/null +++ b/account_journal_restrict_mode/static/description/index.html @@ -0,0 +1,434 @@ + + + + + + +Account Journal Restrict Mode + + + +
+

Account Journal Restrict Mode

+ + +

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

+ +
+

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..a8cea6cf8 --- /dev/null +++ b/account_journal_restrict_mode/tests/test_account_journal_restrict_mode.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.exceptions import UserError +from odoo.tests import common + + +class TestAccountJournalRestrictMode(common.TransactionCase): + 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( + {"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}) 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, +)