diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 39d37c51049d..ab7e0231d399 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -168,7 +168,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_attendance | | | +| hr_attendance |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_calendar | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -182,7 +182,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_holidays |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_holidays_attendance | | | +| hr_holidays_attendance |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| hr_holidays_contract | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -202,13 +202,13 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_recruitment_skills | | | +| hr_recruitment_skills |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment_sms | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment_survey | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_skills | | | +| hr_skills |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| hr_skills_event | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/pre-migration.py b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/pre-migration.py new file mode 100644 index 000000000000..ed84c6d59b9c --- /dev/null +++ b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/pre-migration.py @@ -0,0 +1,15 @@ +from openupgradelib import openupgrade + +_renamed_models = [ + ("hr.attendance.overtime", "hr.attendance.overtime.line"), +] + +_renamed_tables = [ + ("hr_attendance_overtime", "hr_attendance_overtime_line"), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_models(env.cr, _renamed_models) + openupgrade.rename_tables(env.cr, _renamed_tables) diff --git a/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/tests/test_hr_attendance_migration.py b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/tests/test_hr_attendance_migration.py new file mode 100644 index 000000000000..c73635aa6955 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/tests/test_hr_attendance_migration.py @@ -0,0 +1,22 @@ +from odoo.tests import TransactionCase + +from odoo.addons.openupgrade_framework import openupgrade_test + + +@openupgrade_test +class TestHrAttendanceMigration(TransactionCase): + def test_overtime_line_records_preserved(self): + """hr.attendance.overtime was renamed to hr.attendance.overtime.line + in 19.0; rename_models + rename_tables in pre-migration must + preserve rows. + """ + self.assertTrue( + self.env["hr.attendance.overtime.line"].search([], limit=1), + "Overtime line records should survive the model+table rename.", + ) + + def test_obsolete_model_gone(self): + """The old hr.attendance.overtime model should no longer be + registered after the migration. + """ + self.assertNotIn("hr.attendance.overtime", self.env.registry) diff --git a/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..9980520d1301 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_attendance/19.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,118 @@ +---Models in module 'hr_attendance'--- +obsolete model hr.attendance.overtime (renamed to hr.attendance.overtime.line) +new model hr.attendance.overtime.line (renamed from hr.attendance.overtime) + +# DONE: rename_models + rename_tables in pre-migration.py + +new model hr.attendance.overtime.rule +new model hr.attendance.overtime.ruleset + +# NOTHING TO DO: new feature + +---Fields in module 'hr_attendance'--- +hr_attendance / hr.attendance / date (date) : NEW required, isfunction: function, stored +hr_attendance / hr.attendance / in_city (char) : DEL +hr_attendance / hr.attendance / in_country_name (char) : DEL +hr_attendance / hr.attendance / in_location (char) : NEW +hr_attendance / hr.attendance / linked_overtime_ids (many2many): NEW relation: hr.attendance.overtime.line, hasdefault: compute, stored: False +hr_attendance / hr.attendance / out_city (char) : DEL +hr_attendance / hr.attendance / out_country_name (char) : DEL +hr_attendance / hr.attendance / out_location (char) : NEW +hr_attendance / hr.attendance / validated_overtime_hours (float): now a function +hr_attendance / hr.attendance.overtime / _order : _order is now 'time_start' ('date desc') +hr_attendance / hr.attendance.overtime / adjustment (boolean) : DEL +hr_attendance / hr.attendance.overtime / date (date) : now required +hr_attendance / hr.attendance.overtime / duration_real (float) : DEL +hr_attendance / hr.attendance.overtime.line / amount_rate (float) : NEW required, hasdefault: default +hr_attendance / hr.attendance.overtime.line / manual_duration (float) : NEW hasdefault: compute +hr_attendance / hr.attendance.overtime.line / rule_ids (many2many) : NEW relation: hr.attendance.overtime.rule +hr_attendance / hr.attendance.overtime.line / status (selection) : NEW required, selection_keys: ['approved', 'refused', 'to_approve'], hasdefault: compute +hr_attendance / hr.attendance.overtime.line / time_start (datetime) : NEW +hr_attendance / hr.attendance.overtime.line / time_stop (datetime) : NEW +hr_attendance / hr.attendance.overtime.rule / amount_rate (float) : NEW hasdefault: default +hr_attendance / hr.attendance.overtime.rule / base_off (selection) : NEW required, selection_keys: ['quantity', 'timing'], hasdefault: default +hr_attendance / hr.attendance.overtime.rule / description (html) : NEW +hr_attendance / hr.attendance.overtime.rule / employee_tolerance (float) : NEW +hr_attendance / hr.attendance.overtime.rule / employer_tolerance (float) : NEW +hr_attendance / hr.attendance.overtime.rule / expected_hours (float) : NEW +hr_attendance / hr.attendance.overtime.rule / expected_hours_from_contract (boolean): NEW hasdefault: default +hr_attendance / hr.attendance.overtime.rule / name (char) : NEW required +hr_attendance / hr.attendance.overtime.rule / paid (boolean) : NEW +hr_attendance / hr.attendance.overtime.rule / quantity_period (selection) : NEW selection_keys: ['day', 'week'], hasdefault: default +hr_attendance / hr.attendance.overtime.rule / resource_calendar_id (many2one): NEW relation: resource.calendar +hr_attendance / hr.attendance.overtime.rule / ruleset_id (many2one) : NEW relation: hr.attendance.overtime.ruleset, required +hr_attendance / hr.attendance.overtime.rule / sequence (integer) : NEW hasdefault: default +hr_attendance / hr.attendance.overtime.rule / timing_start (float) : NEW hasdefault: default +hr_attendance / hr.attendance.overtime.rule / timing_stop (float) : NEW hasdefault: default +hr_attendance / hr.attendance.overtime.rule / timing_type (selection) : NEW selection_keys: ['leave', 'non_work_days', 'schedule', 'work_days'], hasdefault: default +hr_attendance / hr.attendance.overtime.ruleset / active (boolean) : NEW hasdefault: default +hr_attendance / hr.attendance.overtime.ruleset / company_id (many2one) : NEW relation: res.company, hasdefault: default +hr_attendance / hr.attendance.overtime.ruleset / country_id (many2one) : NEW relation: res.country, hasdefault: default +hr_attendance / hr.attendance.overtime.ruleset / description (html) : NEW +hr_attendance / hr.attendance.overtime.ruleset / name (char) : NEW required +hr_attendance / hr.attendance.overtime.ruleset / rate_combination_mode (selection): NEW required, selection_keys: ['max', 'sum'], hasdefault: default +hr_attendance / hr.attendance.overtime.ruleset / rule_ids (one2many) : NEW relation: hr.attendance.overtime.rule +hr_attendance / hr.employee / overtime_ids (one2many) : relation is now 'hr.attendance.overtime.line' ('hr.attendance.overtime') [nothing to do] +hr_attendance / hr.version / ruleset_id (many2one) : NEW relation: hr.attendance.overtime.ruleset, hasdefault: default +hr_attendance / res.company / attendance_device_tracking (boolean): NEW hasdefault: default + +# NOTHING TO DO + +---XML records in module 'hr_attendance'--- +NEW hr.attendance.overtime.rule: hr_attendance.hr_attendance_overtime_employee_schedule_rule (noupdate) +NEW hr.attendance.overtime.rule: hr_attendance.hr_attendance_overtime_non_working_days_rule (noupdate) +NEW hr.attendance.overtime.ruleset: hr_attendance.hr_attendance_default_ruleset (noupdate) +NEW ir.actions.act_window: hr_attendance.hr_attendance_overtime_rule_action +NEW ir.actions.act_window: hr_attendance.hr_attendance_overtime_ruleset_action +DEL ir.actions.act_window: hr_attendance.hr_attendance_overtime_action +DEL ir.actions.client: hr_attendance.hr_attendance_action_install_kiosk_pwa +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_line_officer +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_line_own_reader +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_rule_admin +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_rule_officer +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_rule_user +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_ruleset_admin +NEW ir.model.access: hr_attendance.access_hr_attendance_overtime_ruleset_hr_manager +NEW ir.model.access: hr_attendance.access_hr_attendance_own_reader +DEL ir.model.access: hr_attendance.access_hr_attendance_admin_overtime +DEL ir.model.access: hr_attendance.access_hr_attendance_officer_overtime +DEL ir.model.access: hr_attendance.access_hr_attendance_overtime_user +NEW ir.model.constraint: hr_attendance.constraint_hr_attendance_overtime_line_overtime_start_before_end +NEW ir.model.constraint: hr_attendance.constraint_hr_attendance_overtime_rule_timing_start_is_hour +NEW ir.model.constraint: hr_attendance.constraint_hr_attendance_overtime_rule_timing_stop_is_hour +NEW ir.rule: hr_attendance.hr_attendance_overtime_line_rule_admin (noupdate) +NEW ir.rule: hr_attendance.hr_attendance_overtime_line_rule_employee_company (noupdate) +NEW ir.rule: hr_attendance.hr_attendance_overtime_line_rule_officer (noupdate) +NEW ir.rule: hr_attendance.hr_attendance_overtime_line_rule_own_reader (noupdate) +NEW ir.rule: hr_attendance.hr_attendance_overtime_ruleset_rule (noupdate) +NEW ir.rule: hr_attendance.hr_attendance_overtime_ruleset_rule_group_hr_attendance_manager (noupdate) +DEL ir.rule: hr_attendance.hr_attendance_overtime_rule_employee_company (noupdate) +DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_officer_overtime_restrict (noupdate) +DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_admin (noupdate) +DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_simple_user (noupdate) +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_attendance_reporting +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_configuration +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_employee +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_onboarding +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_overtime_rulesets +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_overview +NEW ir.ui.menu: hr_attendance.menu_hr_attendance_view_dashboard +DEL ir.ui.menu: hr_attendance.menu_hr_attendance_view_attendances +NEW ir.ui.view: hr_attendance.hr_attendance_employee_simple_form_view +NEW ir.ui.view: hr_attendance.hr_attendance_overtime_rule_view_form +NEW ir.ui.view: hr_attendance.hr_attendance_overtime_rule_view_list +NEW ir.ui.view: hr_attendance.hr_attendance_overtime_ruleset_view_filter +NEW ir.ui.view: hr_attendance.hr_attendance_overtime_ruleset_view_form +NEW ir.ui.view: hr_attendance.hr_attendance_overtime_ruleset_view_list +NEW ir.ui.view: hr_attendance.hr_employee_public_view_form +NEW ir.ui.view: hr_attendance.hr_employee_search_view +DEL ir.ui.view: hr_attendance.hr_attendance_overtime_view_pivot +DEL ir.ui.view: hr_attendance.hr_attendance_validated_hours_employee_simple_tree_view +DEL ir.ui.view: hr_attendance.hr_user_view_form +DEL ir.ui.view: hr_attendance.view_attendance_overtime_graph +DEL ir.ui.view: hr_attendance.view_attendance_overtime_search +DEL ir.ui.view: hr_attendance.view_attendance_overtime_tree +NEW res.groups: hr_attendance.group_hr_attendance_user +NEW res.groups.privilege: hr_attendance.res_groups_privilege_attendances + +# NOTHING TO DO diff --git a/openupgrade_scripts/scripts/hr_holidays_attendance/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_holidays_attendance/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..1559fc4a179b --- /dev/null +++ b/openupgrade_scripts/scripts/hr_holidays_attendance/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,36 @@ +---Models in module 'hr_holidays_attendance'--- +new model hr.leave.attendance.report [sql_view] + +# NOTHING TO DO + +---Fields in module 'hr_holidays_attendance'--- +hr_holidays_attendance / hr.attendance.overtime.line / compensable_as_leave (boolean): NEW +hr_holidays_attendance / hr.attendance.overtime.rule / compensable_as_leave (boolean): NEW hasdefault: default +hr_holidays_attendance / hr.leave / employee_overtime (float) : not related anymore +hr_holidays_attendance / hr.leave / employee_overtime (float) : now a function +hr_holidays_attendance / hr.leave / overtime_id (many2one) : DEL relation: hr.attendance.overtime +hr_holidays_attendance / hr.leave.accrual.level / frequency (False) : NEW selection_keys: ['bimonthly', 'biyearly', 'daily', 'hourly', 'monthly', 'weekly', 'worked_hours', 'yearly'], mode: modify +hr_holidays_attendance / hr.leave.accrual.level / frequency_hourly_source (selection): DEL selection_keys: ['attendance', 'calendar'] +hr_holidays_attendance / hr.leave.allocation / employee_overtime (float) : not related anymore +hr_holidays_attendance / hr.leave.allocation / employee_overtime (float) : now a function +hr_holidays_attendance / hr.leave.allocation / overtime_id (many2one) : DEL relation: hr.attendance.overtime + +# NOTHING TO DO + +---XML records in module 'hr_holidays_attendance'--- +DEL hr.leave.type: hr_holidays_attendance.holiday_status_extra_hours [renamed to hr_holidays module] (noupdate) +NEW ir.actions.act_window: hr_holidays_attendance.hr_leave_attendance_report_action +DEL ir.actions.act_window: hr_holidays_attendance.hr_leave_allocation_overtime_action +NEW ir.model.access: hr_holidays_attendance.access_hr_leave_attendance_report_manager +NEW ir.ui.menu: hr_holidays_attendance.hr_leave_attendance_report +NEW ir.ui.view: hr_holidays_attendance.hr_attendance_employee_simple_tree_view +NEW ir.ui.view: hr_holidays_attendance.hr_attendance_overtime_rule_view_form +NEW ir.ui.view: hr_holidays_attendance.hr_leave_attendance_report_view_form +NEW ir.ui.view: hr_holidays_attendance.hr_leave_attendance_report_view_list +NEW ir.ui.view: hr_holidays_attendance.hr_leave_attendance_report_view_pivot +NEW ir.ui.view: hr_holidays_attendance.hr_leave_attendance_report_view_search +NEW ir.ui.view: hr_holidays_attendance.view_attendance_overtime_line_list +DEL ir.ui.view: hr_holidays_attendance.hr_leave_allocation_overtime_view_form +DEL ir.ui.view: hr_holidays_attendance.res_users_view_form + +# NOTHING TO DO diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..73b8328cd96c --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py @@ -0,0 +1,26 @@ +from openupgradelib import openupgrade + +_renamed_models = [ + ("hr.candidate.skill", "hr.applicant.skill"), +] + +_renamed_tables = [ + ("hr_candidate_skill", "hr_applicant_skill"), + ("hr_candidate_hr_skill_rel", "hr_applicant_hr_skill_rel"), +] + +_renamed_fields = [ + ("hr.applicant.skill", "hr_applicant_skill", "candidate_id", "applicant_id"), +] + +_renamed_columns = { + "hr_applicant_hr_skill_rel": [("hr_candidate_id", "hr_applicant_id")], +} + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_models(env.cr, _renamed_models) + openupgrade.rename_tables(env.cr, _renamed_tables) + openupgrade.rename_fields(env, _renamed_fields) + openupgrade.rename_columns(env.cr, _renamed_columns) diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/tests/test_hr_recruitment_skills_migration.py b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/tests/test_hr_recruitment_skills_migration.py new file mode 100644 index 000000000000..342cc6233995 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/tests/test_hr_recruitment_skills_migration.py @@ -0,0 +1,41 @@ +from odoo.tests import TransactionCase + +from odoo.addons.openupgrade_framework import openupgrade_test + + +@openupgrade_test +class TestHrRecruitmentSkillsMigration(TransactionCase): + def test_applicant_skill_records_preserved(self): + """hr.candidate.skill was renamed to hr.applicant.skill in 19.0; + rename_models + rename_tables in pre-migration must preserve rows. + """ + self.assertTrue( + self.env["hr.applicant.skill"].search([], limit=1), + "Applicant skill records should survive the model+table rename.", + ) + + def test_applicant_id_populated(self): + """The legacy candidate_id column is renamed to applicant_id by + pre-migration; rows that had it set must still have it set. + """ + self.assertTrue( + self.env["hr.applicant.skill"].search([("applicant_id", "!=", False)], limit=1), + "applicant_id should be populated after column rename from candidate_id.", + ) + + def test_m2m_join_table_renamed(self): + """The m2m join table for hr.applicant.skill_ids must use the new + explicit name and the join column must be hr_applicant_id (was + hr_candidate_id pre-migration). + """ + self.env.cr.execute( + """ + SELECT column_name + FROM information_schema.columns + WHERE table_name = 'hr_applicant_hr_skill_rel' + ORDER BY column_name + """ + ) + cols = [r[0] for r in self.env.cr.fetchall()] + self.assertIn("hr_applicant_id", cols) + self.assertIn("hr_skill_id", cols) diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..497c8a23a4b4 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,41 @@ +---Models in module 'hr_recruitment_skills'--- +obsolete model hr.candidate.skill (renamed to hr.applicant.skill) +new model hr.applicant.skill (renamed from hr.candidate.skill) + +# DONE: rename_models + rename_tables in pre-migration.py + +---Fields in module 'hr_recruitment_skills'--- +hr_recruitment_skills / hr.applicant / applicant_skill_ids (one2many): NEW relation: hr.applicant.skill +hr_recruitment_skills / hr.applicant / current_applicant_skill_ids (one2many): NEW relation: hr.applicant.skill, hasdefault: compute, stored: False +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : is now stored +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : not related anymore +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : now a function +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : table is now 'hr_applicant_hr_skill_rel' ('False') +hr_recruitment_skills / hr.applicant.skill / applicant_id (many2one) : NEW relation: hr.applicant, required +hr_recruitment_skills / hr.applicant.skill / display_warning_message (boolean): NEW +hr_recruitment_skills / hr.applicant.skill / valid_from (date) : NEW hasdefault: default +hr_recruitment_skills / hr.applicant.skill / valid_to (date) : NEW +hr_recruitment_skills / hr.candidate / candidate_skill_ids (one2many): DEL relation: hr.candidate.skill +hr_recruitment_skills / hr.candidate / skill_ids (many2many) : DEL relation: hr.skill +hr_recruitment_skills / hr.candidate.skill / _order : _order is now 'skill_type_id, skill_level_id desc' ('skill_level_id') +hr_recruitment_skills / hr.candidate.skill / candidate_id (many2one) : DEL relation: hr.candidate, required +hr_recruitment_skills / hr.job / skill_ids (many2many) : module is now 'hr_skills' ('hr_recruitment_skills') + +# NOTHING TO DO + +---XML records in module 'hr_recruitment_skills'--- +NEW ir.actions.act_window: hr_recruitment_skills.action_find_matching_job +NEW ir.model.access: hr_recruitment_skills.access_hr_applicant_skill_interviewer +NEW ir.model.access: hr_recruitment_skills.access_hr_job_skill_recruitment_user +DEL ir.model.access: hr_recruitment_skills.access_hr_candidate_skill_interviewer +DEL ir.model.constraint: hr_recruitment_skills.constraint_hr_candidate_skill__unique_skill +NEW ir.ui.view: hr_recruitment_skills.crm_case_tree_view_inherit_hr_recruitment_skills +NEW ir.ui.view: hr_recruitment_skills.crm_case_tree_view_job +NEW ir.ui.view: hr_recruitment_skills.hr_job_list_inherit_hr_recruitment_skills +NEW ir.ui.view: hr_recruitment_skills.view_hr_job_form +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_form +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_search +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_tree +DEL ir.ui.view: hr_recruitment_skills.hr_job_form_inherit_hr_recruitment_skills + +# NOTHING TO DO diff --git a/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..5de16bedefd2 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,101 @@ +---Models in module 'hr_skills'--- +obsolete model hr.employee.skill.log +new model hr.employee.certification.report [abstract] +new model hr.employee.skill.history.report [abstract] +new model hr.individual.skill.mixin [abstract] +new model hr.job.skill + +# NOTHING TO DO + +---Fields in module 'hr_skills'--- +hr_recruitment_skills / hr.job / skill_ids (many2many) : now a function +hr_skills / hr.employee / certification_ids (one2many) : NEW relation: hr.employee.skill, hasdefault: compute, stored: False +hr_skills / hr.employee / current_employee_skill_ids (one2many): NEW relation: hr.employee.skill, hasdefault: compute, stored: False +hr_skills / hr.employee.skill / display_warning_message (boolean): NEW +hr_skills / hr.employee.skill / valid_from (date) : NEW hasdefault: default +hr_skills / hr.employee.skill / valid_to (date) : NEW +hr_skills / hr.employee.skill.log / date (date) : DEL +hr_skills / hr.employee.skill.log / department_id (many2one) : DEL relation: hr.department +hr_skills / hr.employee.skill.log / employee_id (many2one) : DEL relation: hr.employee, required +hr_skills / hr.employee.skill.log / level_progress (integer) : DEL +hr_skills / hr.employee.skill.log / skill_id (many2one) : DEL relation: hr.skill, required +hr_skills / hr.employee.skill.log / skill_level_id (many2one) : DEL relation: hr.skill.level, required +hr_skills / hr.employee.skill.log / skill_type_id (many2one) : DEL relation: hr.skill.type, required +hr_skills / hr.job / current_job_skill_ids (one2many): NEW relation: hr.job.skill, hasdefault: compute, stored: False +hr_skills / hr.job / job_skill_ids (one2many) : NEW relation: hr.job.skill +hr_skills / hr.job / skill_ids (many2many) : previously in module hr_recruitment_skills +hr_skills / hr.job.skill / display_warning_message (boolean): NEW +hr_skills / hr.job.skill / job_id (many2one) : NEW relation: hr.job, required +hr_skills / hr.job.skill / skill_id (many2one) : NEW relation: hr.skill, required, hasdefault: compute +hr_skills / hr.job.skill / skill_level_id (many2one) : NEW relation: hr.skill.level, required, hasdefault: compute +hr_skills / hr.job.skill / skill_type_id (many2one) : NEW relation: hr.skill.type, required, hasdefault: default +hr_skills / hr.job.skill / valid_from (date) : NEW hasdefault: default +hr_skills / hr.job.skill / valid_to (date) : NEW +hr_skills / hr.resume.line / certificate_file (binary) : NEW attachment: True +hr_skills / hr.resume.line / certificate_filename (char) : NEW +hr_skills / hr.resume.line / course_type (selection) : NEW required, selection_keys: ['external'], hasdefault: default +hr_skills / hr.resume.line / department_id (many2one) : previously in module hr_skills_survey +hr_skills / hr.resume.line / display_type (selection) : DEL selection_keys: ['classic'] +hr_skills / hr.resume.line / duration (integer) : NEW +hr_skills / hr.resume.line / external_url (char) : NEW hasdefault: compute +hr_skills / hr.resume.line / resume_line_properties (properties): NEW hasdefault: compute +hr_skills / hr.resume.line.type / is_course (boolean) : NEW hasdefault: default +hr_skills / hr.resume.line.type / resume_line_type_properties_definition (properties_definition): NEW +hr_skills / hr.skill.level / _order : _order is now 'level_progress' ('level_progress desc') +hr_skills / hr.skill.level / technical_is_new_default (boolean): NEW hasdefault: compute, stored: False +hr_skills / hr.skill.type / _order : _order is now 'sequence, name' ('name') +hr_skills / hr.skill.type / is_certification (boolean) : NEW +hr_skills / hr.skill.type / levels_count (integer) : NEW hasdefault: compute +hr_skills / hr.skill.type / sequence (integer) : NEW +hr_skills / res.users / employee_skill_ids (one2many) : module is now 'project_hr_skills' ('hr_skills') +hr_skills_survey / hr.resume.line / department_id (many2one) : not stored anymore + +# NOTHING TO DO + +---XML records in module 'hr_skills'--- +NEW hr.resume.line.type: hr_skills.resume_type_training [renamed from hr_skills_slides module] +DEL hr.resume.line.type: hr_skills.resume_type_social_media +NEW ir.actions.act_window: hr_skills.action_hr_employee_skill_certification +NEW ir.actions.act_window: hr_skills.hr_employee_certification_report_action [renamed from hr_skills_survey module] (deleted domain) +NEW ir.actions.act_window: hr_skills.hr_resume_lines_training_action +DEL ir.actions.act_window: hr_skills.action_hr_employee_skill_log_employee +NEW ir.cron: hr_skills.hr_job_skills_cron_add_certification_activity_to_employees +NEW ir.model.access: hr_skills.access_hr_employee_certification_report_user +NEW ir.model.access: hr_skills.access_hr_employee_skill_history_report +NEW ir.model.access: hr_skills.access_hr_employee_skill_history_report_manager +NEW ir.model.access: hr_skills.access_hr_job_skill +NEW ir.model.access: hr_skills.access_hr_job_skill_employee +DEL ir.model.access: hr_skills.access_hr_employee_skill_log +DEL ir.model.access: hr_skills.access_hr_employee_skill_log_manager +DEL ir.model.constraint: hr_skills.constraint_hr_employee_skill__unique_skill +DEL ir.model.constraint: hr_skills.constraint_hr_employee_skill_log__unique_skill_log +NEW ir.rule: hr_skills.hr_employee_skill_history_report_hr_user (noupdate) +NEW ir.rule: hr_skills.hr_employee_skill_history_report_manager (noupdate) +NEW ir.ui.menu: hr_skills.hr_certification_menu +NEW ir.ui.menu: hr_skills.hr_employee_certification_report_menu +NEW ir.ui.menu: hr_skills.hr_employee_skill_inventory_report_menu +NEW ir.ui.menu: hr_skills.hr_skill_learning_menu +NEW ir.ui.menu: hr_skills.menu_learnings_training_attendances +NEW ir.ui.view: hr_skills.employee_skill_view_inherit_certificate_form +NEW ir.ui.view: hr_skills.hr_employee_certification_report_view_list +NEW ir.ui.view: hr_skills.hr_employee_certification_report_view_pivot +NEW ir.ui.view: hr_skills.hr_employee_certification_report_view_search +NEW ir.ui.view: hr_skills.hr_employee_skill_history_report_view_graph +NEW ir.ui.view: hr_skills.hr_employee_skill_history_report_view_search +NEW ir.ui.view: hr_skills.hr_employee_skill_view_list +NEW ir.ui.view: hr_skills.hr_employee_skill_view_search +NEW ir.ui.view: hr_skills.hr_job_skill_view_form +NEW ir.ui.view: hr_skills.hr_resume_line_calendar_view +NEW ir.ui.view: hr_skills.hr_resume_line_kanban_view +NEW ir.ui.view: hr_skills.hr_resume_line_list_view +NEW ir.ui.view: hr_skills.resume_line_view_form_inherit +NEW ir.ui.view: hr_skills.view_hr_job_form +NEW ir.ui.view: hr_skills.view_resume_lines_filter +DEL ir.ui.view: hr_skills.hr_employee_skill_log_view_graph_department +DEL ir.ui.view: hr_skills.hr_employee_skill_log_view_graph_employee +DEL ir.ui.view: hr_skills.hr_employee_skill_log_view_search +DEL ir.ui.view: hr_skills.hr_employee_skill_log_view_tree +DEL ir.ui.view: hr_skills.res_users_view_form +NEW mail.activity.type: hr_skills.mail_activity_data_upload_certification (noupdate) + +# NOTHING TO DO