From ad18d9dea23dc7f2b727f74de94976c9933b9eff Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Mon, 25 Dec 2017 22:22:33 +0800 Subject: [PATCH] Add bank account list on invoice print page Add bank account list link on dashboard Restructure bank account index page --- .../Controllers/Invoices/InvoicesController.php | 5 +- .../References/BankAccountsController.php | 13 ++- resources/views/bank-accounts/index.blade.php | 92 +++++++++------------- resources/views/invoices/pdf.blade.php | 21 +++-- .../pages/partials/dashboard-nav-tabs.blade.php | 3 + tests/Feature/AgencyProfileTest.php | 2 +- .../Feature/References/ManageBankAccountsTest.php | 5 ++ 7 files changed, 74 insertions(+), 67 deletions(-) diff --git a/app/Http/Controllers/Invoices/InvoicesController.php b/app/Http/Controllers/Invoices/InvoicesController.php index 50f3c19..e8be29d 100644 --- a/app/Http/Controllers/Invoices/InvoicesController.php +++ b/app/Http/Controllers/Invoices/InvoicesController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Invoices; use App\Entities\Invoices\Invoice; use App\Entities\Projects\Project; use App\Http\Controllers\Controller; +use Option; /** * Invoices Controller. @@ -67,6 +68,8 @@ class InvoicesController extends Controller public function pdf(Invoice $invoice) { - return view('invoices.pdf', compact('invoice')); + $bankAccounts = json_decode(Option::get('bank_accounts')) ?: []; + + return view('invoices.pdf', compact('invoice', 'bankAccounts')); } } diff --git a/app/Http/Controllers/References/BankAccountsController.php b/app/Http/Controllers/References/BankAccountsController.php index 5f65be4..f0df35e 100644 --- a/app/Http/Controllers/References/BankAccountsController.php +++ b/app/Http/Controllers/References/BankAccountsController.php @@ -6,6 +6,11 @@ use App\Entities\Options\Option; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +/** + * Bank Account Controller. + * + * @author Nafies Luthfi + */ class BankAccountsController extends Controller { /** @@ -21,12 +26,16 @@ class BankAccountsController extends Controller if (!is_null($bankAccounts)) { $bankAccounts = $bankAccounts->value; $bankAccounts = json_decode($bankAccounts, true); + $bankAccounts = collect($bankAccounts) + ->map(function ($bankAccount) { + return (object) $bankAccount; + }); if (in_array(request('action'), ['edit', 'delete']) && request('id') != null) { - $editableBankAccount = (object) $bankAccounts[request('id')]; + $editableBankAccount = $bankAccounts[request('id')]; } } else { - $bankAccounts = []; + $bankAccounts = collect([]); } return view('bank-accounts.index', compact('bankAccounts', 'editableBankAccount')); diff --git a/resources/views/bank-accounts/index.blade.php b/resources/views/bank-accounts/index.blade.php index 29143d7..e0fd339 100644 --- a/resources/views/bank-accounts/index.blade.php +++ b/resources/views/bank-accounts/index.blade.php @@ -1,65 +1,47 @@ -@extends('layouts.app') +@extends('layouts.dashboard') @section('title', trans('bank_account.list')) -@section('content') -

-
- {{ link_to_route('bank-accounts.index', trans('bank_account.create'), ['action' => 'create'], ['class' => 'btn btn-success']) }} -
- {{ trans('bank_account.list') }} - {{ trans('app.total') }} : {{ count($bankAccounts) }} {{ trans('bank_account.bank_account') }} -

+@section('content-dashboard') +
-
- - - - - - - - - - - - - @forelse($bankAccounts as $key => $bankAccount) - @php - $bankAccount = (object) $bankAccount; - @endphp - - - - - - - - - @empty - - - - @endforelse - -
{{ trans('app.table_no') }}{{ trans('bank_account.name') }}{{ trans('bank_account.number') }}{{ trans('bank_account.account_name') }}{{ trans('bank_account.description') }}{{ trans('app.action') }}
{{ $key }}{{ $bankAccount->name }}{{ $bankAccount->number }}{{ $bankAccount->account_name }}{{ $bankAccount->description }} - {!! link_to_route( - 'bank-accounts.index', - trans('app.edit'), - ['action' => 'edit', 'id' => $key], - ['id' => 'edit-bank_account-' . $key] - ) !!} | - {!! link_to_route( - 'bank-accounts.index', - trans('app.delete'), - ['action' => 'delete', 'id' => $key], - ['id' => 'del-bank_account-' . $key] - ) !!} -
{{ trans('bank_account.empty') }}
-
+ @foreach ($bankAccounts as $key => $bankAccount) +
+
+

{{ $bankAccount->name }}

+
+

{{ trans('bank_account.number') }}:
{{ $bankAccount->number }}

+

{{ trans('bank_account.account_name') }}:
{{ $bankAccount->account_name }}

+ @if ($bankAccount->description) +

{{ trans('app.description') }}:
{{ $bankAccount->description }}

+ @endif +
+ +
+
+ @endforeach
+ @if (Request::has('action') == false) + {!! html_link_to_route('bank-accounts.index', trans('bank_account.create'), ['action' => 'create'], [ + 'class'=>'btn btn-success', + 'icon' => 'plus' + ]) !!} + @endif @includeWhen(Request::has('action'), 'bank-accounts.forms')
diff --git a/resources/views/invoices/pdf.blade.php b/resources/views/invoices/pdf.blade.php index 8c51748..7cbc008 100755 --- a/resources/views/invoices/pdf.blade.php +++ b/resources/views/invoices/pdf.blade.php @@ -136,14 +136,19 @@ {{-- TODO : Add dynamic bank account based on agency bank account. --}} - -

Pembayaran dapat dilakukan melalui transfer ke rekening berikut:

- - - - - -
Bank: BCA
No. Rek: 782-0088-543
Atas nama: NAFIES LUTHFI
+ @empty ($bankAccounts) + @else +

Pembayaran dapat dilakukan melalui transfer ke rekening berikut:

+ @foreach ($bankAccounts as $key => $bankAccount) + @php $bankAccount = (object) $bankAccount; @endphp + + + + +
{{ trans('bank_account.name') }}: {{ $bankAccount->name }}
{{ trans('bank_account.number') }}: {{ $bankAccount->number }}
{{ trans('bank_account.account_name') }}: {{ $bankAccount->account_name }}
+ @if ($key == count($bankAccounts))
@endif + @endforeach + @endempty

Terima kasih atas kerjasamanya.

diff --git a/resources/views/pages/partials/dashboard-nav-tabs.blade.php b/resources/views/pages/partials/dashboard-nav-tabs.blade.php index 2beb579..b88fbec 100644 --- a/resources/views/pages/partials/dashboard-nav-tabs.blade.php +++ b/resources/views/pages/partials/dashboard-nav-tabs.blade.php @@ -13,6 +13,9 @@
  • {!! link_to_route('users.index', trans('user.list')) !!}
  • +
  • + {!! link_to_route('bank-accounts.index', trans('bank_account.list')) !!} +
  • @endcan
    diff --git a/tests/Feature/AgencyProfileTest.php b/tests/Feature/AgencyProfileTest.php index c2279f5..e10b8c3 100644 --- a/tests/Feature/AgencyProfileTest.php +++ b/tests/Feature/AgencyProfileTest.php @@ -5,7 +5,7 @@ namespace Tests\Feature\Users; use Tests\TestCase; /** - * Agency Profile Controller. + * Agency Profile Feature Test. * * @author Nafies Luthfi */ diff --git a/tests/Feature/References/ManageBankAccountsTest.php b/tests/Feature/References/ManageBankAccountsTest.php index 199b60f..d9c0434 100644 --- a/tests/Feature/References/ManageBankAccountsTest.php +++ b/tests/Feature/References/ManageBankAccountsTest.php @@ -6,6 +6,11 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Option; use Tests\TestCase as TestCase; +/** + * Manage Bank Account Feature Test. + * + * @author Nafies Luthfi + */ class ManageBankAccountsTest extends TestCase { use DatabaseMigrations;