You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
# -*- coding: utf-8 -*-
|
|
# Copyright 2018 ACSONE SA/NV
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
import logging
|
|
from odoo import SUPERUSER_ID, api
|
|
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def migrate(cr, version):
|
|
"""Copy recurrence info from contract to contract lines and compute
|
|
last_date_invoiced"""
|
|
_logger.info(">> Post-Migration 12.0.2.0.0")
|
|
cr.execute(
|
|
"""UPDATE account_analytic_invoice_line AS contract_line
|
|
SET recurring_rule_type=contract.recurring_rule_type,
|
|
recurring_invoicing_type=contract.recurring_invoicing_type,
|
|
recurring_interval=contract.recurring_interval,
|
|
recurring_next_date=contract.recurring_next_date,
|
|
date_start=contract.date_start,
|
|
date_end=contract.date_end
|
|
FROM account_analytic_account AS contract
|
|
WHERE contract.id=contract_line.contract_id"""
|
|
)
|
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
|
contract_lines = env["account.analytic.invoice.line"].search(
|
|
[("recurring_next_date", "!=", False)]
|
|
)
|
|
contract_lines._init_last_date_invoiced()
|