Skip to content

Commit

Permalink
fix(TransactionLogic): Fix auto-budget
Browse files Browse the repository at this point in the history
  • Loading branch information
sebbo2002 committed Jul 27, 2021
1 parent d32d6ec commit 66d0f9b
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions logic/transaction.js
Original file line number Diff line number Diff line change
Expand Up @@ -1460,7 +1460,7 @@ class TransactionLogic extends BaseLogic {
await Promise.all(jobs);

// check units and add unit with difference when necessary
const isNew = !newTransaction.id;
const isNew = newTransaction.isNewRecord;
if (!isNew) {
const units = await newTransaction.getUnits();
if (units.length === 1 && units[0].amount !== newTransaction.amount) {
Expand Down Expand Up @@ -1492,14 +1492,28 @@ class TransactionLogic extends BaseLogic {
}

if(!isNew) {
log.debug('Skip guessing the new transaction as transaction is not new');
return newTransaction;
}

const guesses = await this.guessBudget(newTransaction);
if(!guesses.length || guesses[0].probability < 1) {
log.debug('Nice, transaction created. Now trying to auto-budget…');

const transaction = await this.get(newTransaction.id);
const guesses = await this.guessBudget(transaction);
if(!guesses.length) {
log.debug('Found no guesses, leave the transaction as it is');
return newTransaction;
}
if(guesses[0].probability < 1) {
log.debug(
'Found ' + guesses.length + ' guesses, but ' + guesses[0].probability +
' is quite low with' + guesses[0].probability + '. Stopping here…'
);

return newTransaction;
}

log.debug('Found a match (budget#' + guesses[0].budgetId + '), auto-budget it…');
const unit = await DatabaseHelper.get('unit').create({
transactionId: newTransaction.id,
budgetId: guesses[0].budgetId,
Expand Down

0 comments on commit 66d0f9b

Please sign in to comment.