Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docsource/modules180-190.rst
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ Module coverage 18.0 -> 19.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr |Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_attendance | | |
| hr_attendance |Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_calendar | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand All @@ -182,7 +182,7 @@ Module coverage 18.0 -> 19.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_holidays |Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_holidays_attendance | | |
| hr_holidays_attendance |Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| |del| hr_holidays_contract | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand All @@ -202,13 +202,13 @@ Module coverage 18.0 -> 19.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_recruitment |Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| 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 | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env, "hr_attendance", "19.0.2.0/noupdate_changes.xml")
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
from openupgradelib import openupgrade

_renamed_models = [
("hr.attendance.overtime", "hr.attendance.overtime.line"),
]

_renamed_tables = [
("hr_attendance_overtime", "hr_attendance_overtime_line"),
]

_renamed_fields = [
("hr.attendance", "hr_attendance", "in_city", "in_location"),
("hr.attendance", "hr_attendance", "out_city", "out_location"),
]

# Removed in 19.0 but noupdate, so not swept by the standard module update.
_obsolete_rule_xmlids = [
"hr_attendance.hr_attendance_overtime_rule_employee_company",
"hr_attendance.hr_attendance_rule_attendance_officer_overtime_restrict",
"hr_attendance.hr_attendance_rule_attendance_overtime_admin",
"hr_attendance.hr_attendance_rule_attendance_overtime_simple_user",
]


@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.delete_records_safely_by_xml_id(env, _obsolete_rule_xmlids)
# Precreate the new required/computed columns for the renamed table's rows.
openupgrade.logged_query(
env.cr,
"""
ALTER TABLE hr_attendance_overtime_line
ADD COLUMN IF NOT EXISTS status varchar,
ADD COLUMN IF NOT EXISTS manual_duration double precision
""",
)
openupgrade.logged_query(
env.cr,
"UPDATE hr_attendance_overtime_line SET status = 'approved' "
"WHERE status IS NULL",
)
openupgrade.logged_query(
env.cr,
"UPDATE hr_attendance_overtime_line SET manual_duration = duration "
"WHERE manual_duration IS NULL",
)
openupgrade.logged_query(
env.cr,
"UPDATE hr_attendance_overtime_line SET date = create_date::date "
"WHERE date IS NULL",
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---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
Comment thread
dnplkndll marked this conversation as resolved.
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
Comment thread
dnplkndll marked this conversation as resolved.
hr_attendance / hr.attendance / validated_overtime_hours (float): now a function

# DONE: rename in_city->in_location, out_city->out_location in pre-migration

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
Comment thread
dnplkndll marked this conversation as resolved.
hr_attendance / hr.attendance.overtime / duration_real (float) : DEL

# DONE: backfill overtime date (now required) in pre-migration

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
Comment thread
dnplkndll marked this conversation as resolved.
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
Comment thread
dnplkndll marked this conversation as resolved.
hr_attendance / hr.attendance.overtime.line / time_start (datetime) : NEW
hr_attendance / hr.attendance.overtime.line / time_stop (datetime) : NEW

# DONE: precreate status='approved' + manual_duration=duration in pre-migration

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)
Comment thread
dnplkndll marked this conversation as resolved.

# DONE: pre-migration deletes the obsolete noupdate ir.rule records

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
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(
env, "hr_holidays_attendance", "19.0.1.0/noupdate_changes.xml"
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from openupgradelib import openupgrade

# overtime_id removed in 19.0; drop the column whose FK the overtime rename invalidated.
_dropped_columns = [
("hr_leave", "overtime_id"),
("hr_leave_allocation", "overtime_id"),
]


@openupgrade.migrate()
def migrate(env, version):
openupgrade.drop_columns(env.cr, _dropped_columns)
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---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

# NOTHING TO DO

hr_holidays_attendance / hr.leave / overtime_id (many2one) : DEL relation: hr.attendance.overtime

# DONE: drop overtime_id column in pre-migration

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

# NOTHING TO DO

hr_holidays_attendance / hr.leave.allocation / overtime_id (many2one) : DEL relation: hr.attendance.overtime

# DONE: drop overtime_id column in pre-migration

---XML records in module 'hr_holidays_attendance'---
DEL hr.leave.type: hr_holidays_attendance.holiday_status_extra_hours [renamed to hr_holidays module] (noupdate)
Comment thread
dnplkndll marked this conversation as resolved.
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env, "hr_recruitment_skills", "19.0.1.0/noupdate_changes.xml")
Original file line number Diff line number Diff line change
@@ -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)
Loading
Loading