Show transfer page done development

This commit is contained in:
Burak Civan 2021-07-06 21:39:09 +03:00
parent 3ee49c5bd3
commit 153844ca56
7 changed files with 574 additions and 6 deletions

View File

@ -37,9 +37,11 @@ class Transfers extends Controller
*
* @return Response
*/
public function show()
public function show(Transfer $transfer)
{
return redirect()->route('transfers.index');
$this->itemData($transfer);
return view('banking.transfers.show', compact('transfer'));
}
/**
@ -72,7 +74,7 @@ class Transfers extends Controller
$response = $this->ajaxDispatch(new CreateTransfer($request));
if ($response['success']) {
$response['redirect'] = route('transfers.index');
$response['redirect'] = route('transfers.show', $response['data']->id);
$message = trans('messages.success.added', ['type' => trans_choice('general.transfers', 1)]);
@ -88,6 +90,24 @@ class Transfers extends Controller
return response()->json($response);
}
/**
* Duplicate the specified resource.
*
* @param Transfer $transfer
*
* @return Response
*/
public function duplicate(Transfer $transfer)
{
$clone = $transfer->duplicate();
$message = trans('messages.success.duplicated', ['type' => trans_choice('general.transfers', 1)]);
flash($message)->success();
return redirect()->route('transfers.show', $clone->id);
}
/**
* Import the specified resource.
*
@ -159,7 +179,7 @@ class Transfers extends Controller
$response = $this->ajaxDispatch(new UpdateTransfer($transfer, $request));
if ($response['success']) {
$response['redirect'] = route('transfers.index');
$response['redirect'] = route('transfers.show', $transfer->id);
$message = trans('messages.success.updated', ['type' => trans_choice('general.transfers', 1)]);
@ -210,4 +230,66 @@ class Transfers extends Controller
{
return $this->exportExcel(new Export, trans_choice('general.transfers', 2));
}
/**
* Print the transfer.
*
* @param Transfer $transfer
*
* @return Response
*/
public function printRevenue(Transfer $transfer)
{
//event(new \App\Events\Banking\TransactionPrinting($transfer));
$view = view($transfer->template_path, compact('transfer'));
return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8');
}
/**
* Download the PDF file of transfer.
*
* @param Transfer $transfer
*
* @return Response
*/
public function pdfRevenue(Transfer $transfer)
{
//event(new \App\Events\Banking\TransactionPrinting($transfer));
$currency_style = true;
$view = view($transfer->template_path, compact('transfer', '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($transfer);
return $pdf->download($file_name);
}
/**
* Display a datas of show.
*
* @return Response
*/
public function itemData($transfer) {
$transfer['from_account_id'] = $transfer->expense_transaction->account_id;
$transfer['from_currency_code'] = $transfer->expense_transaction->currency_code;
$transfer['from_account_rate'] = $transfer->expense_transaction->currency_rate;
$transfer['to_account_id'] = $transfer->income_transaction->account_id;
$transfer['to_currency_code'] = $transfer->income_transaction->currency_code;
$transfer['to_account_rate'] = $transfer->income_transaction->currency_rate;
$transfer['description'] = $transfer->expense_transaction->description;
$transfer['amount'] = $transfer->expense_transaction->amount;
$transfer['payment_method'] = $transfer->expense_transaction->payment_method;
$transfer['reference'] = $transfer->expense_transaction->reference;
$transfer['transferred_at'] = Date::parse($transfer->expense_transaction->paid_at)->format('Y-m-d');
}
}

View File

@ -0,0 +1,167 @@
@extends('layouts.admin')
@section('content')
<div class="row" style="font-size: inherit !important;">
<div class="col-4 col-lg-2">
From Account
<br> <strong><span class="float-left long-texts mwpx-200 transaction-head-text">
{{ $transfer->expense_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-6">
To Account
<br> <strong><span class="float-left long-texts mwpx-300 transaction-head-text">
{{ $transfer->income_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2">
Amount
<br> <strong><span class="float-left long-texts mwpx-100 transaction-head-text">
@money($transfer->amount, $transfer->from_currency_code, true)
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2">
Date
<br> <strong><span class="float-left long-texts mwpx-100 transaction-head-text">
{{ $transfer->transferred_at }}
</span></strong> <br><br>
</div>
</div>
<div class="card show-card" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<table class="border-bottom-1" style="width: 100%;">
<tbody>
<tr>
<td style="width: 50%; padding-bottom: 15px;" valign="top">
<table>
<tbody>
<tr>
<td>
<h2 class="mb-1" style="font-size: 16px;">
Sender Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->from_account_id}}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->expense_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
</td>
<td style="width: 50%; padding-bottom: 15px;" valign="top">
<table>
<tbody>
<tr>
<td style="text-align: right;">
<h2 class="mb-1" style="font-size: 16px;">
Recipient Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->to_account_id }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->income_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table>
<tr>
<td style="padding-bottom: 0; padding-top: 32px;">
<h2 class="text-center text-uppercase" style="font-size: 16px;">
TRANSFER DETAIL
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td style="width: 70%; padding-top:0; padding-bottom:0;">
<table>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Date:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->transferred_at }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Payment Method:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->payment_method }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Reference:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->reference }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Description:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->description }}
</td>
</tr>
</table>
</td>
<td style="width:30%; padding-top:32px; padding-left: 25px;" valign="top">
<table>
<tr>
<td style="background-color: #6da252; -webkit-print-color-adjust: exact; font-weight:bold !important; display:block;">
<h5 class="text-muted mb-0 text-white" style="font-size: 20px; color:#ffffff; text-align:center; margin-top: 16px;">
Amount
</h5>
<p class="font-weight-bold mb-0 text-white" style="font-size: 26px; color:#ffffff; text-align:center;">
@money($transfer->amount, $transfer->from_currency_code, true)
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
<div class="card show-card" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<div class="form-group col-md-6">
{!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!}
<div class="input-group">
<button type="button" class="btn btn-block btn-outline-primary" @click="onTemplate">
{{ trans('settings.invoice.choose_template') }}
</button>
</div>
</div>
</div>
</div>
@endsection
@push('scripts_start')
<link rel="stylesheet" href="{{ asset('public/css/print.css?v=' . version('short')) }}" type="text/css">
@endpush

