James Cole 2022-11-04 05:49:32 +01:00
parent e05c174e6d
commit b942f351f8
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
2 changed files with 24 additions and 12 deletions

View File

@ -444,11 +444,11 @@ trait TransactionValidation
} }
$type = $this->getTransactionType($transactionGroup, $transactions); $type = $this->getTransactionType($transactionGroup, $transactions);
// compare source ID's, destination ID's, source names and destination names. // compare source IDs, destination IDs, source names and destination names.
// I think I can get away with one combination being equal, as long as the rest // I think I can get away with one combination being equal, as long as the rest
// of the code picks up on this as well. // of the code picks up on this as well.
// either way all fields must be blank or all equal // either way all fields must be blank or all equal
// but if ID's are equal don't bother with the names. // but if IDs are equal don't bother with the names.
$comparison = $this->collectComparisonData($transactions); $comparison = $this->collectComparisonData($transactions);
$result = $this->compareAccountData($type, $comparison); $result = $this->compareAccountData($type, $comparison);
if (false === $result) { if (false === $result) {

View File

@ -128,6 +128,7 @@
v-model="transaction.amount" v-model="transaction.amount"
:destination="transaction.destination_account" :destination="transaction.destination_account"
:error="transaction.errors.amount" :error="transaction.errors.amount"
:index="index"
:source="transaction.source_account" :source="transaction.source_account"
:transactionType="transactionType" :transactionType="transactionType"
></amount> ></amount>
@ -522,16 +523,24 @@ export default {
transactionType = 'deposit'; transactionType = 'deposit';
} }
// get currency from first transaction. overrule the rest
let currencyId = this.transactions[0].source_account.currency_id;
if ('deposit' === transactionType) {
currencyId = this.transactions[0].destination_account.currency_id;
}
console.log('Overruled currency ID to ' + currencyId);
for (let key in this.transactions) { for (let key in this.transactions) {
if (this.transactions.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) { if (this.transactions.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
data.transactions.push(this.convertDataRow(this.transactions[key], key, transactionType)); data.transactions.push(this.convertDataRow(this.transactions[key], key, transactionType, currencyId));
} }
} }
//console.log(data); //console.log(data);
return data; return data;
}, },
convertDataRow(row, index, transactionType) { convertDataRow(row, index, transactionType, currencyId) {
let tagList = []; let tagList = [];
let foreignAmount = null; let foreignAmount = null;
let foreignCurrency = null; let foreignCurrency = null;
@ -547,14 +556,17 @@ export default {
destName = row.destination_account.name; destName = row.destination_account.name;
// depends on the transaction type, where we get the currency. // depends on the transaction type, where we get the currency.
if ('withdrawal' === transactionType || 'transfer' === transactionType) { // if ('withdrawal' === transactionType || 'transfer' === transactionType) {
row.currency_id = row.source_account.currency_id; // row.currency_id = row.source_account.currency_id;
// console.log('Overruled currency ID to ' + row.currency_id); // console.log('Overruled currency ID to ' + row.currency_id);
} // }
if ('deposit' === transactionType) { // if ('deposit' === transactionType) {
row.currency_id = row.destination_account.currency_id; // row.currency_id = row.destination_account.currency_id;
// console.log('Overruled currency ID to ' + row.currency_id); // console.log('Overruled currency ID to ' + row.currency_id);
} // }
row.currency_id = currencyId;
console.log('Final currency ID = ' + currencyId);
date = row.date; date = row.date;
if (index > 0) { if (index > 0) {