diff --git a/docsource/modules170-180.rst b/docsource/modules170-180.rst index e0d5e485b82e..51e88b48a361 100644 --- a/docsource/modules170-180.rst +++ b/docsource/modules170-180.rst @@ -202,7 +202,7 @@ Module coverage 17.0 -> 18.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_org_chart |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_presence | | | +| hr_presence |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/hr_presence/18.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/post-migration.py new file mode 100644 index 000000000000..ae4d9f0b909c --- /dev/null +++ b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/post-migration.py @@ -0,0 +1,22 @@ +# Copyright 2026 OpenUpgrade Contributors +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.map_values( + env.cr, + openupgrade.get_legacy_name("hr_presence_state_display"), + "hr_presence_state_display", + [("to_define", "out_of_working_hour")], + table="hr_employee", + ) + openupgrade.load_data(env, "hr_presence", "18.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, "hr_presence", ["mail_template_presence"], ["body_html"] + ) + openupgrade.delete_record_translations( + env.cr, "hr_presence", ["sms_template_data_hr_presence"], ["body"] + ) diff --git a/openupgrade_scripts/scripts/hr_presence/18.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/pre-migration.py new file mode 100644 index 000000000000..0069872b4a05 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/pre-migration.py @@ -0,0 +1,18 @@ +# Copyright 2026 OpenUpgrade Contributors +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +_new_columns = [ + ("hr.employee", "manually_set_presence", "boolean", False), +] + +_column_copies = { + "hr_employee": [("hr_presence_state_display", None, None)], +} + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.add_columns(env, _new_columns) + openupgrade.copy_columns(env.cr, _column_copies) diff --git a/openupgrade_scripts/scripts/hr_presence/18.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..836bb0c51693 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_presence/18.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,18 @@ +---Models in module 'hr_presence'--- +---Fields in module 'hr_presence'--- +hr_presence / hr.employee / hr_presence_state_display (selection): selection_keys added: [out_of_working_hour], removed: [to_define] +# DONE: pre-migration: copy_columns; post-migration: map_values 'to_define' -> 'out_of_working_hour' +hr_presence / hr.employee / manually_set_presence (boolean): NEW hasdefault: default +# DONE: pre-migration: add_columns +---XML records in module 'hr_presence'--- +NEW ir.actions.server: hr_presence.action_hr_employee_presence_absent +NEW ir.actions.server: hr_presence.action_hr_employee_presence_log +NEW ir.actions.server: hr_presence.action_hr_employee_presence_present +NEW ir.actions.server: hr_presence.action_hr_employee_presence_sms +NEW ir.actions.server: hr_presence.action_hr_employee_presence_time_off +DEL ir.actions.server: hr_presence.ir_actions_server_action_open_presence_view +DEL ir.ui.menu: hr_presence.menu_hr_presence_view +NEW ir.ui.view: hr_presence.hr_employee_view_tree +DEL ir.ui.view: hr_presence.hr_employee_view_kanban +DEL ir.ui.view: hr_presence.hr_employee_view_presence_search +# NOTHING TO DO