diff --git a/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php new file mode 100644 index 00000000..15d2359a --- /dev/null +++ b/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php @@ -0,0 +1,54 @@ +fetchesTransaction = $fetchesTransaction; + $this->createSupplierTransactionProcessor = $createSupplierTransactionProcessor; + } + + /** + * @param Request $request + * @return string|\Symfony\Component\HttpFoundation\Response + * @throws \App\Classes\Exceptions\MalformedRequestException + */ + public function execute(Request $request) + { + ini_set('memory_limit', '-1'); + + $transaction = $this->fetchesTransaction->execute(['id' => $request->route('id')]); + + // $pdf = LaravelMpdf::loadView('pages.pdfs.credit_note', ['transaction' => $transaction]); + + // return $pdf->stream('MockUpWhiteForm.pdf'); + + $pdf = LaravelMpdf::loadView('pages.pdfs.credit_note', ['transaction' => $transaction]); + $pdfContent = $pdf->output(); + + // Pass the PDF content variable to the view + return view('pages.pdf_view', ['pdfContent' => $pdfContent]); + } +} diff --git a/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php b/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php new file mode 100644 index 00000000..11d27cdd --- /dev/null +++ b/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php @@ -0,0 +1,15 @@ +execute($request); + } +} diff --git a/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue b/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue index 3d441d53..e0076b58 100644 --- a/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue +++ b/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue @@ -22,7 +22,7 @@
{{item.created_at}}
-
{{ convertTransactionType(item.type) }} {{ item.payment_reference ? ' - ' + item.payment_reference : '' }}
+
{{ convertTransactionType(item.type) }} {{ item.payment_reference ? ' - ' + item.payment_reference : '' }} Download Document
{{item.booking_marking}}
{{[5, 9].includes(parseFloat(item.type)) ? (Math.round((parseFloat(item.amount) + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : ''}}
{{[1, 11].includes(parseFloat(item.type)) ? '- ' + (Math.round((parseFloat(item.amount) + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : ''}}
diff --git a/resources/views/pages/pdfs/credit_note.blade.php b/resources/views/pages/pdfs/credit_note.blade.php new file mode 100644 index 00000000..95301de6 --- /dev/null +++ b/resources/views/pages/pdfs/credit_note.blade.php @@ -0,0 +1,35 @@ +@extends('layouts.base_pdf') +@section('inner_content') +
+ +

+
{{ $transaction->bill_no }}
+
+ + + + + +
+ + + CIEF WORLDWIDE SDN BHD + + + (1134596-M)
+ No. 72-3, Jalan Jalil 1,
+ The Earth Bukit Jalil,
+ 57000 Kuala Lumpur
+ Tel: 03-8082 1252 +
+ + + + + + +
This is generated by computer. No signature required.Page {PAGENO} of {nbpg}
+
+@endsection diff --git a/routes/web.php b/routes/web.php index 609b06ea..cff4a06d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -667,3 +667,5 @@ Route::get('/customer/vouchers/{marking}', function ($marking) { $id = \App\Models\Company::where('reference', '=', $marking)->first()->employees->first()->id; return view('pages.customers.reward', ['id' => $id]); })->name('customer.reward'); + +Route::get('transaction/{id}/credit_note/download', 'Transactions\GenerateCreditNotePdfController@download')->name('transaction.credit_note.download');