79c62a9af6
Rename hooks file and use post_init_hook method to create journal sequences after module installation.
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
# Copyright 2021 Akretion France (http://www.akretion.com/)
|
|
# Copyright 2022 Vauxoo (https://www.vauxoo.com/)
|
|
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
|
# @author: Moisés López <moylop260@vauxoo.com>
|
|
# @author: Francisco Luna <fluna@vauxoo.com>
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import SUPERUSER_ID, api
|
|
|
|
|
|
def post_init_hook(cr, registry):
|
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
|
create_journal_sequences(env)
|
|
|
|
|
|
def create_journal_sequences(env):
|
|
journals = (
|
|
env["account.journal"]
|
|
.with_context(active_test=False)
|
|
.search([("sequence_id", "=", False)])
|
|
)
|
|
for journal in journals:
|
|
journal_vals = {
|
|
"code": journal.code,
|
|
"name": journal.name,
|
|
"company_id": journal.company_id.id,
|
|
}
|
|
seq_vals = journal._prepare_sequence(journal_vals)
|
|
seq_vals.update(journal._prepare_sequence_current_moves())
|
|
vals = {"sequence_id": env["ir.sequence"].create(seq_vals).id}
|
|
if journal.type in ("sale", "purchase") and journal.refund_sequence:
|
|
rseq_vals = journal._prepare_sequence(journal_vals, refund=True)
|
|
rseq_vals.update(journal._prepare_sequence_current_moves(refund=True))
|
|
vals["refund_sequence_id"] = env["ir.sequence"].create(rseq_vals).id
|
|
journal.write(vals)
|
|
return
|