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