From e3c66953c585dd9137990e14087799da353e8934 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 3 Nov 2014 02:56:04 -0400 Subject: [PATCH] Initial support for mailing multiple documents --- mayan/apps/mailer/views.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/mayan/apps/mailer/views.py b/mayan/apps/mailer/views.py index b46018a1f9..f827c5fe8d 100644 --- a/mayan/apps/mailer/views.py +++ b/mayan/apps/mailer/views.py @@ -50,20 +50,23 @@ def send_document_link(request, document_id=None, document_id_list=None, as_atta if request.method == 'POST': form = DocumentMailForm(request.POST, as_attachment=as_attachment) if form.is_valid(): - context = Context({ - 'link': 'http://%s%s' % (Site.objects.get_current().domain, reverse('documents:document_view_simple', args=[document.pk])), - 'document': document - }) - body_template = Template(form.cleaned_data['body']) - body_html_content = body_template.render(context) - body_text_content = strip_tags(body_html_content) - subject_template = Template(form.cleaned_data['subject']) - subject_text = strip_tags(subject_template.render(context)) + for document in documents: + context = Context({ + 'link': 'http://%s%s' % (Site.objects.get_current().domain, reverse('documents:document_view_simple', args=[document.pk])), + 'document': document + }) + body_template = Template(form.cleaned_data['body']) + body_html_content = body_template.render(context) + body_text_content = strip_tags(body_html_content) - task_send_document.apply_async(args=(subject_text, body_text_content, request.user.email, form.cleaned_data['email']), kwargs={'document_ids': [document.pk for document in documents]}, queue='mailing') + subject_template = Template(form.cleaned_data['subject']) + subject_text = strip_tags(subject_template.render(context)) + + task_send_document.apply_async(args=(subject_text, body_text_content, request.user.email, form.cleaned_data['email']), kwargs={'document_ids': [document.pk for document in documents]}, queue='mailing') + + # TODO: Pluralize messages.success(request, _('Successfully queued for delivery via email.')) - return HttpResponseRedirect(next) else: form = DocumentMailForm(as_attachment=as_attachment)