From b889c7c6e024840b96adc097cd0a5e581f0a01d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Gil=20Sorribes?= Date: Tue, 7 May 2019 17:25:20 +0200 Subject: [PATCH] [ADD] uninstall_hook to remove done activities --- mail_activity_done/__init__.py | 2 +- mail_activity_done/__manifest__.py | 2 +- mail_activity_done/hooks.py | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mail_activity_done/__init__.py b/mail_activity_done/__init__.py index 74fbdef2..320b63a4 100644 --- a/mail_activity_done/__init__.py +++ b/mail_activity_done/__init__.py @@ -1,2 +1,2 @@ from . import models -from .hooks import post_load_hook, pre_init_hook +from .hooks import post_load_hook, pre_init_hook, uninstall_hook diff --git a/mail_activity_done/__manifest__.py b/mail_activity_done/__manifest__.py index f539b3d7..31e60803 100644 --- a/mail_activity_done/__manifest__.py +++ b/mail_activity_done/__manifest__.py @@ -16,5 +16,5 @@ ], "pre_init_hook": "pre_init_hook", "post_load": "post_load_hook", - + 'uninstall_hook': 'uninstall_hook', } diff --git a/mail_activity_done/hooks.py b/mail_activity_done/hooks.py index 619cd44f..7528dd0f 100644 --- a/mail_activity_done/hooks.py +++ b/mail_activity_done/hooks.py @@ -52,3 +52,15 @@ def post_load_hook(): if not hasattr(MailActivity, 'action_feedback_original'): MailActivity.action_feedback_original = MailActivity.action_feedback MailActivity.action_feedback = new_action_feedback + + +def uninstall_hook(cr, registry): + """ The objective of this hook is to remove all activities that are done + upon module uninstall + """ + cr.execute( + """ + DELETE FROM mail_activity + WHERE done=True + """ + )