Skip to content

[19.0][MIG] hr_*: analyses for simple submodules#5634

Closed
dnplkndll wants to merge 1 commit into
OCA:19.0from
ledoent:19.0-mig-hr-family-trivial
Closed

[19.0][MIG] hr_*: analyses for simple submodules#5634
dnplkndll wants to merge 1 commit into
OCA:19.0from
ledoent:19.0-mig-hr-family-trivial

Conversation

@dnplkndll
Copy link
Copy Markdown

@dnplkndll dnplkndll commented May 15, 2026

Annotation-only coverage for 15 hr_* submodules whose 19.0 deltas are either auto-handled by Odoo's standard upgrade flow or require small noupdate-record decisions.

In scope (hr_calendar, hr_fleet, hr_gamification, hr_homeworking, hr_livechat, hr_maintenance, hr_org_chart, hr_presence, hr_recruitment_sms, hr_recruitment_survey, hr_skills_event, hr_skills_slides, hr_skills_survey, hr_timesheet, hr_work_entry_holidays).

noupdate decisions:

  • hr_presencemail_template_presence (email_to/use_default_to) commented out: preserves operator-customized template settings.
  • hr_recruitment_survey (sibling added) — mail_template_applicant_interview_invite commented out: preserves operator-customized template body / lang.
  • hr_timesheet — left active: security framework (privilege_id) + ir.rule domain_force updates are migration-required; (4, ref(...)) on group user_ids is additive.
  • hr_work_entry_holidays (sibling added) — left active: hr.leave.typework_entry_type_id FK mapping is structural; forcecreate="0" is defensive.

The 4 substantial hr_* submodules (hr_attendance, hr_skills, hr_recruitment_skills, hr_holidays_attendance) are deferred to #5635 for focused review of the overtime + skills refactor.

@OCA-git-bot OCA-git-bot added mod:openupgrade_scripts Module openupgrade_scripts series:19.0 labels May 15, 2026
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
@dnplkndll dnplkndll marked this pull request as draft May 15, 2026 18:53
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from dae82d1 to 802170b Compare May 15, 2026 19:34
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 16, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from 802170b to 6067bf0 Compare May 19, 2026 01:16
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 19, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
@dnplkndll dnplkndll marked this pull request as ready for review May 19, 2026 01:16
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from 6067bf0 to c9a3863 Compare May 19, 2026 13:52
Copy link
Copy Markdown
Contributor

@remi-filament remi-filament left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dnplkndll
Here also you need to handle the noupdate xml

@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from c9a3863 to f9e80d8 Compare May 20, 2026 19:45
@dnplkndll dnplkndll changed the title [19.0][MIG] hr_*: analyses for 13 simple submodules [19.0][MIG] hr_*: analyses for simple submodules May 20, 2026
@dnplkndll
Copy link
Copy Markdown
Author

@remi-filament — addressed the noupdate XML feedback in f9e80d8:

  • hr_presencemail_template_presence noupdate record commented out to preserve operator-set email_to.
  • hr_recruitment_survey (sibling added to PR) — mail_template_applicant_interview_invite commented out (preserves operator-customized template body / lang).
  • hr_timesheet — noupdate records left active (security framework + ir.rule migration-required; (4, ref(...)) on group user_ids is additive).
  • hr_work_entry_holidays (sibling added to PR) — noupdate records left active (hr.leave.type → work_entry_type_id FK mapping with forcecreate="0").

Docsource: all 15 rows now Done | Nothing to do. Fork CI green on both seeds. Ready for re-review.

Comment thread docsource/modules180-190.rst Outdated
| hr_attendance | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_calendar | | |
| hr_calendar |Done |Nothing to do |
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Nothing to do" goes in the second columns, nothing in the third in such cases. also all of below

Comment thread docsource/modules180-190.rst Outdated
| hr_recruitment_sms |Done |Nothing to do |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_recruitment_survey | |No DB layout changes. |
| hr_recruitment_survey |Done |Nothing to do |
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't delete valuable information from the third column, also below

<field name="email_to" eval="False"/>
<field name="use_default_to" eval="True"/>
</record>
-->
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

everything about this is wrong. you don't touch the noupdate_changes.xml file, if you ever have to change it, copy it to noupdate_changes_work.xml. but in this case, it just needs to be loaded in the post migration script

