views: pass the delegate user as user to the send file form when a guest delegate is sending

fixes #3590
This commit is contained in:
Benjamin Dauvergne 2013-09-11 12:59:11 +02:00
parent 2389b49ca9
commit c725f50c81
1 changed files with 4 additions and 5 deletions

View File

@ -124,14 +124,13 @@ def send_file(request, file_type_id):
reply_to = None
if 'reply_to' in request.GET:
reply_to = get_mailbox(request, request.GET['reply_to'])
if is_guest(request.user):
default_sender = request.user.delegations_by.all()[0].by
if hasattr(request.user, 'delegate'):
delegators = []
else:
default_sender = request.user
delegators = User.objects.filter(
Q(id=request.user.id) |
Q(delegations_to__to=request.user)).distinct()
real_user = getattr(request.user, 'delegate', request.user)
limitations = get_filetype_limitation(request.user)
if limitations:
if not limitations.filter(id=file_type.id).exists():
@ -140,7 +139,7 @@ def send_file(request, file_type_id):
if 'send' not in request.POST:
return redirect('outbox')
form = FileForm(request.POST, request.FILES,
default_sender=default_sender, user=request.user,
default_sender=request.user, user=real_user,
delegations=delegators, reply_to=reply_to,
file_type=file_type,
**get_file_form_kwargs(request))
@ -174,7 +173,7 @@ def send_file(request, file_type_id):
'try agrain later. If it still does not work then, contact '
'your administrator.'))
else:
form = FileForm(default_sender=default_sender, user=request.user,
form = FileForm(default_sender=request.user, user=real_user,
delegations=delegators, reply_to=reply_to,
file_type=file_type,
**get_file_form_kwargs(request))