Add BIC support. This fixes #430

This commit is contained in:
James Cole 2016-11-28 18:55:56 +01:00
parent 8279cf0e88
commit 8cdbc96aa5
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
9 changed files with 33 additions and 7 deletions

View File

@ -171,6 +171,7 @@ class AccountController extends Controller
'accountRole' => $account->getMeta('accountRole'),
'ccType' => $account->getMeta('ccType'),
'ccMonthlyPaymentDate' => $account->getMeta('ccMonthlyPaymentDate'),
'BIC' => $account->getMeta('BIC'),
'openingBalanceDate' => $openingBalanceDate,
'openingBalance' => $openingBalanceAmount,
'virtualBalance' => $account->virtual_balance,

View File

@ -42,10 +42,11 @@ class AccountFormRequest extends Request
'name' => trim($this->input('name')),
'active' => intval($this->input('active')) === 1,
'accountType' => $this->input('what'),
'currency_id' => intval($this->input('currency_id')),
'currency_id' => intval($this->input('currency_id')),
'virtualBalance' => round($this->input('virtualBalance'), 2),
'virtualBalanceCurrency' => intval($this->input('amount_currency_id_virtualBalance')),
'iban' => trim($this->input('iban')),
'BIC' => trim($this->input('BIC')),
'accountNumber' => trim($this->input('accountNumber')),
'accountRole' => $this->input('accountRole'),
'openingBalance' => round($this->input('openingBalance'), 2),
@ -79,6 +80,7 @@ class AccountFormRequest extends Request
'name' => $nameRule,
'openingBalance' => 'numeric',
'iban' => 'iban',
'BIC' => 'bic',
'virtualBalance' => 'numeric',
'openingBalanceDate' => 'date',
'currency_id' => 'exists:transaction_currencies,id',

View File

@ -41,7 +41,7 @@ class AccountRepository implements AccountRepositoryInterface
/** @var User */
private $user;
/** @var array */
private $validFields = ['accountRole', 'ccMonthlyPaymentDate', 'ccType', 'accountNumber','currency_id'];
private $validFields = ['accountRole', 'ccMonthlyPaymentDate', 'ccType', 'accountNumber', 'currency_id', 'BIC'];
/**
* AttachmentRepository constructor.
@ -60,7 +60,7 @@ class AccountRepository implements AccountRepositoryInterface
*
* @return int
*/
public function count(array $types):int
public function count(array $types): int
{
$count = $this->user->accounts()->accountTypeIn($types)->count();
@ -482,7 +482,7 @@ class AccountRepository implements AccountRepositoryInterface
*
* @return Account
*/
protected function storeOpposingAccount(float $amount, string $name):Account
protected function storeOpposingAccount(float $amount, string $name): Account
{
$type = $amount < 0 ? 'expense' : 'revenue';
$opposingData = [

View File

@ -119,6 +119,6 @@ interface AccountRepositoryInterface
*
* @return Account
*/
public function store(array $data) : Account;
public function store(array $data): Account;
}

View File

@ -57,8 +57,6 @@ class FireflyValidator extends Validator
* @param $value
*
* @return bool
* @internal param $parameters
*
*
*/
public function validate2faCode($attribute, $value): bool
@ -95,6 +93,27 @@ class FireflyValidator extends Validator
}
/**
* @param $attribute
* @param $value
*
* @return bool
*
*/
public function validateBic($attribute, $value): bool
{
$regex = '/^[a-z]{6}[0-9a-z]{2}([0-9a-z]{3})?\z/i';
$result = preg_match($regex, $value);
if ($result === false) {
return false;
}
if ($result === 0) {
return false;
}
return true;
}
/**
* @param $attribute
* @param $value

View File

@ -31,6 +31,7 @@ return [
'journal_asset_source_account' => 'Asset account (source)',
'journal_source_account_name' => 'Revenue account (source)',
'journal_source_account_id' => 'Asset account (source)',
'BIC' => 'BIC',
'account_from_id' => 'From account',
'account_to_id' => 'To account',
'source_account' => 'Source account',

View File

@ -21,6 +21,7 @@ return [
'file_too_large' => 'File ":name" is too large.',
'belongs_to_user' => 'The value of :attribute is unknown',
'accepted' => 'The :attribute must be accepted.',
'bic' => 'This is not a valid BIC.',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
'alpha' => 'The :attribute may only contain letters.',

View File

@ -34,6 +34,7 @@
<div class="box-body">
{{ ExpandedForm.text('iban') }}
{{ ExpandedForm.text('BIC', null, {maxlength: 11}) }}
{{ ExpandedForm.text('accountNumber') }}
{% if what == 'asset' %}

View File

@ -32,6 +32,7 @@
</div>
<div class="box-body">
{{ ExpandedForm.text('iban') }}
{{ ExpandedForm.text('BIC', null, {maxlength: 11}) }}
{{ ExpandedForm.text('accountNumber') }}
{% if account.accounttype.type == 'Default account' or account.accounttype.type == 'Asset account' %}