models: do not aggregate delegate recursively when computing the set of users to notify about a document

This commit is contained in:
Benjamin Dauvergne 2013-09-17 21:27:14 +02:00
parent b72fd7cd0a
commit c26751db6b
1 changed files with 1 additions and 2 deletions

View File

@ -734,8 +734,7 @@ class DocbowProfile(Model):
class NotificationManager(Manager):
def notify(self, document=None, users=None, kind='new-document', ctx=None):
'''Build notifications in bulk'''
users = utils.queryset_fixpoint(users,
lambda s: User.objects.filter(delegations_by__by__in=s))
users = set(users) | set(User.objects.filter(delegations_by__by__in=users))
users = User.objects.filter(pk__in=[u.pk for u in users]) \
.exclude(docbowprofile__accept_notifications=False)
notifications = [Notification(user=user, document=document, kind=kind, ctx=ctx)