Fix transfer validation for CAMT imports

This commit is contained in:
James Cole
2023-07-14 06:07:16 +02:00
parent 27037c2fbb
commit f43b539470

View File

@@ -38,7 +38,7 @@ trait TransferValidation
*/
protected function validateTransferDestination(array $array): bool
{
$accountId = array_key_exists('id', $array) ? $array['id'] : null;
$accountId = array_key_exists('id', $array) ? $array['id'] : null;
$accountName = array_key_exists('name', $array) ? $array['name'] : null;
$accountIban = array_key_exists('iban', $array) ? $array['iban'] : null;
Log::debug('Now in validateTransferDestination', $array);
@@ -65,7 +65,7 @@ trait TransferValidation
// must not be the same as the source account
if (null !== $this->source && $this->source->id === $this->destination->id) {
$this->sourceError = 'Source and destination are the same.';
$this->destError = 'Source and destination are the same.';
$this->destError = 'Source and destination are the same.';
return false;
}
@@ -95,12 +95,16 @@ trait TransferValidation
*/
protected function validateTransferSource(array $array): bool
{
$accountId = array_key_exists('id', $array) ? $array['id'] : null;
$accountId = array_key_exists('id', $array) ? $array['id'] : null;
$accountName = array_key_exists('name', $array) ? $array['name'] : null;
$accountIban = array_key_exists('iban', $array) ? $array['iban'] : null;
$accountNumber = array_key_exists('number', $array) ? $array['number'] : null;
Log::debug('Now in validateTransferSource', $array);
// source can be any of the following types.
$validTypes = array_keys($this->combinations[$this->transactionType]);
if (null === $accountId && null === $accountName && false === $this->canCreateTypes($validTypes)) {
if (null === $accountId && null === $accountName
&& null === $accountIban && null === $accountNumber
&& false === $this->canCreateTypes($validTypes)) {
// if both values are NULL we return false,
// because the source of a withdrawal can't be created.
$this->sourceError = (string)trans('validation.transfer_source_need_data');