Sha256: 51501e990133e605562a1a6d4c432eb9f40eb3fdaf87e277ee8181be01bb0179
Contents?: true
Size: 1.29 KB
Versions: 114
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true require_dependency "renalware/letters" module Renalware module Letters # Responsible for allowing a user to view/download a printable PDF that can be sent to an # envelope stuffer. It will contain intervleaved address sheets and letters so that the machine # can stuff a letter for each letter recipient. class PrintableLettersController < Letters::BaseController def show letter = find_letter(params[:letter_id]) authorize letter letter = present_letter(letter) render_pdf_as_collated_address_sheet_and_letter_for_each_recipient(letter) end private def find_letter(id) patient.letters .approved .with_patient .with_main_recipient .with_cc_recipients .find(id) end def present_letter(letter) LetterPresenterFactory.new(letter) end def render_pdf_as_collated_address_sheet_and_letter_for_each_recipient(letter) send_data( Printing::DuplexInterleavedPdfRenderer.call(letter), filename: letter.pdf_filename, type: "application/pdf", disposition: disposition ) end def disposition params.fetch("disposition", "inline") end end end end
Version data entries
114 entries across 114 versions & 1 rubygems