From 339e7b320acc66ffb7ec1f8661cbac0812138d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Sun, 27 Jun 2021 12:59:56 +0300 Subject: [PATCH] Portal payment added print and pdf action.. --- .../View/Components/TransactionShow.php | 6 +- .../View/Components/TransactionTemplate.php | 6 +- app/Http/Controllers/Portal/Payments.php | 47 +++++ resources/lang/en-GB/payments.php | 2 - resources/lang/en-GB/revenues.php | 8 +- .../transactions/show/histories.blade.php | 2 +- .../views/portal/invoices/show.blade.php | 2 +- .../views/portal/payments/show.blade.php | 167 ++++-------------- resources/views/sales/revenues/show.blade.php | 2 +- routes/portal.php | 2 + 10 files changed, 92 insertions(+), 152 deletions(-) diff --git a/app/Abstracts/View/Components/TransactionShow.php b/app/Abstracts/View/Components/TransactionShow.php index a7ff60143..9b2403845 100644 --- a/app/Abstracts/View/Components/TransactionShow.php +++ b/app/Abstracts/View/Components/TransactionShow.php @@ -349,7 +349,7 @@ abstract class TransactionShow extends Base $this->transaction = $transaction; $this->transactionTemplate = $this->getTransactionTemplate($type, $transactionTemplate); $this->logo = $this->getLogo($logo); - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods(); + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); $this->date_format = $this->getCompanyDateFormat(); // Navbar Hide @@ -909,7 +909,7 @@ abstract class TransactionShow extends Base $default_key = 'payment_made'; break; default: - $default_key = 'revenue_made'; + $default_key = 'revenue_received'; break; } @@ -919,7 +919,7 @@ abstract class TransactionShow extends Base return $translation; } - return 'revenues.revenue_made'; + return 'revenues.revenue_received'; } protected function getTextPaidAt($type, $textPaidAt) diff --git a/app/Abstracts/View/Components/TransactionTemplate.php b/app/Abstracts/View/Components/TransactionTemplate.php index aa04f84d6..91f9ba5eb 100644 --- a/app/Abstracts/View/Components/TransactionTemplate.php +++ b/app/Abstracts/View/Components/TransactionTemplate.php @@ -187,7 +187,7 @@ abstract class TransactionTemplate extends Base $this->transaction = $transaction; $this->logo = $this->getLogo($logo); - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods(); + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); // Company Information Hide checker $this->hideCompany = $hideCompany; @@ -313,7 +313,7 @@ abstract class TransactionTemplate extends Base $default_key = 'payment_made'; break; default: - $default_key = 'revenue_made'; + $default_key = 'revenue_received'; break; } @@ -323,7 +323,7 @@ abstract class TransactionTemplate extends Base return $translation; } - return 'revenues.revenue_made'; + return 'revenues.revenue_received'; } protected function getTextPaidAt($type, $textPaidAt) diff --git a/app/Http/Controllers/Portal/Payments.php b/app/Http/Controllers/Portal/Payments.php index 5c4f1c576..4d3545b58 100644 --- a/app/Http/Controllers/Portal/Payments.php +++ b/app/Http/Controllers/Portal/Payments.php @@ -7,10 +7,13 @@ use App\Models\Banking\Transaction; use App\Models\Setting\Currency; use App\Http\Requests\Portal\PaymentShow as Request; use App\Utilities\Modules; +use App\Traits\Transactions; use Illuminate\Support\Facades\URL; class Payments extends Controller { + use Transactions; + /** * Display a listing of the resource. * @@ -53,6 +56,50 @@ class Payments extends Controller return $this->response('portal.currencies.index', compact('currencies')); } + /** + * Show the form for viewing the specified resource. + * + * @param Transaction $payment + * + * @return Response + */ + public function printPayment(Transaction $payment, Request $request) + { + event(new \App\Events\Transaction\TransactionPrinting($payment)); + + $revenue = $payment; + $view = view($payment->template_path, compact('revenue')); + + return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); + } + + /** + * Show the form for viewing the specified resource. + * + * @param Transaction $payment + * + * @return Response + */ + public function pdfPayment(Transaction $payment, Request $request) + { + event(new \App\Events\Transaction\TransactionPrinting($payment)); + + $currency_style = true; + + $revenue = $payment; + $view = view($payment->template_path, compact('revenue', 'currency_style'))->render(); + $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); + + $pdf = app('dompdf.wrapper'); + $pdf->loadHTML($html); + + //$pdf->setPaper('A4', 'portrait'); + + $file_name = $this->getTransactionFileName($payment); + + return $pdf->download($file_name); + } + public function signed(Transaction $payment) { if (empty($payment)) { diff --git a/resources/lang/en-GB/payments.php b/resources/lang/en-GB/payments.php index a2db3f481..cd41d02ae 100644 --- a/resources/lang/en-GB/payments.php +++ b/resources/lang/en-GB/payments.php @@ -5,7 +5,5 @@ return [ 'payment_made' => 'Payment Made', 'paid_to' => 'Paid To', 'related_bill' => 'Releated Bill', - - 'overdue_payment' => 'Overdue Payment', ]; diff --git a/resources/lang/en-GB/revenues.php b/resources/lang/en-GB/revenues.php index 1366cf03e..f30baace3 100644 --- a/resources/lang/en-GB/revenues.php +++ b/resources/lang/en-GB/revenues.php @@ -2,10 +2,8 @@ return [ - 'revenue_made' => 'Revenue Made', - 'paid_by' => 'Paid By', - 'related_invoice' => 'Releated Invoice', - - 'overdue_revenue' => 'Overdue Revenue', + 'revenue_received' => 'Revenue Received', + 'paid_by' => 'Paid By', + 'related_invoice' => 'Releated Invoice', ]; diff --git a/resources/views/components/transactions/show/histories.blade.php b/resources/views/components/transactions/show/histories.blade.php index 9aeb18eed..caeab6c96 100644 --- a/resources/views/components/transactions/show/histories.blade.php +++ b/resources/views/components/transactions/show/histories.blade.php @@ -33,7 +33,7 @@ - {{ $history->creator->name }} + {{ $history->owner->name }} @stack('row_footer_histories_body_td_end') diff --git a/resources/views/portal/invoices/show.blade.php b/resources/views/portal/invoices/show.blade.php index 5bf83f11c..2403d981e 100644 --- a/resources/views/portal/invoices/show.blade.php +++ b/resources/views/portal/invoices/show.blade.php @@ -4,7 +4,7 @@ @section('new_button') @stack('button_print_start') - + {{ trans('general.print') }} @stack('button_print_end') diff --git a/resources/views/portal/payments/show.blade.php b/resources/views/portal/payments/show.blade.php index 2b542fbf5..536190633 100644 --- a/resources/views/portal/payments/show.blade.php +++ b/resources/views/portal/payments/show.blade.php @@ -1,144 +1,39 @@ @extends('layouts.portal') -@section('title', trans_choice('general.payments', 1)) +@section('title', trans_choice('general.payments', 1) . ': ' . @date($payment->paid_at)) -@section('content') -
-
-

