From a264f5ecb7871f330c4757e773d7e3657be67025 Mon Sep 17 00:00:00 2001 From: sigitas Date: Fri, 17 Apr 2015 11:18:58 +0300 Subject: [PATCH] pdf download fixed --- config/app.php | 2 +- public/css/built.css | 2 +- public/js/built.js | 15 ++++++++++----- public/js/pdf.pdfmake.js | 7 ++++--- public/js/script.js | 8 ++++++-- resources/views/accounts/invoice_design.blade.php | 3 ++- resources/views/invoices/edit.blade.php | 6 ++++-- resources/views/invoices/history.blade.php | 3 ++- resources/views/invoices/view.blade.php | 5 +++-- 9 files changed, 33 insertions(+), 18 deletions(-) diff --git a/config/app.php b/config/app.php index a8dd21bff24c..abde67d6c506 100644 --- a/config/app.php +++ b/config/app.php @@ -13,7 +13,7 @@ return [ | */ - 'debug' => env('APP_DEBUG', ''), + 'debug' => env('APP_DEBUG', 'true'), /* |-------------------------------------------------------------------------- diff --git a/public/css/built.css b/public/css/built.css index bc5b107ccf87..ceab94f6f122 100644 --- a/public/css/built.css +++ b/public/css/built.css @@ -2875,4 +2875,4 @@ body.modal-open { overflow:inherit; padding-right:inherit !important; } div.checkbox > label { padding-left: 0px !important; -} +} \ No newline at end of file diff --git a/public/js/built.js b/public/js/built.js index f2489077e991..6ba7a74f2cae 100644 --- a/public/js/built.js +++ b/public/js/built.js @@ -31832,11 +31832,15 @@ function generatePDF(invoice, javascript, force, cb) { invoiceOld = invoice; report_id = invoice.invoice_design_id; if(javascript.slice(0, pdfmakeMarker.length) === pdfmakeMarker) { - GetPdfMake(invoice, javascript, cb); + doc = GetPdfMake(invoice, javascript, cb); + //doc.getDataUrl(cb); } else { doc = GetPdf(invoice, javascript); - cb( doc.output("datauristring")); + doc.getDataUrl = function(cb) { + cb( this.output("datauristring")); + }; } + return doc; } function copyInvoice(orig) { @@ -33366,9 +33370,10 @@ function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; eval(javascript); doc = pdfMake.createPdf(dd); - doc.getDataUrl(callback); - - return; + doc.save = function(fileName) { + this.download(fileName); + }; + return doc; } function notesAndTerms(invoice) { diff --git a/public/js/pdf.pdfmake.js b/public/js/pdf.pdfmake.js index 646edbf97ab5..260b205699a3 100644 --- a/public/js/pdf.pdfmake.js +++ b/public/js/pdf.pdfmake.js @@ -2,9 +2,10 @@ function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; eval(javascript); doc = pdfMake.createPdf(dd); - doc.getDataUrl(callback); - - return; + doc.save = function(fileName) { + this.download(fileName); + }; + return doc; } function notesAndTerms(invoice) { diff --git a/public/js/script.js b/public/js/script.js index 680231a07262..61368c085939 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -19,11 +19,15 @@ function generatePDF(invoice, javascript, force, cb) { invoiceOld = invoice; report_id = invoice.invoice_design_id; if(javascript.slice(0, pdfmakeMarker.length) === pdfmakeMarker) { - GetPdfMake(invoice, javascript, cb); + doc = GetPdfMake(invoice, javascript, cb); + //doc.getDataUrl(cb); } else { doc = GetPdf(invoice, javascript); - cb( doc.output("datauristring")); + doc.getDataUrl = function(cb) { + cb( this.output("datauristring")); + }; } + return doc; } function copyInvoice(orig) { diff --git a/resources/views/accounts/invoice_design.blade.php b/resources/views/accounts/invoice_design.blade.php index e36ee602abcc..e3d40093add5 100644 --- a/resources/views/accounts/invoice_design.blade.php +++ b/resources/views/accounts/invoice_design.blade.php @@ -35,7 +35,8 @@ NINJA.primaryColor = $('#primary_color').val(); NINJA.secondaryColor = $('#secondary_color').val(); - generatePDF(invoice, getDesignJavascript(), true, cb); + doc = generatePDF(invoice, getDesignJavascript(), true); + doc.getDataUrl(cb); } $(function() { diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php index 2102a9a06254..ff03a03d0159 100644 --- a/resources/views/invoices/edit.blade.php +++ b/resources/views/invoices/edit.blade.php @@ -704,7 +704,8 @@ var invoice = createInvoiceModel(); var design = getDesignJavascript(); if (!design) return; - generatePDF(invoice, design, false, cb); + doc = generatePDF(invoice, design, false); + doc.getDataUrl(cb); } function getDesignJavascript() { @@ -743,7 +744,8 @@ var design = getDesignJavascript(); if (!design) return; - generatePDF(invoice, design, true, function(pdfString){ + doc = generatePDF(invoice, design, true); + doc.getDataUrl( function(pdfString){ $('form.form-horizontal.warn-on-exit').append(''); submitAction(''); }); diff --git a/resources/views/invoices/history.blade.php b/resources/views/invoices/history.blade.php index a00b453306ba..920c95d9f306 100644 --- a/resources/views/invoices/history.blade.php +++ b/resources/views/invoices/history.blade.php @@ -32,7 +32,8 @@ invoiceDesign = invoiceDesigns[0]; } - generatePDF(invoice, invoiceDesign.javascript, true, cb); + doc = generatePDF(invoice, invoiceDesign.javascript, true); + doc.getDataUrl(cb); } $(function() { diff --git a/resources/views/invoices/view.blade.php b/resources/views/invoices/view.blade.php index bbf4a7d4c8a0..96e26ad14797 100644 --- a/resources/views/invoices/view.blade.php +++ b/resources/views/invoices/view.blade.php @@ -48,7 +48,8 @@ invoice.contact = {!! $contact->toJson() !!}; function getPDFString(cb) { - generatePDF(invoice, invoice.invoice_design.javascript, cb); + doc = generatePDF(invoice, invoice.invoice_design.javascript); + doc.getDataUrl(cb); } $(function() { @@ -57,7 +58,7 @@ function onDownloadClick() { var doc = generatePDF(invoice, invoice.invoice_design.javascript, true); - var fileName = invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice; + var fileName = invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice; doc.save(fileName + '-' + invoice.invoice_number + '.pdf'); }