diff --git a/addons/sale_timesheet/migrations/12.0.1.0/openupgrade_analysis_work.txt b/addons/sale_timesheet/migrations/12.0.1.0/openupgrade_analysis_work.txt index 8e9379248eac..74f6f2cecd7d 100644 --- a/addons/sale_timesheet/migrations/12.0.1.0/openupgrade_analysis_work.txt +++ b/addons/sale_timesheet/migrations/12.0.1.0/openupgrade_analysis_work.txt @@ -13,6 +13,7 @@ sale_timesheet / product.template / project_template_id (many2one): NEW sale_timesheet / project.project / billable_type (selection) : NEW selection_keys: ['employee_rate', 'no', 'task_rate'] sale_timesheet / project.project / sale_line_employee_ids (one2many): NEW relation: project.sale.line.employee.map sale_timesheet / project.project / sale_order_id (many2one) : NEW relation: sale.order +# DONE: filled sale_order_id from sale_order_line.order_id as there is new sql constraints sale_order_required_if_sale_line sale_timesheet / project.sale.line.employee.map / employee_id (many2one) : NEW relation: hr.employee, required: required sale_timesheet / project.sale.line.employee.map / project_id (many2one) : NEW relation: project.project, required: required, req_default: function sale_timesheet / project.sale.line.employee.map / sale_line_id (many2one) : NEW relation: sale.order.line, required: required diff --git a/addons/sale_timesheet/migrations/12.0.1.0/post-migration.py b/addons/sale_timesheet/migrations/12.0.1.0/post-migration.py new file mode 100644 index 000000000000..c21b073fc3f3 --- /dev/null +++ b/addons/sale_timesheet/migrations/12.0.1.0/post-migration.py @@ -0,0 +1,20 @@ +# Copyright 2020 Sergio Corato +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade + + +def migrate_project_sale_order(env): + openupgrade.logged_query( + env.cr, """ + UPDATE project_project p + SET sale_order_id = sol.order_id + FROM sale_order_line sol + WHERE sol.id = p.sale_line_id + AND p.sale_order_id != sol.order_id + """) + + +@openupgrade.migrate() +def migrate(env, version): + migrate_project_sale_order(env)