From ed941fef8983bde4b2cfd04eb0a87de81584c895 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 17 Feb 2016 21:13:55 +0200 Subject: [PATCH] Enabled downloading PDF through route --- app/Http/Controllers/PublicClientController.php | 8 +++++++- app/Models/Invoice.php | 2 +- app/Ninja/Mailers/ContactMailer.php | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/PublicClientController.php b/app/Http/Controllers/PublicClientController.php index f52e850e5826..9d806061d88c 100644 --- a/app/Http/Controllers/PublicClientController.php +++ b/app/Http/Controllers/PublicClientController.php @@ -174,7 +174,13 @@ class PublicClientController extends BaseController $invoice = $invitation->invoice; $pdfString = $invoice->getPDFString(); - dd($pdfString); + header('Content-Type: application/pdf'); + header('Content-Length: ' . strlen($pdfString)); + header('Content-disposition: attachment; filename="' . $invoice->getFileName() . '"'); + header('Cache-Control: public, must-revalidate, max-age=0'); + header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + + return $pdfString; } public function dashboard() diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index b8d31b97e7dd..4e15934efeb3 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -750,7 +750,7 @@ class Invoice extends EntityModel implements BalanceAffecting return false; } - return $pdfString; + return Utils::decodePDF($pdfString); } } diff --git a/app/Ninja/Mailers/ContactMailer.php b/app/Ninja/Mailers/ContactMailer.php index 6d588de3439e..dc513c3e8822 100644 --- a/app/Ninja/Mailers/ContactMailer.php +++ b/app/Ninja/Mailers/ContactMailer.php @@ -56,7 +56,7 @@ class ContactMailer extends Mailer $sent = false; if ($account->attatchPDF() && !$pdfString) { - $pdfString = Utils::decodePDF($invoice->getPDFString()); + $pdfString = $invoice->getPDFString(); } foreach ($invoice->invitations as $invitation) { @@ -184,7 +184,7 @@ class ContactMailer extends Mailer ]; if ($account->attatchPDF()) { - $data['pdfString'] = Utils::decodePDF($invoice->getPDFString()); + $data['pdfString'] = $invoice->getPDFString(); $data['pdfFileName'] = $invoice->getFileName(); }