gnucash maint: Revert "Bug726674-BudgetReverseSignSupport"
Geert Janssens
gjanssens at code.gnucash.org
Sat Jun 21 15:42:34 EDT 2014
Updated via https://github.com/Gnucash/gnucash/commit/f2ffaf23 (commit)
from https://github.com/Gnucash/gnucash/commit/2182746b (commit)
commit f2ffaf23ae80ddcefba216ee810c553a4f15a6e8
Author: Geert Janssens <janssens-geert at telenet.be>
Date: Sat Jun 21 15:17:11 2014 +0200
Revert "Bug726674-BudgetReverseSignSupport"
This patch got pushed by accident before it was ready to be committed.
This reverts commit 247f086703731e3379c8eaae22e18de0179a3fbb.
diff --git a/src/engine/gnc-budget.c b/src/engine/gnc-budget.c
index 86a4a66..ae1e2e3 100644
--- a/src/engine/gnc-budget.c
+++ b/src/engine/gnc-budget.c
@@ -35,8 +35,6 @@
#include "gnc-budget.h"
#include "gnc-commodity.h"
#include "gnc-gdate-utils.h"
-#include "gnc-prefs.h"
-/*#include "app-utils/gnc-ui-util.h" for gnc_reverse_balance */
static QofLogModule log_module = GNC_MOD_ENGINE;
@@ -498,52 +496,6 @@ gnc_budget_unset_account_period_value(GncBudget *budget, const Account *account,
}
-/******************************************************\
- * this helper function has been placed here, because *
- * the "original" function gnc_reverse_balance is not *
- * reachable from here with the current build setup *
-\******************************************************/
-
-gboolean
-gnc_is_account_reverse_balance (const Account *account)
-{
- int type;
-
- type = xaccAccountGetType (account);
-
- if (gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, "reversed-accounts-incomeexpense"))
- {
- switch (type) {
- case ACCT_TYPE_INCOME: return TRUE;
- break;
- case ACCT_TYPE_EXPENSE: return TRUE;
- break;
- default: return FALSE;
- break;
- }
- }
- else if (gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, "reversed-accounts-credit"))
- {
- switch (type) {
- case ACCT_TYPE_LIABILITY: return TRUE;
- break;
- case ACCT_TYPE_PAYABLE: return TRUE;
- break;
- case ACCT_TYPE_EQUITY: return TRUE;
- break;
- case ACCT_TYPE_INCOME: return TRUE;
- break;
- case ACCT_TYPE_CREDIT: return TRUE;
- break;
- default: return FALSE;
- break;
- }
- }
-
- return FALSE;
-
-}
-
/* period_num is zero-based */
/* What happens when account is deleted, after we have an entry for it? */
void
@@ -572,12 +524,7 @@ gnc_budget_set_account_period_value(GncBudget *budget, const Account *account,
if (gnc_numeric_check(val))
kvp_frame_set_value(frame, path, NULL);
else
- {
- if (gnc_is_account_reverse_balance (account))
- val = gnc_numeric_neg (val);
-
kvp_frame_set_numeric(frame, path, val);
- }
qof_instance_set_dirty(&budget->inst);
gnc_budget_commit_edit(budget);
@@ -623,10 +570,6 @@ gnc_budget_get_account_period_value(const GncBudget *budget, const Account *acco
g_sprintf(bufend, "/%d", period_num);
numeric = kvp_frame_get_numeric(frame, path);
-
- if (gnc_is_account_reverse_balance (account))
- numeric = gnc_numeric_neg (numeric);
-
/* This still returns zero if unset, but callers can check for that. */
return numeric;
}
diff --git a/src/engine/gnc-budget.h b/src/engine/gnc-budget.h
index 3d2ce1f..35815d0 100644
--- a/src/engine/gnc-budget.h
+++ b/src/engine/gnc-budget.h
@@ -136,9 +136,6 @@ Timespec gnc_budget_get_period_start_date(const GncBudget* budget, guint period_
/** Get the ending date of the Budget period*/
Timespec gnc_budget_get_period_end_date(const GncBudget* budget, guint period_num);
-/* local helper to check what preferences have been set for account reverse */
-gboolean gnc_is_account_reverse_balance (const Account *account);
-
/* Period indices are zero-based. */
void gnc_budget_set_account_period_value(
GncBudget* budget, const Account* account, guint period_num, gnc_numeric val);
diff --git a/src/gnome/gnc-plugin-page-budget.c b/src/gnome/gnc-plugin-page-budget.c
index 6025a40..f76f881 100644
--- a/src/gnome/gnc-plugin-page-budget.c
+++ b/src/gnome/gnc-plugin-page-budget.c
@@ -869,6 +869,10 @@ estimate_budget_helper(GtkTreeModel *model, GtkTreePath *path,
num = recurrenceGetAccountPeriodValue(&priv->r, acct, i);
if (!gnc_numeric_check(num))
{
+ if (gnc_reverse_balance (acct))
+ num = gnc_numeric_neg (num);
+
+
num = gnc_numeric_convert(num, GNC_DENOM_AUTO,
GNC_HOW_DENOM_SIGFIGS(priv->sigFigs) | GNC_HOW_RND_ROUND_HALF_UP);
gnc_budget_set_account_period_value(
diff --git a/src/report/standard-reports/budget-barchart.scm b/src/report/standard-reports/budget-barchart.scm
index 8c9b361..ccc1372 100644
--- a/src/report/standard-reports/budget-barchart.scm
+++ b/src/report/standard-reports/budget-barchart.scm
@@ -120,51 +120,36 @@
;; Loop though periods
(while (< period num-periods)
- (let
- (
- (budget-period-value
- (gnc-budget-get-account-period-value budget acct period)
- )
- (actual-period-value
- (gnc-budget-get-account-period-actual-value budget acct period)
- )
- )
-
- ;; take care of the reverse account preference
- ;; only needed for the actual value
- ;; for the budget value this is already included
- (if (gnc-reverse-balance acct)
- (set! actual-period-value
- (gnc-numeric-neg actual-period-value)
- )
- )
-
- ;; do the conversion
- (set! budget-period-value (gnc-numeric-to-double budget-period-value))
- (set! actual-period-value (gnc-numeric-to-double actual-period-value))
-
- ;; Add calc new running sum and add to list
- (if running-sum
- (set! bgt-sum (+ bgt-sum budget-period-value))
- ;; else
- (set! bgt-sum budget-period-value)
- )
- (set! bgt-vals (append bgt-vals (list bgt-sum)))
-
- (if running-sum
- (set! act-sum (+ act-sum actual-period-value))
- ;; else
- (set! act-sum actual-period-value)
- )
- (set! act-vals (append act-vals (list act-sum)))
-
- ;; Add period to date list
- (set! date (gnc-budget-get-period-start-date budget period))
- (set! date-list (append date-list (list (gnc-print-date date))))
-
- (set! period (+ period 1))
- );; end of let
- );; end of while
+
+ ;; Add calc new running sum and add to list
+ (if running-sum
+ (set! bgt-sum (+ bgt-sum
+ (gnc-numeric-to-double
+ (gnc-budget-get-account-period-value budget acct period))))
+
+ (set! bgt-sum
+ (gnc-numeric-to-double
+ (gnc-budget-get-account-period-value budget acct period)))
+ )
+ (set! bgt-vals (append bgt-vals (list bgt-sum)))
+
+ (if running-sum
+ (set! act-sum (+ act-sum
+ (gnc-numeric-to-double
+ (gnc-budget-get-account-period-actual-value budget acct period))))
+
+ (set! act-sum
+ (gnc-numeric-to-double
+ (gnc-budget-get-account-period-actual-value budget acct period)))
+ )
+ (set! act-vals (append act-vals (list act-sum)))
+
+ ;; Add period to date list
+ (set! date (gnc-budget-get-period-start-date budget period))
+ (set! date-list (append date-list (list (gnc-print-date date))))
+
+ (set! period (+ period 1))
+ )
;; Add data to chart
(gnc:html-barchart-append-column! chart bgt-vals)
diff --git a/src/report/standard-reports/budget-income-statement.scm b/src/report/standard-reports/budget-income-statement.scm
index 042949e..bb110f4 100644
--- a/src/report/standard-reports/budget-income-statement.scm
+++ b/src/report/standard-reports/budget-income-statement.scm
@@ -570,32 +570,11 @@
;; Total expenses.
(set! expense-total
(gnc:get-assoc-account-balances-total expense-account-balances))
- (if (gnc-reverse-balance (car expense-accounts))
- (set! expense-total
- (gnc:commodity-collector-get-negated expense-total)
- )
- )
;; Function to get individual expense account total.
(set! expense-get-balance-fn
(lambda (account start-date end-date)
- (let
- (
- (individual-balance
- (gnc:select-assoc-account-balance
- expense-account-balances
- account
- )
- )
- )
- (if (gnc-reverse-balance account)
- (gnc:commodity-collector-get-negated individual-balance)
- ;; else
- individual-balance
- )
- )
- )
- )
+ (gnc:select-assoc-account-balance expense-account-balances account)))
(gnc:report-percent-done 10)
@@ -613,33 +592,13 @@
;; Total revenue.
(set! revenue-total
(gnc:get-assoc-account-balances-total revenue-account-balances))
- (if (not (gnc-reverse-balance (car revenue-accounts)))
- (set! revenue-total
- (gnc:commodity-collector-get-negated revenue-total)
- )
- )
;; Function to get individual revenue account total.
;; Budget revenue is always positive, so this must be negated.
(set! revenue-get-balance-fn
(lambda (account start-date end-date)
- (let
- (
- (individual-balance
- (gnc:select-assoc-account-balance
- revenue-account-balances
- account
- )
- )
- )
- (if (gnc-reverse-balance account)
- (gnc:commodity-collector-get-negated individual-balance)
- ;; else
- individual-balance
- )
- )
- )
- )
+ (gnc:commodity-collector-get-negated
+ (gnc:select-assoc-account-balance revenue-account-balances account))))
(gnc:report-percent-done 20)
Summary of changes:
src/engine/gnc-budget.c | 57 ----------------
src/engine/gnc-budget.h | 3 -
src/gnome/gnc-plugin-page-budget.c | 4 ++
src/report/standard-reports/budget-barchart.scm | 75 +++++++++-------------
.../standard-reports/budget-income-statement.scm | 47 +-------------
5 files changed, 37 insertions(+), 149 deletions(-)
More information about the gnucash-changes
mailing list