def first_post_letter(letter): pdfs = [] pdfs.append( utils.render_tex_to_pdf("correspondence/first-post-template.tex", {'letter': letter})) # First post, if any. First post uses a dynamic document rather than the # letter.document field, so that if a document is ever removed/unpublished, # we get the updated "first post" on printout. try: document = Document.objects.filter( status="published", type="post", author__pk=letter.recipient.pk).order_by('date_written')[0] pdfs.append(utils.url_to_pdf(document.get_absolute_url())) except IndexError: pass # Profile, if any if Document.objects.filter( status="published", type="profile", author__pk=letter.recipient.pk).order_by('-date_written').exists(): pdfs.append( utils.url_to_pdf(letter.recipient.profile.get_absolute_url())) if not pdfs: return None combined_pdf = utils.combine_pdfs(*pdfs) for pdf in pdfs: os.remove(pdf) return combined_pdf
def comment_removal(letter): return utils.render_tex_to_pdf( "correspondence/comment-removal.tex", { 'letter': letter, 'comment': letter.comments.get(), 'message': letter.body, })
def first_post_letter(letter): pdfs = [] pdfs.append( utils.render_tex_to_pdf("correspondence/first-post-template.tex", { 'letter': letter }) ) # First post, if any. First post uses a dynamic document rather than the # letter.document field, so that if a document is ever removed/unpublished, # we get the updated "first post" on printout. try: document = Document.objects.filter(status="published", type="post", author__pk=letter.recipient.pk).order_by('date_written')[0] pdfs.append(utils.url_to_pdf(document.get_absolute_url())) except IndexError: pass # Profile, if any if Document.objects.filter(status="published", type="profile", author__pk=letter.recipient.pk).order_by('-date_written').exists(): pdfs.append(utils.url_to_pdf(letter.recipient.profile.get_absolute_url())) if not pdfs: return None combined_pdf = utils.combine_pdfs(*pdfs) for pdf in pdfs: os.remove(pdf) return combined_pdf
def generic_letter(letter): if letter.is_postcard: return utils.render_postcard( "correspondence/generic-postcard.txt", {"letter": letter, "address": letter.recipient.profile.full_address()}, ) else: return utils.render_tex_to_pdf("correspondence/generic-letter.tex", {"letter": letter})
def generic_letter(letter): if letter.is_postcard: return utils.render_postcard("correspondence/generic-postcard.txt", { 'letter': letter, 'address': letter.recipient.profile.full_address() }) else: return utils.render_tex_to_pdf("correspondence/generic-letter.tex", { 'letter': letter, })
def comments_letter(letter): pdfs = [ # cover letter utils.render_tex_to_pdf("correspondence/comment-mailing.tex", {"letter": letter}), utils.url_to_pdf(reverse("correspondence.recent_comments_letter", args=[letter.pk])), ] combined_pdf = utils.combine_pdfs(*pdfs) for pdf in pdfs: os.remove(pdf) return combined_pdf
def consent_form(letter): parts = [] delete_after = [] if letter.org.custom_intro_packet: parts.append(letter.org.custom_intro_packet.path) else: cover = utils.render_tex_to_pdf("correspondence/intro-packet-cover.tex", {"letter": letter}) parts.append(cover) delete_after.append(cover) packet = utils.render_tex_to_pdf( "correspondence/intro-packet-packet.tex", {"MEDIA_ROOT": settings.MEDIA_ROOT, "letter": letter} ) parts.append(packet) delete_after.append(packet) parts.append(os.path.join(settings.MEDIA_ROOT, "intro", "license.pdf")) combined = utils.combine_pdfs(*parts, add_blanks=True) for pdf in delete_after: os.remove(pdf) return combined
def comments_letter(letter): pdfs = [ # cover letter utils.render_tex_to_pdf("correspondence/comment-mailing.tex", {'letter': letter}), utils.url_to_pdf( reverse("correspondence.recent_comments_letter", args=[letter.pk])) ] combined_pdf = utils.combine_pdfs(*pdfs) for pdf in pdfs: os.remove(pdf) return combined_pdf
def consent_form(letter): parts = [] delete_after = [] if letter.org.custom_intro_packet: parts.append(letter.org.custom_intro_packet.path) else: cover = utils.render_tex_to_pdf( "correspondence/intro-packet-cover.tex", {'letter': letter}) parts.append(cover) delete_after.append(cover) packet = utils.render_tex_to_pdf( "correspondence/intro-packet-packet.tex", { 'MEDIA_ROOT': settings.MEDIA_ROOT, 'letter': letter }) parts.append(packet) delete_after.append(packet) parts.append(os.path.join(settings.MEDIA_ROOT, "intro", "license.pdf")) combined = utils.combine_pdfs(*parts, add_blanks=True) for pdf in delete_after: os.remove(pdf) return combined
def refused_original(letter): return utils.render_tex_to_pdf( "correspondence/refused-original.tex", { 'letter': letter, 'address': letter.recipient.profile.full_address(), })
def signup_complete_letter(letter): return utils.render_tex_to_pdf( "correspondence/created-packet-template.tex", {'letter': letter})
def signup_complete_letter(letter): return utils.render_tex_to_pdf("correspondence/created-packet-template.tex", { 'letter': letter })
def comment_removal(letter): return utils.render_tex_to_pdf("correspondence/comment-removal.tex", { 'letter': letter, 'comment': letter.comments.get(), 'message': letter.body, })
def refused_original(letter): return utils.render_tex_to_pdf("correspondence/refused-original.tex", { 'letter': letter, 'address': letter.recipient.profile.full_address(), })
def comment_removal(letter): return utils.render_tex_to_pdf( "correspondence/comment-removal.tex", {"letter": letter, "comment": letter.comments.get(), "message": letter.body}, )
def returned_original(letter): return utils.render_tex_to_pdf( "correspondence/returned-original.tex", {"letter": letter, "address": letter.recipient.profile.full_address()} )