gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sat Oct 31 19:24:47 EDT 2020


Updated	 via  https://github.com/Gnucash/gnucash/commit/d87c469e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9e70d7f4 (commit)
	from  https://github.com/Gnucash/gnucash/commit/cebe6022 (commit)



commit d87c469e17c9cbdb52756c09b3708377123aa299
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Oct 30 09:24:07 2020 +0800

    Bug 797993 - Reverse balance option does not apply to an Account Report

diff --git a/gnucash/report/reports/standard/register.scm b/gnucash/report/reports/standard/register.scm
index b73f0d6d8..98ea1d7f3 100644
--- a/gnucash/report/reports/standard/register.scm
+++ b/gnucash/report/reports/standard/register.scm
@@ -170,10 +170,13 @@
   (let* ((row-contents '())
          (parent (xaccSplitGetParent split))
          (account (xaccSplitGetAccount split))
+         (reverse? (gnc-reverse-balance account))
          (currency (xaccAccountGetCommodity account))
          (trans-currency (xaccTransGetCurrency parent))
          (damount (xaccSplitGetAmount split))
-         (split-value (gnc:make-gnc-monetary currency damount)))
+         (dvalue (xaccSplitGetValue split))
+         (split-abs-amount (gnc:make-gnc-monetary currency (abs damount)))
+         (split-abs-value (gnc:make-gnc-monetary currency (abs dvalue))))
 
     (if (date-col column-vector)
         (addto! row-contents
@@ -232,54 +235,41 @@
                        trans-currency (xaccSplitGetSharePrice split))))))
     (if (amount-single-col column-vector)
         (addto! row-contents
-                (if split-info?
-                    (gnc:make-html-table-cell/markup
-                     "number-cell"
-                     (gnc:html-split-anchor split split-value))
-                    " ")))
+                (and split-info?
+                     (gnc:make-html-table-cell/markup
+                      "number-cell"
+                      (gnc:html-split-anchor
+                       split (gnc:make-gnc-monetary
+                              currency (if reverse? (- damount) damount)))))))
     (if (debit-col column-vector)
-        (if (positive? (gnc:gnc-monetary-amount split-value))
-            (addto! row-contents
-                    (if split-info?
-                        (gnc:make-html-table-cell/markup
-                         "number-cell"
-                         (gnc:html-split-anchor split split-value))
-                        " "))
-            (addto! row-contents " ")))
+        (addto! row-contents
+                (and split-info? (positive? damount)
+                     (gnc:make-html-table-cell/markup
+                      "number-cell"
+                      (gnc:html-split-anchor split split-abs-amount)))))
     (if (credit-col column-vector)
-        (if (not (positive? (gnc:gnc-monetary-amount split-value)))
-            (addto! row-contents
-                    (if split-info?
-                        (gnc:make-html-table-cell/markup
-                         "number-cell"
-                         (gnc:html-split-anchor
-                          split (gnc:monetary-neg split-value)))
-                        " "))
-            (addto! row-contents " ")))
+        (addto! row-contents
+                (and split-info? (not (positive? damount))
+                     (gnc:make-html-table-cell/markup
+                      "number-cell"
+                      (gnc:html-split-anchor split split-abs-amount)))))
     (if (value-single-col column-vector)
         (addto! row-contents
-                (if split-info?
-                    (gnc:make-html-table-cell/markup
-                     "number-cell"
-                     (gnc:make-gnc-monetary trans-currency
-                                            (xaccSplitGetValue split)))
-                    " ")))
+                (and split-info?
+                     (gnc:make-html-table-cell/markup
+                      "number-cell"
+                      (gnc:make-gnc-monetary
+                       trans-currency (if reverse? (- dvalue) dvalue))))))
     (if (value-debit-col column-vector)
         (addto! row-contents
-                (if (and split-info? (positive? (xaccSplitGetValue split)))
-                    (gnc:make-html-table-cell/markup
-                     "number-cell"
-                     (gnc:make-gnc-monetary trans-currency
-                                            (xaccSplitGetValue split)))
-                    " ")))
+                (and split-info? (positive? dvalue)
+                     (gnc:make-html-table-cell/markup
+                      "number-cell" split-abs-value))))
     (if (value-credit-col column-vector)
         (addto! row-contents
-                (if (and split-info? (not (positive? (xaccSplitGetValue split))))
-                    (gnc:make-html-table-cell/markup
-                     "number-cell"
-                     (gnc:make-gnc-monetary trans-currency
-                                            (- (xaccSplitGetValue split))))
-                    " ")))
+                (and split-info? (not (positive? dvalue))
+                     (gnc:make-html-table-cell/markup
+                      "number-cell" split-abs-value))))
     ;; For single account registers, use the split's cached balance to remain
     ;; consistent with the balances shown in the register itself
     ;; For others, use the cumulated balance from the totals-collector
