diff --git a/account_journal_general_sequence/README.rst b/account_journal_general_sequence/README.rst index fa0297bdc..4ec484e13 100644 --- a/account_journal_general_sequence/README.rst +++ b/account_journal_general_sequence/README.rst @@ -36,6 +36,16 @@ that Odoo adds by default, and has different purpose. .. contents:: :local: +Installation +============ + +After installing this module, no entry numbers will be generated because that +could have a very negative impact in installations that already had a lot of +account moves. + +If you need to add numbers to preexisting account moves, please use the +renumbering wizard as explained in the *Usage* section. + Configuration ============= diff --git a/account_journal_general_sequence/__manifest__.py b/account_journal_general_sequence/__manifest__.py index 2ca011f58..af6a20a9d 100644 --- a/account_journal_general_sequence/__manifest__.py +++ b/account_journal_general_sequence/__manifest__.py @@ -9,6 +9,7 @@ "author": "Moduon, Odoo Community Association (OCA)", "license": "LGPL-3", "external_dependencies": {"python": ["freezegun"]}, + "maintainers": ["yajo"], "depends": [ "account", ], diff --git a/account_journal_general_sequence/models/account_move.py b/account_journal_general_sequence/models/account_move.py index c3c2c9c12..c02e517df 100644 --- a/account_journal_general_sequence/models/account_move.py +++ b/account_journal_general_sequence/models/account_move.py @@ -6,6 +6,8 @@ from odoo import api, fields, models _logger = logging.getLogger(__name__) +ADDON = "account_journal_general_sequence" + class AccountMove(models.Model): _inherit = "account.move" @@ -30,6 +32,15 @@ class AccountMove(models.Model): @api.depends("state") def _compute_entry_number(self): """Assign an entry number when posting.""" + # Skip if installing module, for performance reasons + if self.env.context.get("module") == ADDON: + module = self.env["ir.module.module"].search([("name", "=", ADDON)]) + if module.state == "to install": + _logger.info( + "Skipping entry number generation at install for %s.", + self, + ) + return canceled = self.filtered_domain( [("state", "=", "cancel"), ("entry_number", "!=", False)] ) diff --git a/account_journal_general_sequence/readme/INSTALL.rst b/account_journal_general_sequence/readme/INSTALL.rst new file mode 100644 index 000000000..768a793ca --- /dev/null +++ b/account_journal_general_sequence/readme/INSTALL.rst @@ -0,0 +1,6 @@ +After installing this module, no entry numbers will be generated because that +could have a very negative impact in installations that already had a lot of +account moves. + +If you need to add numbers to preexisting account moves, please use the +renumbering wizard as explained in the *Usage* section. diff --git a/account_journal_general_sequence/static/description/index.html b/account_journal_general_sequence/static/description/index.html index e2ecec2ba..40dc934bc 100644 --- a/account_journal_general_sequence/static/description/index.html +++ b/account_journal_general_sequence/static/description/index.html @@ -375,19 +375,28 @@ that Odoo adds by default, and has different purpose.

Table of contents

+
+

Installation

+

After installing this module, no entry numbers will be generated because that +could have a very negative impact in installations that already had a lot of +account moves.

+

If you need to add numbers to preexisting account moves, please use the +renumbering wizard as explained in the Usage section.

+
-

Configuration

+

Configuration

To configure journal sequences:

  1. Have full accounting permissions.
  2. @@ -404,7 +413,7 @@ per journal, make sure they don’t produce colliding results.
-

Usage

+

Usage

To see journal entry numbers:

  1. Go to Invoicing > Accounting > Miscellaneous > Journal Entries.
  2. @@ -430,7 +439,7 @@ per journal, make sure they don’t produce colliding results.
-

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 smashing it by providing a detailed and welcomed @@ -438,22 +447,22 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

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

-

Credits

+

Credits

-

Authors

+

Authors

-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose diff --git a/account_journal_general_sequence/tests/test_numbering.py b/account_journal_general_sequence/tests/test_numbering.py index 4f59a12c8..8e1987760 100644 --- a/account_journal_general_sequence/tests/test_numbering.py +++ b/account_journal_general_sequence/tests/test_numbering.py @@ -55,3 +55,19 @@ class RenumberCase(TestAccountReconciliationCommon): wiz = wiz_f.save() wiz.action_renumber() self.assertEqual(opening_invoice.entry_number, "2022/0000000000") + + def test_install_no_entry_number(self): + """No entry numbers assigned on module installation.""" + # Imitate installation environment + self.env = self.env( + context=dict(self.env.context, module="account_journal_general_sequence") + ) + self.env["ir.module.module"].search( + [("name", "=", "account_journal_general_sequence")] + ).state = "to install" + # Do some action that would make the move get an entry number + invoice = self._create_invoice() + self.assertFalse(invoice.entry_number) + invoice.action_post() + # Ensure there's no entry number + self.assertFalse(invoice.entry_number)