[19.0][MIG] website_*: complete analyses for 31 uncharted modules#5633
Open
dnplkndll wants to merge 1 commit into
Open
[19.0][MIG] website_*: complete analyses for 31 uncharted modules#5633dnplkndll wants to merge 1 commit into
dnplkndll wants to merge 1 commit into
Conversation
Adds upgrade_analysis_work.txt for the 31 website_* modules that were not yet claimed in OCA#5363 and had only the auto-generated upgrade_analysis.txt. The umbrella's three website* checkboxes (website, website_payment, website_sale) are unaffected. Modules covered: website_blog, website_crm_iap_reveal, website_crm_partner_assign, website_customer, website_event, website_event_booth, website_event_booth_sale_exhibitor, website_event_exhibitor, website_event_sale, website_event_track, website_event_track_live, website_forum, website_hr_recruitment, website_livechat, website_mail_group, website_mass_mailing, website_mass_mailing_sms, website_partner, website_profile, website_project, website_sale_collect, website_sale_collect_wishlist, website_sale_comparison, website_sale_loyalty, website_sale_mondialrelay, website_sale_slides, website_sale_stock, website_sale_wishlist, website_slides, website_slides_forum, website_slides_survey. The annotations follow the OCA convention (one comment block per analysis section): NEW fields with defaults, "is now stored", "now a function", added selection_keys, NEW ir.ui.view/ir.asset/mail.template/ ir.model.access/ir.rule/ir.model.constraint, and DEL ir.ui.view/etc. are all marked NOTHING TO DO — the 19.0 XML and Odoo's standard upgrade flow cover them, and database_cleanup handles residual stale fields/ columns/tables once the new version is in use. The one block that needs code is website_event/website.event.menu.menu_type selection_keys (added: [other], removed: [location, track, track_proposal] cumulative across this module + website_event_exhibitor + website_event_track). website_event/19.0.1.4/pre-migration.py maps existing rows with the removed values to "other", which is the new catch-all key, preserving the records. The three submodules that also report the same selection change defer to website_event/pre-migration via a NOTHING TO DO annotation. Happy to split into sub-family PRs (website_sale_*, website_event_*, website_slides_*, website_mass_mailing*, other) if preferred.
d5f0e0e to
7cde3bf
Compare
This was referenced 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
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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
upgrade_analysis_work.txtfor the 31 website_ modules* thatwere not yet claimed in #5363 and had only the auto-generated
upgrade_analysis.txt(no work-doc, no scripts, no umbrella entry).The three website* modules already done in the umbrella
(
website#5573,website_payment#5585,website_sale#5585)are unaffected.
Plus one minimal
post-migration.pyforwebsite_eventto remapremoved
menu_typeselection values (location,track,track_proposal) to the newotherkey, preserving existing menurecords.
Why
For each of the 31 modules: a single
upgrade_analysis_work.txtcreated with one annotation per non-empty analysis section, mirroring
hbrunn's style on adjacent
[MIG] <module>-only commits(
[MIG] bus,[MIG] http_routing,[MIG] resource_mail,[MIG] pos_restaurant).Most blocks annotate as
# NOTHING TO DO:/ DEL ir.actions.act_window / DEL ir.ui.menu — Odoo's standard
upgrade flow +
database_cleanuphandle these (per [19.0][MIG] partner_autocomplete: cleanup obsolete res.partner/res.company fields #5631 review).hasdefault: default— Odoo populates the default.XML creates them on load.
is now stored/now a function— Odoo'sinit_modelsrecomputes/migrates on first registry init.
module is now 'X' ('Y')— field ownership shifted betweenmodules; standard upgrade flow updates
ir_model_fields,database_cleanuphandles residualir_model_datarows.The single
# DONEblock iswebsite_event'swebsite.event.menu.menu_typeselection_keys change. The cumulativeremoval across this module +
website_event_exhibitor+website_event_trackis[location, track, track_proposal];otherwas added. Existing rows with the removed values get remappedto
otherin post-migration so the data is preserved.How
website_event/19.0.1.4/post-migration.pyuses ORM:```python
env["website.event.menu"].search(
[("menu_type", "in", ("location", "track", "track_proposal"))]
).menu_type = "other"
```
The three submodules that report the same selection change annotate as
# NOTHING TO DO— the data normalization happens once inwebsite_event.Test plan
pre-commit run --all-filesagainst all changed files: clean(ruff, ruff-format, pylint_odoo, prettier).
(The lab Tier 1 baseline I have locally doesn't include any of the 31
modules, so it can't validate the migration end-to-end here; deferring
to OCA CI for that.)
Companion PRs / context
[19.0][IMP] hr: backfill NULL create_date/write_date[19.0][FIX] loyalty: clear stale mail.template.langapplied here mirrors [19.0][MIG] partner_autocomplete: cleanup obsolete res.partner/res.company fields #5631's review (no orphan cleanup; preserve data;
defer to
database_cleanupfor residuals).Split?
Happy to split this into 5 sub-family PRs if preferred:
website_sale_*(8),website_event_*(7),website_slides_*(3),website_mass_mailing*(2), otherwebsite_*(~11). One PR waschosen first because the modules are largely annotation-only and the
work-doc shape is uniform across the set.