View File

@ -52,7 +52,7 @@
@endphp
<tr class="row align-items-center border-top-1">
<td class="col-sm-2 col-md-1 d-none d-sm-block">{{ Form::bulkActionGroup($item->id, $item->expense_transaction->account->name) }}</td>
<td class="col-md-2 d-none d-md-block"><a class="col-aka" href="{{ route('transfers.edit', $item->id) }}">@date($item->expense_transaction->paid_at)</a></td>
<td class="col-md-2 d-none d-md-block"><a class="col-aka" href="{{ route('transfers.show', $item->id) }}">@date($item->expense_transaction->paid_at)</a></td>
<td class="col-sm-2 col-md-3 d-none d-sm-block long-texts">{{ $item->expense_transaction->account->name }}</td>
<td class="col-xs-4 col-sm-4 col-md-2 long-texts">{{ $item->income_transaction->account->name }}</td>
<td class="col-xs-4 col-sm-2 col-md-2 text-right long-texts">@money($item->expense_transaction->amount, $item->expense_transaction->currency_code, true)</td>
@ -62,6 +62,8 @@
<i class="fa fa-ellipsis-h text-muted"></i>
</a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
<a class="dropdown-item" href="{{ route('transfers.show', $item->id) }}">{{ trans('general.show') }}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{ route('transfers.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@can('delete-banking-transfers')
<div class="dropdown-divider"></div>

View File

@ -0,0 +1,157 @@
@extends('layouts.admin')
@section('content')
<div class="row" style="font-size: inherit !important;">
<div class="col-4 col-lg-2">
From Account
<br> <strong><span class="float-left long-texts mwpx-200 transaction-head-text">
{{ $transfer->expense_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-6">
To Account
<br> <strong><span class="float-left long-texts mwpx-300 transaction-head-text">
{{ $transfer->income_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2">
Amount
<br> <strong><span class="float-left long-texts mwpx-100 transaction-head-text">
@money($transfer->amount, $transfer->from_currency_code, true)
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2">
Date
<br> <strong><span class="float-left long-texts mwpx-100 transaction-head-text">
{{ $transfer->transferred_at }}
</span></strong> <br><br>
</div>
</div>
<div class="card show-card" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<table>
<tr>
<td style="padding-bottom: 0; padding-top: 32px;">
<h2 class="text-center text-uppercase" style="font-size: 16px;">
TRANSFER DETAIL
</h2>
</td>
</tr>
</table>
<table class="border-bottom-1">
<tr>
<td style="width: 70%; padding-top:0; padding-bottom:45px;">
<table>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Date:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->transferred_at }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Payment Method:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->payment_method }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Reference:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->reference }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Description:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->description }}
</td>
</tr>
</table>
</td>
<td style="width:30%; padding-top:32px; padding-left: 25px;" valign="top">
<table>
<tr>
<td style="background-color: #6da252; -webkit-print-color-adjust: exact; font-weight:bold !important; display:block;">
<h5 class="text-muted mb-0 text-white" style="font-size: 20px; color:#ffffff; text-align:center; margin-top: 16px;">
Amount
</h5>
<p class="font-weight-bold mb-0 text-white" style="font-size: 26px; color:#ffffff; text-align:center;">
@money($transfer->amount, $transfer->from_currency_code, true)
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="border-bottom-1" style="width: 100%;">
<tbody>
<tr>
<td style="width: 60%; padding-bottom: 15px;">
<h2 class="mb-1" style="font-size: 16px;">
Sender Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->from_account_id}}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->expense_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
<table style="width: 100%; margin-top:15px;">
<tbody>
<tr>
<td style="width: 60%; padding-bottom: 15px;">
<h2 class="mb-1" style="font-size: 16px;">
Recipient Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->to_account_id }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->income_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card show-card" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<div class="form-group col-md-6">
{!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!}
<div class="input-group">
<button type="button" class="btn btn-block btn-outline-primary" @click="onTemplate">
{{ trans('settings.invoice.choose_template') }}
</button>
</div>
</div>
</div>
</div>
@endsection
@push('scripts_start')
<link rel="stylesheet" href="{{ asset('public/css/print.css?v=' . version('short')) }}" type="text/css">
@endpush

