From 5a695d5d79ef4258be0f0580e58f5b2aa9e7e63a Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Sat, 11 Dec 2021 19:01:10 +0100 Subject: [PATCH] [FIX+IMP] hr: Finish migration scripts - Add more comments to the analysis work file - Refine company_id assignation using department's company first - Don't load noupdate records without changes TT29982 --- .../scripts/hr/14.0.1.1/noupdate_changes.xml | 24 +++++++++---------- .../scripts/hr/14.0.1.1/post-migrate.py | 10 ++++---- .../hr/14.0.1.1/upgrade_analysis_work.txt | 20 +++++++++------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/openupgrade_scripts/scripts/hr/14.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/hr/14.0.1.1/noupdate_changes.xml index 6f68b8ed3bb7..80f0b8e9dd54 100644 --- a/openupgrade_scripts/scripts/hr/14.0.1.1/noupdate_changes.xml +++ b/openupgrade_scripts/scripts/hr/14.0.1.1/noupdate_changes.xml @@ -3,16 +3,16 @@ - - - - - - - - - - - - + + + + diff --git a/openupgrade_scripts/scripts/hr/14.0.1.1/post-migrate.py b/openupgrade_scripts/scripts/hr/14.0.1.1/post-migrate.py index 07893f71061b..d873fa528a2b 100644 --- a/openupgrade_scripts/scripts/hr/14.0.1.1/post-migrate.py +++ b/openupgrade_scripts/scripts/hr/14.0.1.1/post-migrate.py @@ -7,10 +7,12 @@ def fill_hr_employee_company_id(env): openupgrade.logged_query( env.cr, """ - UPDATE hr_employee hr - SET company_id = ru.company_id - FROM res_users ru - WHERE ru.id = hr.create_uid AND hr.company_id is NULL + UPDATE hr_employee he + SET company_id = COALESCE(hd.company_id, ru.company_id) + FROM hr_employee he2 + JOIN res_users ru ON ru.id = COALESCE(he2.create_uid, 1) + LEFT JOIN hr_department hd ON hd.id = he2.department_id + WHERE he.id = he2.id AND he.company_id is NULL """, ) diff --git a/openupgrade_scripts/scripts/hr/14.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr/14.0.1.1/upgrade_analysis_work.txt index 6fdf256a0f52..0eaf739ef3e3 100644 --- a/openupgrade_scripts/scripts/hr/14.0.1.1/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/hr/14.0.1.1/upgrade_analysis_work.txt @@ -1,18 +1,22 @@ ---Models in module 'hr'--- ---Fields in module 'hr'--- hr / hr.employee / address_id (many2one) : now a function -hr / hr.employee / certificate (selection) : selection_keys is now '['bachelor', 'doctor', 'graduate', 'master', 'other']' ('['bachelor', 'master', 'other']') hr / hr.employee / coach_id (many2one) : now a function -# NOTHING TO DO +hr / hr.employee / parent_id (many2one) : now a function +hr / hr.employee / job_title (char) : now a function +hr / hr.employee / work_phone (char) : now a function +hr / hr.plan.activity.type / summary (char) : now a function +# NOTHING TO DO: Converted to computed writable fields and the depends are not being changed (nor the dependency chain) + +hr / hr.employee / certificate (selection) : selection_keys is now '['bachelor', 'doctor', 'graduate', 'master', 'other']' ('['bachelor', 'master', 'other']') +# NOTHING TO DO: Only extra values hr / hr.employee / company_id (many2one) : now required, req_default: function -# DONE: Post-migration: Filled with Create user company_id +# DONE: post-migration: Filled with the most proper data those without company_id hr / hr.employee / departure_date (date) : NEW -hr / hr.employee / job_title (char) : now a function -hr / hr.employee / parent_id (many2one) : now a function -hr / hr.employee / work_phone (char) : now a function -hr / hr.plan.activity.type / summary (char) : now a function +# NOTHING TO DO: New info field + hr / res.users / barcode (char) : module is now 'base' ('hr') # NOTHING TO DO @@ -25,7 +29,7 @@ NEW ir.model.access: hr.access_hr_plan_wizard DEL ir.model.access: hr.access_ir_property_hr_user NEW ir.ui.menu: hr.menu_hr_department_kanban NEW ir.ui.view: hr.qunit_suite -# NOTHING TO DO +# NOTHING TO DO: noupdate=0 records DEL mail.template: hr.mail_template_data_unknown_employee_email_address (noupdate) # DONE: post-migration: deleted xmlid safely (and its translations)