Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[15.0][OU-ADD] website_event_track: Migration scripts #3751

Merged
merged 1 commit into from
Mar 7, 2023
Merged
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Copyright 2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from openupgradelib import openupgrade


def _check_sponsors(env):
"""If any sponsor found, mark website_event_exhibitor module to be installed, as
this is the new host for such model. Also renamed XML-IDs for commodity.
"""
if openupgrade.logged_query(env.cr, "SELECT id FROM event_sponsor LIMIT 1"):
openupgrade.logged_query(
env.cr,
"UPDATE ir_module_module SET state='to install' "
"WHERE name='website_event_exhibitor'",
)
openupgrade.rename_xmlids(
env.cr,
[
(
"website_event_track.event_sponsor_type1",
"website_event_exhibitor.event_sponsor_type1",
),
(
"website_event_track.event_sponsor_type2",
"website_event_exhibitor.event_sponsor_type2",
),
(
"website_event_track.event_sponsor_type3",
"website_event_exhibitor.event_sponsor_type3",
),
(
"website_event_track.event_sponsor_action_from_event",
"website_event_exhibitor.event_sponsor_action_from_event",
),
(
"website_event_track.event_sponsor_type_action",
"website_event_exhibitor.event_sponsor_type_action",
),
(
"website_event_track.menu_event_sponsor_type",
"website_event_exhibitor.menu_event_sponsor_type",
),
(
"website_event_track.event_sponsor",
"website_event_exhibitor.event_sponsor",
),
(
"website_event_track.event_sponsor_type_view_form",
"website_event_exhibitor.event_sponsor_type_view_form",
),
(
"website_event_track.event_sponsor_type_view_tree",
"website_event_exhibitor.event_sponsor_type_view_tree",
),
(
"website_event_track.event_sponsor_view_form",
"website_event_exhibitor.event_sponsor_view_form",
),
(
"website_event_track.event_sponsor_view_kanban",
"website_event_exhibitor.event_sponsor_view_kanban",
),
(
"website_event_track.event_sponsor_view_search",
"website_event_exhibitor.event_sponsor_view_search",
),
(
"website_event_track.event_sponsor_view_tree",
"website_event_exhibitor.event_sponsor_view_tree",
),
],
)
else:
openupgrade.delete_records_safely_by_xml_id(
env.cr,
[
"website_event_track.event_sponsor_type1",
"website_event_track.event_sponsor_type2",
"website_event_track.event_sponsor_type3",
],
)


