Added preview to invoice, estimate & payment pdfs

This commit is contained in:
harshjagad20
2022-03-03 12:55:57 +05:30
parent cc737593b7
commit c897521137
6 changed files with 32 additions and 3 deletions

View File

@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF;
use Crater\Http\Controllers\Controller; use Crater\Http\Controllers\Controller;
use Crater\Models\Estimate; use Crater\Models\Estimate;
use Illuminate\Http\Request;
class EstimatePdfController extends Controller class EstimatePdfController extends Controller
{ {
@ -13,8 +14,13 @@ class EstimatePdfController extends Controller
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function __invoke(Estimate $estimate) public function __invoke(Request $request, Estimate $estimate)
{ {
if ($request->has('preview')) {
return $estimate->getPDFData();
}
return $estimate->getGeneratedPDFOrStream('estimate'); return $estimate->getGeneratedPDFOrStream('estimate');
} }
} }

View File

@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF;
use Crater\Http\Controllers\Controller; use Crater\Http\Controllers\Controller;
use Crater\Models\Invoice; use Crater\Models\Invoice;
use Illuminate\Http\Request;
class InvoicePdfController extends Controller class InvoicePdfController extends Controller
{ {
@ -13,8 +14,12 @@ class InvoicePdfController extends Controller
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function __invoke(Invoice $invoice) public function __invoke(Request $request, Invoice $invoice)
{ {
if ($request->has('preview')) {
return $invoice->getPDFData();
}
return $invoice->getGeneratedPDFOrStream('invoice'); return $invoice->getGeneratedPDFOrStream('invoice');
} }
} }

View File

@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF;
use Crater\Http\Controllers\Controller; use Crater\Http\Controllers\Controller;
use Crater\Models\Payment; use Crater\Models\Payment;
use Illuminate\Http\Request;
class PaymentPdfController extends Controller class PaymentPdfController extends Controller
{ {
@ -13,8 +14,12 @@ class PaymentPdfController extends Controller
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function __invoke(Payment $payment) public function __invoke(Request $request, Payment $payment)
{ {
if ($request->has('preview')) {
return view('app.pdf.payment.payment');
}
return $payment->getGeneratedPDFOrStream('payment'); return $payment->getGeneratedPDFOrStream('payment');
} }
} }

View File

@ -412,6 +412,10 @@ class Estimate extends Model implements HasMedia
'taxes' => $taxes, 'taxes' => $taxes,
]); ]);
if (request()->has('preview')) {
return view('app.pdf.estimate.'.$estimateTemplate);
}
return PDF::loadView('app.pdf.estimate.'.$estimateTemplate); return PDF::loadView('app.pdf.estimate.'.$estimateTemplate);
} }

View File

@ -27,6 +27,7 @@ class Invoice extends Model implements HasMedia
public const STATUS_DRAFT = 'DRAFT'; public const STATUS_DRAFT = 'DRAFT';
public const STATUS_SENT = 'SENT'; public const STATUS_SENT = 'SENT';
public const STATUS_OVERDUE = 'OVERDUE';
public const STATUS_VIEWED = 'VIEWED'; public const STATUS_VIEWED = 'VIEWED';
public const STATUS_COMPLETED = 'COMPLETED'; public const STATUS_COMPLETED = 'COMPLETED';
@ -575,6 +576,10 @@ class Invoice extends Model implements HasMedia
'taxes' => $taxes, 'taxes' => $taxes,
]); ]);
if (request()->has('preview')) {
return view('app.pdf.invoice.'.$invoiceTemplate);
}
return PDF::loadView('app.pdf.invoice.'.$invoiceTemplate); return PDF::loadView('app.pdf.invoice.'.$invoiceTemplate);
} }

View File

@ -375,6 +375,10 @@ class Payment extends Model implements HasMedia
'logo' => $logo ?? null, 'logo' => $logo ?? null,
]); ]);
if (request()->has('preview')) {
return view('app.pdf.payment.payment');
}
return PDF::loadView('app.pdf.payment.payment'); return PDF::loadView('app.pdf.payment.payment');
} }