View File

@ -0,0 +1,157 @@
@extends('layouts.admin')
@section('content')
<div class="row" style="font-size: inherit !important;">
<div class="col-4 col-lg-2">
<span>From Account</span>
<br> <strong><span class="float-left long-texts mwpx-200 transaction-head-text">
{{ $transfer->expense_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-6">
<span>To Account</span>
<br> <strong><span class="float-left long-texts mwpx-300 transaction-head-text">
{{ $transfer->income_transaction->account->name }}
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2">
<span class="float-right">Amount</span>
<br> <strong><span class="float-right long-texts mwpx-100 transaction-head-text">
@money($transfer->amount, $transfer->from_currency_code, true)
</span></strong> <br><br>
</div>
<div class="col-4 col-lg-2 float-right">
<span class="float-right">Date</span>
<br> <strong><span class="float-right long-texts mwpx-100 transaction-head-text">
@date($transfer->transferred_at)
</span></strong> <br><br>
</div>
</div>
<div class="card show-card" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<table class="border-bottom-1" style="width: 100%;">
<tbody>
<tr>
<td style="width: 60%; padding-bottom: 15px;">
<h2 class="mb-1" style="font-size: 16px;">
Sender Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->from_account_id}}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->expense_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->expense_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
<table class="border-bottom-1" style="width: 100%; margin-top:15px;">
<tbody>
<tr>
<td style="width: 60%; padding-bottom: 15px;">
<h2 class="mb-1" style="font-size: 16px;">
Recipient Account
</h2>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
Account Number: {{ $transfer->to_account_id }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_name }}</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">
{{ $transfer->income_transaction->account->bank_phone }}
</p>
<p style="margin: 0px; padding: 0px; font-size: 14px;">{{ $transfer->income_transaction->account->bank_address }}</p>
</td>
</tr>
</tbody>
</table>
<table>
<tr>
<td style="padding-bottom: 0; padding-top: 32px;">
<h2 class="text-center text-uppercase" style="font-size: 16px;">
TRANSFER DETAIL
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td style="width: 70%; padding-top:0; padding-bottom:0;">
<table>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Date:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
@date($transfer->transferred_at)
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Payment Method:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->payment_method }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Reference:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->reference }}
</td>
</tr>
<tr>
<td style="width: 20%; padding-bottom:3px; font-size:14px; font-weight: bold;">
Description:
</td>
<td class="border-bottom-1" style="width:80%; padding-bottom:3px; font-size:14px;">
{{ $transfer->description }}
</td>
</tr>
</table>
</td>
<td style="width:30%; padding-top:32px; padding-left: 25px;" valign="top">
<table>
<tr>
<td style="background-color: #6da252; -webkit-print-color-adjust: exact; font-weight:bold !important; display:block;">
<h5 class="text-muted mb-0 text-white" style="font-size: 20px; color:#ffffff; text-align:center; margin-top: 16px;">
Amount
</h5>
<p class="font-weight-bold mb-0 text-white" style="font-size: 26px; color:#ffffff; text-align:center;">
@money($transfer->amount, $transfer->from_currency_code, true)
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
<div class="card show-card col-md-6" style="padding: 0px 15px; border-radius: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 16px;">
<div class="card-body show-card-body">
<div class="form-group">
{!! Form::label('invoice_template', trans_choice('general.templates', 1), ['class' => 'form-control-label']) !!}
<div class="input-group">
<button type="button" class="btn btn-block btn-outline-primary" @click="onTemplate">
{{ trans('settings.invoice.choose_template') }}
</button>
</div>
</div>
</div>
</div>
@endsection
@push('scripts_start')
<link rel="stylesheet" href="{{ asset('public/css/print.css?v=' . version('short')) }}" type="text/css">
@endpush

View File

@ -143,6 +143,9 @@ Route::group(['prefix' => 'banking'], function () {
Route::get('transactions/export', 'Banking\Transactions@export')->name('transactions.export');
Route::resource('transactions', 'Banking\Transactions');
Route::get('transfers/{transfer}/print', 'Banking\Transfers@printTransfer')->name('transfers.print');
Route::get('transfers/{transfer}/pdf', 'Banking\Transfers@pdfTransfer')->name('transfers.pdf');
Route::get('transfers/{transfer}/duplicate', 'Banking\Transfers@duplicate')->name('transfers.duplicate');
Route::post('transfers/import', 'Banking\Transfers@import')->name('transfers.import');
Route::get('transfers/export', 'Banking\Transfers@export')->name('transfers.export');
Route::resource('transfers', 'Banking\Transfers', ['middleware' => ['date.format', 'money']]);

View File

@ -42,7 +42,7 @@ class TransfersTest extends FeatureTestCase
$transfer = $this->dispatch(new CreateTransfer($this->getRequest()));
$this->loginAs()
->get(route('transfers.edit', $transfer->id))
->get(route('transfers.show', $transfer->id))
->assertStatus(200)
->assertSee($transfer->description);
}