@@ -292,9 +282,10 @@
                       split
                       (gnc:make-gnc-monetary
                        currency
-                       (if ledger-type?
-                           (cadr (total-collector 'getpair currency #f))
-                           (xaccSplitGetBalance split)))))
+                       (cond
+                        (ledger-type? (cadr (total-collector 'getpair currency #f)))
+                        ((gnc-reverse-balance account) (- (xaccSplitGetBalance split)))
+                        (else (xaccSplitGetBalance split))))))
                     " ")))
 
     (gnc:html-table-append-row/markup! table row-style
@@ -328,8 +319,7 @@
                          (gnc-get-num-action parent #f)
                          " ")))
                 (gnc:html-table-append-row/markup! table row-style
-                                                   (reverse row-contents))))))
-    split-value))
+                                                   (reverse row-contents))))))))
 
 
 (define (options-generator)

commit 9e70d7f45a4dc3c3a0cbd756f551ca491f3de75c
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Oct 30 10:49:34 2020 +0800

    [register.scm] some cleanups

diff --git a/gnucash/report/reports/standard/register.scm b/gnucash/report/reports/standard/register.scm
index 4773d1c47..b73f0d6d8 100644
--- a/gnucash/report/reports/standard/register.scm
+++ b/gnucash/report/reports/standard/register.scm
@@ -177,12 +177,9 @@
 
     (if (date-col column-vector)
         (addto! row-contents
-                (if transaction-info?
-                    (gnc:make-html-table-cell/markup
-                     "date-cell"
-                     (qof-print-date
-                      (xaccTransGetDate parent)))
-                    " ")))
+                (and transaction-info?
+                     (gnc:make-html-table-cell/markup
+                      "date-cell" (qof-print-date (xaccTransGetDate parent))))))
     (if (num-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
@@ -191,29 +188,18 @@
                      (if (and action-for-num? ledger-type?)
                          (gnc-get-num-action parent #f)
                          (gnc-get-num-action parent split))
-                     (if split-info?
-                         (gnc-get-action-num  #f split)
-                         " ")))))
+                     (and split-info? (gnc-get-action-num  #f split))))))
     (if (description-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
                  "text-cell"
                  (if transaction-info?
-                     (if description?
-                         (xaccTransGetDescription parent)
-                         " " )
-                     (if split-info?
-                         (if memo?
-                             (xaccSplitGetMemo split)
-                             " ")
-                         " ")))))
+                     (and description? (xaccTransGetDescription parent))
+                     (and split-info? memo? (xaccSplitGetMemo split))))))
     (if (memo-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
-                 "text-cell"
-                 (if transaction-info?
-                     (xaccSplitGetMemo split)
-                     " "))))
+                 "text-cell" (and transaction-info? (xaccSplitGetMemo split)))))
     (if (account-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
@@ -231,24 +217,19 @@
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
                  "number-cell"
-                 (if split-info?
-                     (xaccSplitGetAmount split)
-                     " "))))
+                 (and split-info? (xaccSplitGetAmount split)))))
     (if (lot-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
                  "text-cell"
-                 (if split-info?
-                     (gnc-lot-get-title (xaccSplitGetLot split))
-                     " "))))
+                 (if split-info? (gnc-lot-get-title (xaccSplitGetLot split))))))
     (if (price-col column-vector)
         (addto! row-contents
                 (gnc:make-html-table-cell/markup
                  "number-cell"
-                 (if split-info?
-                     (gnc:default-price-renderer
-                      trans-currency (xaccSplitGetSharePrice split))
-                     " "))))
+                 (and split-info?
+                      (gnc:default-price-renderer
+                       trans-currency (xaccSplitGetSharePrice split))))))
     (if (amount-single-col column-vector)
         (addto! row-contents
                 (if split-info?



Summary of changes:
 gnucash/report/reports/standard/register.scm | 125 ++++++++++-----------------
 1 file changed, 48 insertions(+), 77 deletions(-)



More information about the gnucash-changes mailing list