@openupgrade.migrate()
def migrate(env, version):
_check_sponsors(env)
openupgrade.load_data(
env.cr, "website_event_track", "15.0.1.3/noupdate_changes.xml"
)
openupgrade.delete_record_translations(
env.cr, "website_event_track", ["mail_template_data_track_confirmation"]
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Copyright 2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.add_fields(
env,
[
(
"contact_email",
"event.track",
"event_track",
"char",
"False",
"website_event_track",
),
(
"contact_phone",
"event.track",
"event_track",
"char",
"False",
"website_event_track",
),
],
)
openupgrade.loggued_query(
env.cr,
"""UPDATE event_track et
SET contact_email = rp.email, contact_phone = rp.phone
FROM res_partner rp
WHERE rp.id = et.partner_id
AND rp.email IS NOT NULL OR rp.phone IS NOT NULL""",
)
openupgrade.rename_fields(
env,
[
(
"event.track.stage",
"event_track_stage",
"is_accepted",
"is_visible_in_agenda",
)
],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
---Models in module 'website_event_track'---
model event.sponsor (moved to website_event_exhibitor)
model event.sponsor.type (moved to website_event_exhibitor)
---Fields in module 'website_event_track'---
website_event_track / event.event / sponsor_count (integer) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.event / sponsor_ids (one2many) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / __last_update (datetime) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / _order : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / active (boolean) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_date_deadline (date) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_exception_decoration (selection): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_exception_icon (char): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_ids (one2many) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_state (selection) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_summary (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_type_icon (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_type_id (many2one) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / activity_user_id (many2one) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / display_name (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / email (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / event_id (many2one) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / image_128 (binary) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / image_256 (binary) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / image_512 (binary) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_attachment_count (integer): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_follower_ids (one2many): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_has_error (boolean) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_has_error_counter (integer): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_has_sms_error (boolean): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_ids (one2many) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_is_follower (boolean) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_main_attachment_id (many2one): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_needaction (boolean) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_needaction_counter (integer): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_partner_ids (many2many): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_unread (boolean) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / message_unread_counter (integer): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / mobile (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / my_activity_date_deadline (date): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / name (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / partner_email (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / partner_id (many2one) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / partner_mobile (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / partner_name (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / partner_phone (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / phone (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / sequence (integer) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / sponsor_type_id (many2one) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / url (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / website_image_url (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor / website_message_ids (one2many): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / __last_update (datetime) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / _order : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / display_name (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / display_ribbon_style (selection): module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / name (char) : module is now 'website_event_exhibitor' ('website_event_track')
website_event_track / event.sponsor.type / sequence (integer) : module is now 'website_event_exhibitor' ('website_event_track')
# DONE: post-migration. If any data found, mark website_event_exhibitor to install

website_event_track / event.track / contact_email (char) : NEW hasdefault: compute
website_event_track / event.track / contact_phone (char) : NEW hasdefault: compute
# DONE: pre-migration. Add columns to avoid the computation and do it manually through SQL

website_event_track / event.track / kanban_state_label (char) : NEW isfunction: function, stored
website_event_track / event.track.stage / legend_blocked (char) : NEW hasdefault: default
website_event_track / event.track.stage / legend_done (char) : NEW hasdefault: default
website_event_track / event.track.stage / legend_normal (char) : NEW hasdefault: default
# NOTHING TO DO. Let the ORM to do the defaults + compute

website_event_track / event.track / partner_company_name (char) : is now stored
website_event_track / event.track / partner_company_name (char) : not related anymore
# NOTHING TO DO: It exists already

website_event_track / event.track / partner_function (char) : is now stored
website_event_track / event.track / partner_function (char) : not related anymore
# NOTHING TO DO: It exists already

website_event_track / event.track.stage / description (text) : NEW
# NOTHING TO DO: New informative text that can be empty

website_event_track / event.track.stage / is_accepted (boolean) : DEL
website_event_track / event.track.stage / is_visible_in_agenda (boolean): NEW isfunction: function, stored
# DONE: pre-migration. Rename the column to get the same effect

website_event_track / event.track.stage / is_done (boolean) : DEL
# NOTHING TO DO: It served for publishing tracks, but the result is already done in event.track.is_published

website_event_track / event.track.stage / is_fully_accessible (boolean) : NEW isfunction: function, stored
# NOTHING TO DO: Let the ORM to compute this field

website_event_track / website.event.menu / menu_type (False) : selection_keys is now '['booth', 'community', 'exhibitor', 'introduction', 'location', 'meeting_room', 'register', 'track', 'track_proposal']' ('['community', 'meeting_room', 'track', 'track_proposal']')
# NOTHING TO DO: New values added

---XML records in module 'website_event_track'---
DEL event.sponsor.type: website_event_track.event_sponsor_type1 [renamed to website_event_exhibitor module] (noupdate)
DEL event.sponsor.type: website_event_track.event_sponsor_type2 [renamed to website_event_exhibitor module] (noupdate)
DEL event.sponsor.type: website_event_track.event_sponsor_type3 [renamed to website_event_exhibitor module] (noupdate)
DEL ir.actions.act_window: website_event_track.event_sponsor_action_from_event [renamed to website_event_exhibitor module]
DEL ir.actions.act_window: website_event_track.event_sponsor_type_action [renamed to website_event_exhibitor module]
DEL ir.ui.menu: website_event_track.menu_event_sponsor_type [renamed to website_event_exhibitor module]
DEL ir.ui.view: website_event_track.event_sponsor
DEL ir.ui.view: website_event_track.event_sponsor_type_view_form
DEL ir.ui.view: website_event_track.event_sponsor_type_view_tree
DEL ir.ui.view: website_event_track.event_sponsor_view_form
DEL ir.ui.view: website_event_track.event_sponsor_view_kanban
DEL ir.ui.view: website_event_track.event_sponsor_view_search
DEL ir.ui.view: website_event_track.event_sponsor_view_tree
# DONE: post-migration. Renamed XML-IDs if website_event_exhibitor should be installed. Remove noupdate=1 record otherwise

NEW ir.model.access: website_event_track.access_event_track
NEW ir.model.access: website_event_track.access_event_track_location
NEW ir.model.access: website_event_track.access_event_track_location_user
NEW ir.model.access: website_event_track.access_event_track_stage
NEW ir.model.access: website_event_track.access_event_track_stage_manager
NEW ir.model.access: website_event_track.access_event_track_tag
NEW ir.model.access: website_event_track.access_event_track_tag_category
NEW ir.model.access: website_event_track.access_event_track_tag_category_user
NEW ir.model.access: website_event_track.access_event_track_user
NEW ir.model.access: website_event_track.access_event_track_visitor
NEW ir.model.access: website_event_track.access_event_track_visitor_manager
DEL ir.model.access: website_event_track.access_event_track__public
DEL ir.model.access: website_event_track.access_event_track_location_public
DEL ir.model.access: website_event_track.access_event_track_sponsor_manager
DEL ir.model.access: website_event_track.access_event_track_sponsor_public
DEL ir.model.access: website_event_track.access_event_track_sponsor_type_manager
DEL ir.model.access: website_event_track.access_event_track_sponsor_type_public
DEL ir.model.access: website_event_track.access_event_track_stage_all
DEL ir.model.access: website_event_track.access_event_track_stage_event_manager
DEL ir.model.access: website_event_track.access_event_track_tag_public
DEL ir.model.access: website_event_track.event_track_tag_category_access_manager
DEL ir.model.access: website_event_track.event_track_tag_category_access_public
DEL ir.model.access: website_event_track.event_track_visitor_access_all
DEL ir.model.access: website_event_track.event_track_visitor_access_manager
NEW ir.ui.view: website_event_track.event_track_proposal_contact_details
NEW ir.ui.view: website_event_track.track_card
NEW ir.ui.view: website_event_track.track_cards_section
DEL ir.ui.view: website_event_track.assets_frontend
DEL ir.ui.view: website_event_track.event_layout
DEL ir.ui.view: website_event_track.event_track_proposal_success
DEL ir.ui.view: website_event_track.tracks_cards_track
DEL ir.ui.view: website_event_track.website_visitor_view_kanban
# NOTHING TO DO: noupdate=0 data