mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[REF] Contract Sale Invoicing: update translations [IMP] - Assert that the predecessor is available for new link at uncancel [RMV] - remove usless changes [RMV] - Remove usless field recurring_invoices after the total isolation between contract model and account analytic one. recurring_invoices which was used to mark analytic account as contract became usless [IMP] - P3 syntax [IMP] - use @openupgrade.migrate() and openupgrade.logged_query [IMP] - drop transient table in migration script
153 lines
3.9 KiB
Python
153 lines
3.9 KiB
Python
# Copyright 2019 ACSONE SA/NV
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
import logging
|
|
|
|
from openupgradelib import openupgrade
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
@openupgrade.migrate()
|
|
def migrate(env, version):
|
|
cr = env.cr
|
|
openupgrade.logged_query(
|
|
cr,
|
|
"""
|
|
INSERT INTO contract_contract (
|
|
id,
|
|
name,
|
|
partner_id,
|
|
pricelist_id,
|
|
contract_type,
|
|
journal_id,
|
|
company_id,
|
|
analytic_account_id,
|
|
active,
|
|
code,
|
|
group_id,
|
|
contract_template_id,
|
|
user_id,
|
|
recurring_next_date,
|
|
date_end,
|
|
payment_term_id,
|
|
fiscal_position_id,
|
|
invoice_partner_id,
|
|
message_main_attachment_id,
|
|
create_uid,
|
|
create_date,
|
|
write_uid,
|
|
write_date
|
|
)
|
|
SELECT id,
|
|
name,
|
|
partner_id,
|
|
pricelist_id,
|
|
contract_type,
|
|
journal_id,
|
|
company_id,
|
|
id,
|
|
active,
|
|
code,
|
|
group_id,
|
|
contract_template_id,
|
|
user_id,
|
|
recurring_next_date,
|
|
date_end,
|
|
payment_term_id,
|
|
fiscal_position_id,
|
|
invoice_partner_id,
|
|
message_main_attachment_id,
|
|
create_uid,
|
|
create_date,
|
|
write_uid,
|
|
write_date
|
|
FROM account_analytic_account
|
|
WHERE id in (
|
|
SELECT DISTINCT contract_id FROM account_analytic_invoice_line
|
|
)
|
|
"""
|
|
)
|
|
openupgrade.logged_query(
|
|
cr,
|
|
"""
|
|
INSERT INTO contract_line (
|
|
id,
|
|
product_id,
|
|
name,
|
|
quantity,
|
|
uom_id,
|
|
automatic_price,
|
|
specific_price,
|
|
discount,
|
|
recurring_rule_type,
|
|
recurring_invoicing_type,
|
|
recurring_interval,
|
|
sequence,
|
|
contract_id,
|
|
date_start,
|
|
date_end,
|
|
recurring_next_date,
|
|
last_date_invoiced,
|
|
termination_notice_date,
|
|
successor_contract_line_id,
|
|
predecessor_contract_line_id,
|
|
manual_renew_needed,
|
|
active,
|
|
create_uid,
|
|
create_date,
|
|
write_uid,
|
|
write_date
|
|
)
|
|
SELECT id,
|
|
product_id,
|
|
name,
|
|
quantity,
|
|
uom_id,
|
|
automatic_price,
|
|
specific_price,
|
|
discount,
|
|
recurring_rule_type,
|
|
recurring_invoicing_type,
|
|
recurring_interval,
|
|
sequence,
|
|
contract_id,
|
|
date_start,
|
|
date_end,
|
|
recurring_next_date,
|
|
last_date_invoiced,
|
|
termination_notice_date,
|
|
successor_contract_line_id,
|
|
predecessor_contract_line_id,
|
|
manual_renew_needed,
|
|
active,
|
|
create_uid,
|
|
create_date,
|
|
write_uid,
|
|
write_date
|
|
FROM account_analytic_invoice_line
|
|
"""
|
|
)
|
|
openupgrade.rename_models(cr, [('account.analytic.invoice.line',
|
|
'contract.line')])
|
|
openupgrade.logged_query(
|
|
cr,
|
|
"""
|
|
DROP TABLE account_analytic_invoice_line
|
|
"""
|
|
)
|
|
openupgrade.logged_query(
|
|
cr,
|
|
"""
|
|
UPDATE account_invoice_line
|
|
SET contract_line_id = contract_line_id_tmp
|
|
"""
|
|
)
|
|
openupgrade.logged_query(
|
|
cr,
|
|
"""
|
|
ALTER TABLE account_invoice_line
|
|
DROP COLUMN contract_line_id_tmp
|
|
"""
|
|
)
|