mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-05-03 12:46:39 +00:00
Add IBAN to account validator.
This commit is contained in:
@@ -80,14 +80,15 @@ class AccountValidator
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int|null $destinationId
|
||||
* @param $destinationName
|
||||
* @param int|null $accountId
|
||||
* @param string|null $accountName
|
||||
* @param string|null $accountIban
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function validateDestination(?int $destinationId, $destinationName): bool
|
||||
public function validateDestination(?int $accountId, ?string $accountName, ?string $accountIban): bool
|
||||
{
|
||||
Log::debug(sprintf('Now in AccountValidator::validateDestination(%d, "%s")', $destinationId, $destinationName));
|
||||
Log::debug(sprintf('Now in AccountValidator::validateDestination(%d, "%s", "%s")', $accountId, $accountName, $accountIban));
|
||||
if (null === $this->source) {
|
||||
Log::error('Source is NULL, always FALSE.');
|
||||
$this->destError = 'No source account validation has taken place yet. Please do this first or overrule the object.';
|
||||
@@ -103,19 +104,19 @@ class AccountValidator
|
||||
break;
|
||||
|
||||
case TransactionType::WITHDRAWAL:
|
||||
$result = $this->validateWithdrawalDestination($destinationId, $destinationName);
|
||||
$result = $this->validateWithdrawalDestination($accountId, $accountName);
|
||||
break;
|
||||
case TransactionType::DEPOSIT:
|
||||
$result = $this->validateDepositDestination($destinationId, $destinationName);
|
||||
$result = $this->validateDepositDestination($accountId, $accountName);
|
||||
break;
|
||||
case TransactionType::TRANSFER:
|
||||
$result = $this->validateTransferDestination($destinationId, $destinationName);
|
||||
$result = $this->validateTransferDestination($accountId, $accountName);
|
||||
break;
|
||||
case TransactionType::OPENING_BALANCE:
|
||||
$result = $this->validateOBDestination($destinationId, $destinationName);
|
||||
$result = $this->validateOBDestination($accountId, $accountName);
|
||||
break;
|
||||
case TransactionType::RECONCILIATION:
|
||||
$result = $this->validateReconciliationDestination($destinationId);
|
||||
$result = $this->validateReconciliationDestination($accountId);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -125,12 +126,13 @@ class AccountValidator
|
||||
/**
|
||||
* @param int|null $accountId
|
||||
* @param string|null $accountName
|
||||
* @param string|null $accountIban
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSource(?int $accountId, ?string $accountName): bool
|
||||
public function validateSource(?int $accountId, ?string $accountName, ?string $accountIban): bool
|
||||
{
|
||||
Log::debug(sprintf('Now in AccountValidator::validateSource(%d, "%s")', $accountId, $accountName));
|
||||
Log::debug(sprintf('Now in AccountValidator::validateSource(%d, "%s", "%s")', $accountId, $accountName, $accountIban));
|
||||
switch ($this->transactionType) {
|
||||
default:
|
||||
$result = false;
|
||||
|
||||
@@ -65,7 +65,7 @@ trait RecurrenceValidation
|
||||
// validate source account.
|
||||
$sourceId = isset($transaction['source_id']) ? (int)$transaction['source_id'] : null;
|
||||
$sourceName = $transaction['source_name'] ?? null;
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName);
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName, null);
|
||||
|
||||
// do something with result:
|
||||
if (false === $validSource) {
|
||||
@@ -77,7 +77,7 @@ trait RecurrenceValidation
|
||||
// validate destination account
|
||||
$destinationId = isset($transaction['destination_id']) ? (int)$transaction['destination_id'] : null;
|
||||
$destinationName = $transaction['destination_name'] ?? null;
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName);
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName, null);
|
||||
// do something with result:
|
||||
if (false === $validDestination) {
|
||||
$validator->errors()->add(sprintf('transactions.%d.destination_id', $index), $accountValidator->destError);
|
||||
|
||||
@@ -72,9 +72,10 @@ trait TransactionValidation
|
||||
$accountValidator->setTransactionType($transactionType);
|
||||
|
||||
// validate source account.
|
||||
$sourceId = isset($transaction['source_id']) ? (int)$transaction['source_id'] : null;
|
||||
$sourceId = isset($transaction['source_id']) ? (int) $transaction['source_id'] : null;
|
||||
$sourceName = $transaction['source_name'] ?? null;
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName);
|
||||
$sourceIban = $transaction['source_iban'] ?? null;
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName, $sourceIban);
|
||||
|
||||
// do something with result:
|
||||
if (false === $validSource) {
|
||||
@@ -84,9 +85,10 @@ trait TransactionValidation
|
||||
return;
|
||||
}
|
||||
// validate destination account
|
||||
$destinationId = isset($transaction['destination_id']) ? (int)$transaction['destination_id'] : null;
|
||||
$destinationId = isset($transaction['destination_id']) ? (int) $transaction['destination_id'] : null;
|
||||
$destinationName = $transaction['destination_name'] ?? null;
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName);
|
||||
$destinationIban = $transaction['destination_iban'] ?? null;
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName, $destinationIban);
|
||||
// do something with result:
|
||||
if (false === $validDestination) {
|
||||
$validator->errors()->add(sprintf('transactions.%d.destination_id', $index), $accountValidator->destError);
|
||||
@@ -140,7 +142,7 @@ trait TransactionValidation
|
||||
// validate source account.
|
||||
$sourceId = isset($transaction['source_id']) ? (int)$transaction['source_id'] : $originalData['source_id'];
|
||||
$sourceName = $transaction['source_name'] ?? $originalData['source_name'];
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName);
|
||||
$validSource = $accountValidator->validateSource($sourceId, $sourceName, null);
|
||||
|
||||
// do something with result:
|
||||
if (false === $validSource) {
|
||||
@@ -152,7 +154,7 @@ trait TransactionValidation
|
||||
// validate destination account
|
||||
$destinationId = isset($transaction['destination_id']) ? (int)$transaction['destination_id'] : $originalData['destination_id'];
|
||||
$destinationName = $transaction['destination_name'] ?? $originalData['destination_name'];
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName);
|
||||
$validDestination = $accountValidator->validateDestination($destinationId, $destinationName, null);
|
||||
// do something with result:
|
||||
if (false === $validDestination) {
|
||||
$validator->errors()->add(sprintf('transactions.%d.destination_id', $index), $accountValidator->destError);
|
||||
|
||||
Reference in New Issue
Block a user