From 768aa7990be111471022f9b3da084627b96f4829 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 18 Feb 2015 10:30:51 +0100 Subject: [PATCH 1/2] This event can raise a list of alias too... see #693 --- modoboa/extensions/amavis/general_callbacks.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modoboa/extensions/amavis/general_callbacks.py b/modoboa/extensions/amavis/general_callbacks.py index c98c5fb24..2f64fcc54 100644 --- a/modoboa/extensions/amavis/general_callbacks.py +++ b/modoboa/extensions/amavis/general_callbacks.py @@ -103,12 +103,14 @@ def on_mailboxalias_created(user, alias): @events.observe("MailboxAliasDeleted") -def on_mailboxalias_deleted(alias): +def on_mailboxalias_deleted(aliases): """Clean amavis database when an alias is removed.""" if parameters.get_admin("MANUAL_LEARNING") == "no": return - if Users.objects.filter(email=alias.full_address).exists(): - Users.objects.delete(email=alias.full_address) + if isinstance(aliases, Alias): + aliases = [aliases] + aliases = [alias.full_address for alias in aliases] + Users.objects.filter(email__in=aliases).delete() @events.observe("GetStaticContent") From 2e99cf7690c2fa759ffbe0781c0b8cbc3448f810 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 18 Feb 2015 10:34:40 +0100 Subject: [PATCH 2/2] Import Alias model. see #693 --- modoboa/extensions/amavis/general_callbacks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modoboa/extensions/amavis/general_callbacks.py b/modoboa/extensions/amavis/general_callbacks.py index 2f64fcc54..76b994e16 100644 --- a/modoboa/extensions/amavis/general_callbacks.py +++ b/modoboa/extensions/amavis/general_callbacks.py @@ -3,7 +3,7 @@ from django.utils.translation import ugettext as _ from django.template import Template, Context from modoboa.lib import events, parameters -from modoboa.extensions.admin.models import DomainAlias +from modoboa.extensions.admin.models import DomainAlias, Alias from modoboa.extensions.amavis.lib import ( create_user_and_policy, update_user_and_policy, delete_user_and_policy, create_user_and_use_policy, delete_user