Browse Source

User can swith bank account status

Bank account status:
1:active
0:in_active
pull/22/head
Nafies Luthfi 7 years ago
parent
commit
f466c5414b
  1. 19
      app/Entities/Invoices/BankAccount.php
  2. 1
      app/Http/Controllers/References/BankAccountsController.php
  3. 1
      database/migrations/2018_10_30_215937_create_bank_accounts_table.php
  4. 1
      resources/views/bank-accounts/forms.blade.php
  5. 1
      resources/views/bank-accounts/index.blade.php
  6. 8
      tests/Feature/References/ManageBankAccountsTest.php
  7. 22
      tests/Unit/Models/BankAccountTest.php

19
app/Entities/Invoices/BankAccount.php

@ -6,5 +6,22 @@ use Illuminate\Database\Eloquent\Model;
class BankAccount extends Model
{
protected $fillable = ['name', 'number', 'account_name', 'description'];
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'number', 'account_name', 'description', 'is_active',
];
/**
* Get status attribute.
*
* @return string
*/
public function getStatusAttribute()
{
return $this->is_active == 1 ? __('app.active') : __('app.in_active');
}
}

1
app/Http/Controllers/References/BankAccountsController.php

@ -66,6 +66,7 @@ class BankAccountsController extends Controller
'number' => 'required|max:60',
'account_name' => 'required|max:60',
'description' => 'nullable|max:255',
'is_active' => 'required|in:0,1',
]);
$bankAccount->update($bankAccountData);

1
database/migrations/2018_10_30_215937_create_bank_accounts_table.php

@ -19,6 +19,7 @@ class CreateBankAccountsTable extends Migration
$table->string('number', 30);
$table->string('account_name', 60);
$table->string('description')->nullable();
$table->boolean('is_active')->default(1); // 1:active, 0:in_active
$table->timestamps();
});
}

1
resources/views/bank-accounts/forms.blade.php

@ -24,6 +24,7 @@
{!! FormField::text('number', ['required' => true, 'label' => trans('bank_account.number')]) !!}
{!! FormField::text('account_name', ['required' => true, 'label' => trans('bank_account.account_name')]) !!}
{!! FormField::textarea('description', ['label' => trans('bank_account.description')]) !!}
{!! FormField::radios('is_active', [__('app.in_active'), __('app.active')], ['label' => __('app.status')]) !!}
</div>
<div class="panel-footer">
{!! Form::submit(trans('bank_account.update'), ['class' => 'btn btn-success']) !!}

1
resources/views/bank-accounts/index.blade.php

@ -13,6 +13,7 @@
<div class="panel-body">
<p>{{ trans('bank_account.number') }}:<br><strong class="lead">{{ $bankAccount->number }}</strong></p>
<p>{{ trans('bank_account.account_name') }}:<br><strong class="lead">{{ $bankAccount->account_name }}</strong></p>
<p>{{ __('app.status') }}:<br><strong class="lead">{{ $bankAccount->status }}</strong></p>
@if ($bankAccount->description)
<p>{{ trans('app.description') }}:<br>{{ $bankAccount->description }}</p>
@endif

8
tests/Feature/References/ManageBankAccountsTest.php

@ -70,6 +70,7 @@ class ManageBankAccountsTest extends TestCase
'number' => '1234567890',
'account_name' => 'John Doe',
'description' => 'BankAccount 2 description',
'is_active' => 0,
]);
$this->seePageIs(route('bank-accounts.index'));
@ -79,6 +80,7 @@ class ManageBankAccountsTest extends TestCase
'number' => '1234567890',
'account_name' => 'John Doe',
'description' => 'BankAccount 2 description',
'is_active' => 0,
]);
}
@ -102,4 +104,10 @@ class ManageBankAccountsTest extends TestCase
'id' => $bankAccount->id,
]);
}
/** @test */
public function user_can_import_existing_bank_account_list()
{
$this->visit('/');
}
}

22
tests/Unit/Models/BankAccountTest.php

@ -0,0 +1,22 @@
<?php
namespace Tests\Unit\Models;
use Tests\TestCase;
use App\Entities\Invoices\BankAccount;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class BankAccountTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function a_bank_account_has_status_attribute()
{
$bankAccount = factory(BankAccount::class)->make(['is_active' => 1]);
$this->assertEquals(__('app.active'), $bankAccount->status);
$bankAccount->is_active = 0;
$this->assertEquals(__('app.in_active'), $bankAccount->status);
}
}
Loading…
Cancel
Save