From 0e0306e77c0141e4f1b6ca4665f4bcef989c42ed Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 8 Mar 2016 19:07:08 +0100 Subject: [PATCH 1/2] Fix #841 --- .../admin/management/commands/subcommands/_export.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/modoboa/admin/management/commands/subcommands/_export.py b/modoboa/admin/management/commands/subcommands/_export.py index 6cf4c6e91..4786e3462 100644 --- a/modoboa/admin/management/commands/subcommands/_export.py +++ b/modoboa/admin/management/commands/subcommands/_export.py @@ -36,14 +36,12 @@ class ExportCommand(BaseCommand): u.to_csv(self.csvwriter) dumped_aliases = [] qset = ( - models.AliasRecipient.objects.filter(r_alias__isnull=False) - .distinct("r_alias") - .select_related("r_alias") - .prefetch_related("r_alias__aliasrecipient_set") + models.Alias.objects.exclude(alias_recipient_aliases=None) + .distinct().prefetch_related("aliasrecipient_set") ) - for alr in qset: - alr.r_alias.to_csv(self.csvwriter) - dumped_aliases += [alr.r_alias.pk] + for alias in qset: + alias.to_csv(self.csvwriter) + dumped_aliases += [alias.pk] qset = ( models.Alias.objects.exclude(pk__in=dumped_aliases) .prefetch_related('aliasrecipient_set') From ce55746caa7ad772a4131e990721687ab0b5eb0a Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 9 Mar 2016 10:54:13 +0100 Subject: [PATCH 2/2] Fix export order. --- modoboa/admin/models/alias.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modoboa/admin/models/alias.py b/modoboa/admin/models/alias.py index 7964b1dee..ac446b8c8 100644 --- a/modoboa/admin/models/alias.py +++ b/modoboa/admin/models/alias.py @@ -147,7 +147,10 @@ class Alias(AdminObject): @property def recipients(self): """Return the recipient list.""" - return self.aliasrecipient_set.values_list("address", flat=True) + return ( + self.aliasrecipient_set.order_by("address") + .values_list("address", flat=True) + ) @property def recipients_count(self):