@date($payment->paid_at)

-
+@section('new_button') +@stack('button_print_start') + + {{ trans('general.print') }} + + @stack('button_print_end') -
-
-
-
-
  • - {{ trans('general.from') }}: {{ setting('company.name') }} -
  • -
  • {{ trans('general.address') }}: {{ setting('company.address') }}
  • -
  • {{ trans('general.phone') }}: {{ setting('company.phone') }}
  • -
  • {{ trans('general.email') }}: {{ setting('company.email') }}
  • -
    -
    - -
    -
    -
  • - {{ trans('general.to') }}: {{ $payment->contact->name }} -
  • -
  • {{ trans('general.address') }}: {{ $payment->contact->address }}
  • -
  • {{ trans('general.phone') }}: {{ $payment->contact->phone }}
  • -
  • {{ trans('general.email') }}: {{ $payment->contact->email }}
  • -
    -
    - -
    - @if ($payment->description) -

    {{ trans('general.description') }}

    -

    {{ $payment->description }}

    - @endif -
    - -
    -
    -
    -
    -
    -

    {{ trans_choice('general.payments', 1) }}

    -
    -
    -
    -
    - - - - - - - - - - - - - - - -
    {{ trans('general.amount') }}{{ trans_choice('general.payment_methods', 1) }}{{ trans('general.description') }}
    @money($payment->amount, $payment->currency_code, true){{ $payment_methods[$payment->payment_method] }}{{ $payment->description }}
    -
    -
    -
    -
    -
    - - @if ($payment->attachment) - - @endif -
    + @stack('button_pdf_start') + + {{ trans('general.download') }} + + @stack('button_pdf_end') @endsection -@push('scripts_start') +@section('content') + + + +@endsection + +@push('footer_start') + + @endpush diff --git a/resources/views/sales/revenues/show.blade.php b/resources/views/sales/revenues/show.blade.php index 5e8e399b5..e537d88b9 100644 --- a/resources/views/sales/revenues/show.blade.php +++ b/resources/views/sales/revenues/show.blade.php @@ -1,6 +1,6 @@ @extends('layouts.admin') -@section('title', trans('revenues.revenue_made')) +@section('title', trans('revenues.revenue_received')) @section('new_button') diff --git a/routes/portal.php b/routes/portal.php index 856ee4ff3..f7e4cc1d3 100644 --- a/routes/portal.php +++ b/routes/portal.php @@ -17,6 +17,8 @@ Route::group(['as' => 'portal.'], function () { Route::resource('invoices', 'Portal\Invoices'); Route::get('payments/currencies', 'Portal\Payments@currencies')->name('payment.currencies'); + Route::get('payments/{payment}/print', 'Portal\Payments@printPayment')->name('payments.print'); + Route::get('payments/{payment}/pdf', 'Portal\Payments@pdfPayment')->name('payments.pdf'); Route::resource('payments', 'Portal\Payments'); Route::get('profile/read-invoices', 'Portal\Profile@readOverdueInvoices')->name('invoices.read');