Browse Source

[MIG][FIX] contract: Move contracts, but disable them

There were an error in previous query for moving only contracts with the mark checked,
but it's also more logic to move them, but remain them disabled.
pull/421/head
Pedro M. Baeza 5 years ago
parent
commit
00d71f96f5
  1. 10
      contract/migrations/12.0.4.0.0/pre-migration.py

10
contract/migrations/12.0.4.0.0/pre-migration.py

@ -97,11 +97,18 @@ def create_contract_records(cr):
INSERT INTO contract_contract INSERT INTO contract_contract
SELECT * FROM account_analytic_account SELECT * FROM account_analytic_account
WHERE id IN (SELECT DISTINCT {} FROM contract_line) WHERE id IN (SELECT DISTINCT {} FROM contract_line)
AND recurring_invoices
""").format( """).format(
sql.Identifier(contract_field_name), sql.Identifier(contract_field_name),
), ),
) )
# Deactivate disabled contracts
openupgrade.logged_query(
cr, """UPDATE contract_contract cc
SET active = False
FROM account_analytic_account aaa
WHERE aaa.id = cc.id
AND NOT aaa.recurring_invoices""",
)
# Handle id sequence # Handle id sequence
cr.execute("CREATE SEQUENCE IF NOT EXISTS contract_contract_id_seq") cr.execute("CREATE SEQUENCE IF NOT EXISTS contract_contract_id_seq")
cr.execute("SELECT setval('contract_contract_id_seq', " cr.execute("SELECT setval('contract_contract_id_seq', "
@ -121,7 +128,6 @@ def create_contract_records(cr):
UPDATE {table} SET {model_column}='contract.contract' UPDATE {table} SET {model_column}='contract.contract'
WHERE {model_column}='account.analytic.account' WHERE {model_column}='account.analytic.account'
AND {id_column} IN (SELECT DISTINCT {col} FROM contract_line) AND {id_column} IN (SELECT DISTINCT {col} FROM contract_line)
AND recurring_invoices
""").format( """).format(
table=sql.Identifier(table), table=sql.Identifier(table),
model_column=sql.Identifier(model_column), model_column=sql.Identifier(model_column),

Loading…
Cancel
Save