From 7738ea0c008811eff0a6ee6512f9d6cf54a77862 Mon Sep 17 00:00:00 2001 From: Ryan Bianchi <1435081+qedi-r@users.noreply.github.com> Date: Fri, 30 Aug 2024 14:04:50 -0400 Subject: [PATCH] Fix suggested payee issues #3317 #3316 (#3318) --- .../src/components/transactions/TransactionsTable.jsx | 4 +++- packages/loot-core/src/server/db/index.ts | 11 ++++++++--- upcoming-release-notes/3318.md | 6 ++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 upcoming-release-notes/3318.md diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.jsx b/packages/desktop-client/src/components/transactions/TransactionsTable.jsx index 20ba4a194..ab2a687bb 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.jsx +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.jsx @@ -1240,7 +1240,9 @@ const Transaction = memo(function Transaction({ focused={focusedField === 'payee'} /* Filter out the account we're currently in as it is not a valid transfer */ accounts={accounts.filter(account => account.id !== accountId)} - payees={payees.filter(payee => payee.transfer_acct !== accountId)} + payees={payees.filter( + payee => !payee.transfer_acct || payee.transfer_acct !== accountId, + )} valueStyle={valueStyle} transaction={transaction} subtransactions={subtransactions} diff --git a/packages/loot-core/src/server/db/index.ts b/packages/loot-core/src/server/db/index.ts index 9a7fd514b..04f49ee36 100644 --- a/packages/loot-core/src/server/db/index.ts +++ b/packages/loot-core/src/server/db/index.ts @@ -13,6 +13,7 @@ import { v4 as uuidv4 } from 'uuid'; import * as fs from '../../platform/server/fs'; import * as sqlite from '../../platform/server/sqlite'; +import * as monthUtils from '../../shared/months'; import { groupById } from '../../shared/util'; import { CategoryEntity, @@ -27,6 +28,7 @@ import { convertFromSelect, } from '../aql'; import { + toDateRepr, accountModel, categoryModel, categoryGroupModel, @@ -544,7 +546,9 @@ export function getPayees() { } export function getCommonPayees() { - const threeMonthsAgo = '20240201'; + const twelveWeeksAgo = toDateRepr( + monthUtils.subWeeks(monthUtils.currentDate(), 12), + ); const limit = 10; return all(` SELECT p.id as id, p.name as name, p.favorite as favorite, @@ -552,10 +556,11 @@ export function getCommonPayees() { count(*) as c, max(t.date) as latest FROM payees p - LEFT JOIN v_transactions t on t.payee == p.id + LEFT JOIN v_transactions_internal_alive t on t.payee == p.id WHERE LENGTH(p.name) > 0 + AND p.tombstone = 0 + AND t.date > ${twelveWeeksAgo} GROUP BY p.id - HAVING latest > ${threeMonthsAgo} ORDER BY c DESC ,p.transfer_acct IS NULL DESC, p.name COLLATE NOCASE LIMIT ${limit} diff --git a/upcoming-release-notes/3318.md b/upcoming-release-notes/3318.md new file mode 100644 index 000000000..7dbb8e41c --- /dev/null +++ b/upcoming-release-notes/3318.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [qedi-r] +--- + +Fix display of deleted payees in suggested payee list -- GitLab