diff --git a/docbow_project/docbow/views.py b/docbow_project/docbow/views.py index 8aab2d1..dd38e46 100644 --- a/docbow_project/docbow/views.py +++ b/docbow_project/docbow/views.py @@ -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) \