DEL ir.rule: hr_fleet.fleet_rule_contract_visibility_user (noupdate)
DEL ir.rule: hr_fleet.fleet_rule_odometer_visibility_user (noupdate)
DEL ir.rule: hr_fleet.fleet_rule_service_visibility_user (noupdate)
DEL ir.rule: hr_fleet.fleet_rule_vehicle_visibility_user (noupdate)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

those need to be deleted using delete_records_safely_by_xml_id

<field name="lang"/>
<field name="use_default_to" eval="True"/>
</record>
-->
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -0,0 +1,27 @@
---Models in module 'hr_timesheet'---
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs to load noupdate_changes.xml

@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch 3 times, most recently from 38c9b8c to f4255b7 Compare May 28, 2026 22:07
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 29, 2026
Mirrors OCA#5634 with reviewer feedback addressed:

- docsource: use 'Nothing to do' in col-2 (not 'Done' + col-3
  'Nothing to do'); preserve original col-3 notes where present.
- hr_presence, hr_recruitment_survey, hr_timesheet: revert
  hand-edits of noupdate_changes.xml; load via openupgrade.load_data
  in a new post-migration.py.
- hr_recruitment, event: revert whitespace-only edits to
  noupdate_changes.xml.
- hr_fleet: delete_records_safely_by_xml_id in pre-migration for the
  5 orphan ir.rule + ir.ui.view xmlids; work file annotation updated.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 30, 2026
Mirrors OCA#5634 with reviewer feedback addressed:

- docsource: use 'Nothing to do' in col-2 (not 'Done' + col-3
  'Nothing to do'); preserve original col-3 notes where present.
- hr_presence, hr_recruitment_survey, hr_timesheet: revert
  hand-edits of noupdate_changes.xml; load via openupgrade.load_data
  in a new post-migration.py.
- hr_recruitment, event: revert whitespace-only edits to
  noupdate_changes.xml.
- hr_fleet: delete_records_safely_by_xml_id in pre-migration for the
  5 orphan ir.rule + ir.ui.view xmlids; work file annotation updated.
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from f4255b7 to 8300ef1 Compare May 30, 2026 01:53
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 30, 2026
Mirrors OCA#5634 with reviewer feedback addressed:

- docsource: use 'Nothing to do' in col-2 (not 'Done' + col-3
  'Nothing to do'); preserve original col-3 notes where present.
- hr_presence, hr_recruitment_survey, hr_timesheet: revert
  hand-edits of noupdate_changes.xml; load via openupgrade.load_data
  in a new post-migration.py.
- hr_recruitment, event: revert whitespace-only edits to
  noupdate_changes.xml.
- hr_fleet: delete_records_safely_by_xml_id in pre-migration for the
  5 orphan ir.rule + ir.ui.view xmlids; work file annotation updated.
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from 8300ef1 to 4d1eb3f Compare May 30, 2026 02:26
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 30, 2026
Mirrors OCA#5634 with reviewer feedback addressed:

- docsource: use 'Nothing to do' in col-2 (not 'Done' + col-3
  'Nothing to do'); preserve original col-3 notes where present.
- hr_presence, hr_recruitment_survey, hr_timesheet: revert
  hand-edits of noupdate_changes.xml; load via openupgrade.load_data
  in a new post-migration.py.
- hr_recruitment, event: revert whitespace-only edits to
  noupdate_changes.xml.
- hr_fleet: delete_records_safely_by_xml_id in pre-migration for the
  5 orphan ir.rule + ir.ui.view xmlids; work file annotation updated.
- hr_calendar, hr_gamification, hr_homeworking, hr_livechat,
  hr_maintenance, hr_org_chart, hr_recruitment_sms, hr_skills_event,
  hr_skills_slides, hr_skills_survey: all-new fields only, nothing to do.
- hr_fleet: DEL ir.rules/views removed via delete_records_safely_by_xml_id.
- hr_presence, hr_recruitment_survey, hr_timesheet: noupdate reloaded in
  post-migration.
@dnplkndll dnplkndll force-pushed the 19.0-mig-hr-family-trivial branch from 4d1eb3f to da04b92 Compare May 30, 2026 03:17
@dnplkndll dnplkndll closed this May 30, 2026
@dnplkndll dnplkndll deleted the 19.0-mig-hr-family-trivial branch May 30, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:openupgrade_scripts Module openupgrade_scripts series:19.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants