From 8fd7813b9ea6a26ebc6ddd1bd4ff1390899cb9d8 Mon Sep 17 00:00:00 2001 From: Ngewi Fet Date: Wed, 11 Feb 2015 12:20:18 +0100 Subject: [PATCH] Fixed: cyclic account hierarchies created by accounts setting parent to self --- .../org/gnucash/android/ui/account/AccountFormFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java b/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java index 82073aebd..186bd14fa 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/account/AccountFormFragment.java @@ -559,9 +559,9 @@ private void loadParentAccountList(AccountType accountType){ if (mAccount != null){ //if editing an account mDescendantAccountUIDs = mAccountsDbAdapter.getDescendantAccountUIDs(mAccount.getUID(), null, null); + mDescendantAccountUIDs.add(mAccountsDbAdapter.getGnuCashRootAccountUID()); // limit cyclic account hierarchies. - condition += " AND (" + DatabaseSchema.AccountEntry.COLUMN_PARENT_ACCOUNT_UID + " IS NULL " - + " OR " + DatabaseSchema.AccountEntry.COLUMN_UID + " NOT IN ( '" + condition += " AND (" + DatabaseSchema.AccountEntry.COLUMN_UID + " NOT IN ( '" + TextUtils.join("','", mDescendantAccountUIDs) + "','" + mAccountUID + "' ) )"; }