Fix support for send document links and attachments
This commit is contained in:
@@ -7,14 +7,12 @@ from mayan.celery import app
|
||||
|
||||
|
||||
@app.task(ignore_result=True)
|
||||
def task_send_document(subject_text, body_text_content, sender, recipient, document_ids=None):
|
||||
def task_send_document(subject_text, body_text_content, sender, recipient, document_id, as_attachment=False):
|
||||
email_msg = EmailMultiAlternatives(subject_text, body_text_content, sender, [recipient])
|
||||
|
||||
if document_ids:
|
||||
documents = [Document.objects.get(pk=document_id) for document_id in document_ids]
|
||||
for document in documents:
|
||||
descriptor = document.open()
|
||||
if as_attachment:
|
||||
document = Document.objects.get(pk=document_id)
|
||||
with document.open() as descriptor:
|
||||
email_msg.attach(document.label, descriptor.read(), document.file_mimetype)
|
||||
descriptor.close()
|
||||
|
||||
email_msg.send()
|
||||
|
||||
@@ -63,7 +63,7 @@ def send_document_link(request, document_id=None, document_id_list=None, as_atta
|
||||
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')
|
||||
task_send_document.apply_async(args=(subject_text, body_text_content, request.user.email, form.cleaned_data['email']), kwargs={'document_id': document.pk, 'as_attachment': as_attachment}, queue='mailing')
|
||||
|
||||
# TODO: Pluralize
|
||||
messages.success(request, _('Successfully queued for delivery via email.'))
|
||||
|
||||
Reference in New Issue
Block a user