views: add recursive list members when computing list limitations
This commit is contained in:
parent
55422f752d
commit
2de2128b0c
|
@ -73,6 +73,16 @@ def get_mailbox(request, mailbox_id, back='inbox'):
|
|||
def user_mailing_list_names(user):
|
||||
return user.mailing_lists.values_list('name', flat=True)
|
||||
|
||||
def recursive_lists(lists):
|
||||
lists = set(lists)
|
||||
count = len(lists)
|
||||
while True:
|
||||
lists |= set(MailingList.objects.filter(members_lists__in=lists))
|
||||
if len(lists) == count:
|
||||
break
|
||||
count = len(lists)
|
||||
return lists
|
||||
|
||||
def get_file_form_kwargs(request):
|
||||
user = request.user
|
||||
kwargs = {}
|
||||
|
@ -83,6 +93,7 @@ def get_file_form_kwargs(request):
|
|||
.filter(lists_limitation__mailing_list__in=user_lists) \
|
||||
.distinct() \
|
||||
.order_by('name')
|
||||
lists = recursive_lists(lists)
|
||||
users = User.objects.filter(mailing_lists__in=lists, is_active=True) \
|
||||
.distinct()
|
||||
if lists:
|
||||
|
|
Loading…
Reference in New Issue