Skip to content

Commit

Permalink
[OU-ADD] maintenance: Migration to 17.0
Browse files Browse the repository at this point in the history
TT50085
  • Loading branch information
victoralmau committed Nov 6, 2024
1 parent 1456517 commit d26b0ff
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docsource/modules160-170.rst
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ Module coverage 16.0 -> 17.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| mail_plugin | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| maintenance | | |
| maintenance | Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| mass_mailing | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env, "maintenance", "17.0.1.0/noupdate_changes.xml")
36 changes: 36 additions & 0 deletions openupgrade_scripts/scripts/maintenance/17.0.1.0/pre-migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib import openupgrade


def _maintenance_request_company_id(env):
"""We set the company_id value for requests that do not have it.
We get the value of what will be deductively most appropriate (equipment, team or
user).
"""
openupgrade.logged_query(
env.cr,
"""UPDATE maintenance_request AS request
SET company_id = equipment.company_id
FROM maintenance_equipment AS equipment
WHERE request.company_id IS NULL AND request.equipment_id IS NOT NULL""",
)
openupgrade.logged_query(
env.cr,
"""UPDATE maintenance_request AS request
SET company_id = team.company_id
FROM maintenance_team AS team
WHERE request.company_id IS NULL AND request.maintenance_team_id IS NOT NULL""",
)
openupgrade.logged_query(
env.cr,
"""UPDATE maintenance_request AS request
SET company_id = u.company_id
FROM res_users AS u
WHERE request.company_id IS NULL AND request.user_id IS NOT NULL""",
)


@openupgrade.migrate()
def migrate(env, version):
_maintenance_request_company_id(env)
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---Models in module 'maintenance'---
new model maintenance.mixin [abstract]
---Fields in module 'maintenance'---
maintenance / maintenance.equipment / activity_user_id (many2one) : not related anymore
maintenance / maintenance.equipment / activity_user_id (many2one) : now a function
maintenance / maintenance.equipment / expected_mtbf (integer) : NEW
maintenance / maintenance.equipment / maintenance_duration (float) : DEL
maintenance / maintenance.equipment / message_main_attachment_id (many2one): DEL relation: ir.attachment
maintenance / maintenance.equipment / next_action_date (date) : DEL
maintenance / maintenance.equipment / period (integer) : DEL
maintenance / maintenance.equipment.category / message_main_attachment_id (many2one): DEL relation: ir.attachment
maintenance / maintenance.request / activity_user_id (many2one) : not related anymore
maintenance / maintenance.request / activity_user_id (many2one) : now a function
# NOTHING TO DO
maintenance / maintenance.request / company_id (many2one) : now required
# DONE: pre-migration: Define the most appropriate value
maintenance / maintenance.request / instruction_google_slide (char): NEW
maintenance / maintenance.request / instruction_pdf (binary) : NEW attachment: True
maintenance / maintenance.request / instruction_text (html) : NEW
maintenance / maintenance.request / instruction_type (selection) : NEW selection_keys: ['google_slide', 'pdf', 'text'], hasdefault: default
maintenance / maintenance.request / message_main_attachment_id (many2one): DEL relation: ir.attachment
# NOTHING TO DO
maintenance / maintenance.request / recurring_maintenance (boolean): NEW hasdefault: compute
# Pending
maintenance / maintenance.request / repeat_interval (integer) : NEW hasdefault: default
maintenance / maintenance.request / repeat_type (selection) : NEW selection_keys: ['forever', 'until'], hasdefault: default
maintenance / maintenance.request / repeat_unit (selection) : NEW selection_keys: ['day', 'month', 'week', 'year'], hasdefault: default
maintenance / maintenance.request / repeat_until (date) : NEW
# NOTHING TO DO
---XML records in module 'maintenance'---
NEW ir.actions.act_window: maintenance.action_maintenance_configuration
DEL ir.cron: maintenance.maintenance_requests_cron
NEW ir.ui.menu: maintenance.menu_maintenance_config
NEW ir.ui.view: maintenance.maintenance_request_view_activity
NEW ir.ui.view: maintenance.res_config_settings_view_form
DEL mail.alias: maintenance.mail_alias_equipment (noupdate)

0 comments on commit d26b0ff

Please sign in to comment.