views: use delegation list to compute recipient limitations, fixes #3633
This commit is contained in:
parent
2de2128b0c
commit
454a2b1ae3
|
@ -85,9 +85,22 @@ def recursive_lists(lists):
|
|||
|
||||
def get_file_form_kwargs(request):
|
||||
user = request.user
|
||||
kwargs = {}
|
||||
if is_guest(user):
|
||||
user = user.delegations_by.get().by
|
||||
delegators = []
|
||||
else:
|
||||
delegators = User.objects.filter(
|
||||
Q(id=user.id) |
|
||||
Q(delegations_to__to=user)).distinct()
|
||||
user_lists = MailingList.objects.is_member_of(user)
|
||||
|
||||
own_limitations = MailingList.objects \
|
||||
.filter(lists_limitation__mailing_list__in=user_lists) \
|
||||
.distinct() \
|
||||
.order_by('name')
|
||||
if not own_limitations:
|
||||
return {}
|
||||
kwargs = {}
|
||||
user_lists = MailingList.objects.are_member_of([user] + list(delegators))
|
||||
if SendingLimitation.objects.filter(mailing_list__in=user_lists):
|
||||
lists = MailingList.objects \
|
||||
.filter(lists_limitation__mailing_list__in=user_lists) \
|
||||
|
|
Loading…
Reference in New Issue