diff --git a/migrations/14.0.1.0.2/post-migration.py b/migrations/14.0.1.0.2/post-migration.py new file mode 100644 index 0000000000000000000000000000000000000000..fc431dafc644a889769a3515d49beefff5931f52 --- /dev/null +++ b/migrations/14.0.1.0.2/post-migration.py @@ -0,0 +1,82 @@ +# © 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from openupgradelib import openupgrade + +_logger = logging.getLogger(__name__) + + +def update_status_project_accompagnement(env): + # Todo: Voir si on passe à Suivi ou Accompagnement et si on passe à Phase adhésion + # Confirmation docs à avoir + openupgrade.logged_query( + env.cr, + """ + UPDATE res_partner rsp + SET project_status = '3_accompagnement' + WHERE rsp.project_status = '4_adhesion' + """, + ) + +def update_status_project_soumis_cg(env): + openupgrade.logged_query( + env.cr, + """ + UPDATE res_partner rsp + SET project_status = '4_suivi', membership_status='soumis_cg' + WHERE rsp.project_status = '5_cg' + """, + ) + +# def update_status_project_suivi(env): +# openupgrade.logged_query( +# env.cr, +# """ +# UPDATE res_partner rsp +# SET project_status = '4_suivi' +# WHERE rsp.project_status = '6_suivi' +# """, +# ) +# +# def update_status_project_abandonne(env): +# openupgrade.logged_query( +# env.cr, +# """ +# UPDATE res_partner rsp +# SET project_status = '5_abandonne' +# WHERE rsp.project_status = '7_abandonne' +# """, +# ) +# +# def update_status_decede(env): +# openupgrade.logged_query( +# env.cr, +# """ +# UPDATE res_partner rsp +# SET project_status = '6_decede' +# WHERE rsp.dissolution_date IS NOT NULL +# """, +# ) + +def update_with_new_status(env): + openupgrade.logged_query( + env.cr, + """ + UPDATE res_partner rsp + SET project_status = CASE + WHEN rsp.dissolution_date IS NOT NULL THEN '6_decede' + WHEN rsp.project_status = '6_suivi' THEN '4_suivi' + WHEN rsp.project_status = '7_abandonne' THEN '5_abandonne' + """, + ) + +@openupgrade.migrate() +def migrate(env, version): + update_status_project_accompagnement(env) + update_status_project_soumis_cg(env) + update_with_new_status(env) + # update_status_project_suivi(env) + # update_status_project_abandonne(env) + # update_status_decede(env) diff --git a/migrations/14.0.1.0.2/upgrade_analysis.txt b/migrations/14.0.1.0.2/upgrade_analysis.txt new file mode 100644 index 0000000000000000000000000000000000000000..db54504b32b90f80d98a75bc486c0044eff9ffb0 --- /dev/null +++ b/migrations/14.0.1.0.2/upgrade_analysis.txt @@ -0,0 +1,3 @@ +---Fields in module 'cgscop_partner'--- +cgscop_partner / res.partner / project_status (selection) : selection_keys is now '['1_information','2_pre-diagnostic','3_accompagnement', '4_suivi', '5_abandonne', '6_decede'] ('['1_information','2_pre-diagnostic','3_accompagnement', '4_adhesion', '5_cg', '6_suivi', '7_abandonne']') +cgscop_partner / res.partner / membership_status (selection) : selection_keys is now '['not_member', 'adhesion', 'soumis_cg', 'member', 'out'] ('['not_member', 'adhesion', 'soumis_cg', 'member', 'out']')