gnucash maint: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Wed Jun 30 11:18:39 EDT 2021
Updated via https://github.com/Gnucash/gnucash/commit/774dc5dd (commit)
via https://github.com/Gnucash/gnucash/commit/3ad966e8 (commit)
via https://github.com/Gnucash/gnucash/commit/7ea5217a (commit)
from https://github.com/Gnucash/gnucash/commit/60f50e34 (commit)
commit 774dc5ddf3014db366627355b0e8cd9adfd7d74f
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Jun 27 21:30:15 2021 +0800
Bug 798142 - Tax rate appears as a fraction
diff --git a/gnucash/report/reports/standard/taxinvoice.scm b/gnucash/report/reports/standard/taxinvoice.scm
index 6087c841e..7992d871e 100644
--- a/gnucash/report/reports/standard/taxinvoice.scm
+++ b/gnucash/report/reports/standard/taxinvoice.scm
@@ -25,6 +25,7 @@
(define-module (gnucash reports standard taxinvoice))
(use-modules (ice-9 local-eval)) ; for the-environment
+(use-modules (ice-9 match))
(use-modules (gnucash engine))
(use-modules (gnucash utilities))
(use-modules (gnucash core-utils))
@@ -45,29 +46,20 @@
;; depending on how complicated the tax table is.
;; (When called from within the eguile template, anything
;; (display)ed becomes part of the HTML string.)
- (cond
- ((or (not taxable) (eq? taxtable '()))
- (display " "))
- (else
- (let* ((amttot (gnc:make-commodity-collector))
- (pctot (gnc:make-value-collector))
- (entries (gncTaxTableGetEntries taxtable))
- (amt? #f) ; becomes #t if any entries are amounts
- (pc? #f)) ; becomes #t if any entries are percentages
- (for-each
- (lambda (entry)
- (cond
- ((eqv? (gncTaxTableEntryGetType entry) GNC-AMT-TYPE-VALUE)
- (set! amt? #t)
- (amttot 'add curr (gncTaxTableEntryGetAmount entry)))
- (else
- (set! pc? #t)
- (pctot 'add (gncTaxTableEntryGetAmount entry)))))
- entries)
- (if pc? (format #t "~a%" (pctot 'total #f)))
- (if (and amt? pc?) (display " + "))
- (if amt? (display-comm-coll-total amttot #f))
- (if (equal? amt? pc? #f) (display (G_ "n/a")))))))
+ (define (amt-type? entry)
+ (eqv? (gncTaxTableEntryGetType entry) GNC-AMT-TYPE-VALUE))
+ (let lp ((entries (if taxable (gncTaxTableGetEntries taxtable) '())) (acc '()))
+ (match entries
+ (() (display (if (null? acc)
+ (G_ "n/a")
+ (string-join (reverse acc) " + "))))
+ (((and (? amt-type?) (= gncTaxTableEntryGetAmount amt)) . rest)
+ (lp rest (cons (gnc:default-html-gnc-monetary-renderer
+ (gnc:make-gnc-monetary curr amt) #f) acc)))
+ (((= gncTaxTableEntryGetAmount percent) . rest)
+ (lp rest
+ (cons (string-append (gnc:default-html-number-renderer percent #f) "%")
+ acc))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Define all the options
commit 3ad966e8248cb4eceb16aaec31b605fa59d35579
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Jun 28 23:09:34 2021 +0800
Deprecate gnc:owner-report-create
diff --git a/gnucash/report/reports/reports.scm b/gnucash/report/reports/reports.scm
index 9137c9e53..0f1d8306f 100644
--- a/gnucash/report/reports/reports.scm
+++ b/gnucash/report/reports/reports.scm
@@ -42,7 +42,7 @@
(export gnc:invoice-report-create)
(export gnc:payables-report-create)
(export gnc:receivables-report-create)
-(export gnc:owner-report-create)
+(export gnc:owner-report-create) ;deprecate
(export gnc:owner-report-create-with-enddate)
(let ((loc-spec (if (string-prefix? "de_DE" (gnc-locale-name)) 'de_DE 'us)))
@@ -90,5 +90,5 @@
(define gnc:payables-report-create payables-report-create-internal)
(define gnc:receivables-report-create receivables-report-create-internal)
-(define gnc:owner-report-create owner-report-create)
+(define gnc:owner-report-create owner-report-create) ;deprecated
(define gnc:owner-report-create-with-enddate owner-report-create-with-enddate)
diff --git a/gnucash/report/reports/standard/new-owner-report.scm b/gnucash/report/reports/standard/new-owner-report.scm
index 1386c9698..ed6e811ed 100644
--- a/gnucash/report/reports/standard/new-owner-report.scm
+++ b/gnucash/report/reports/standard/new-owner-report.scm
@@ -1258,6 +1258,7 @@
(owner-report-create-internal guid owner type enddate)))
(define (owner-report-create owner account)
+ (issue-deprecation-warning "owner-report-create is not used anymore. call owner-report-create-with-enddate instead")
(owner-report-create-with-enddate owner account #f))
(define (gnc:owner-report-create-internal
@@ -1272,5 +1273,5 @@
(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #t gnc:owner-report-create-internal)
(gnc:register-report-hook ACCT-TYPE-PAYABLE #t gnc:owner-report-create-internal)
-(export owner-report-create)
+(export owner-report-create) ;deprecate
(export owner-report-create-with-enddate)
commit 7ea5217a021e5a41bdfb896d3ed5381a6e99ca86
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Jun 28 23:07:08 2021 +0800
use owner-report-create-with-enddate instead of owner-report-create
diff --git a/gnucash/gnome/gnc-plugin-page-owner-tree.c b/gnucash/gnome/gnc-plugin-page-owner-tree.c
index 506e64a69..c6c578278 100644
--- a/gnucash/gnome/gnc-plugin-page-owner-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-owner-tree.c
@@ -976,9 +976,11 @@ static int build_owner_report (GncOwner *owner, Account *acc)
args = SCM_EOL;
- func = scm_c_eval_string ("gnc:owner-report-create");
+ func = scm_c_eval_string ("gnc:owner-report-create-with-enddate");
g_return_val_if_fail (scm_is_procedure (func), -1);
+ args = scm_cons (SCM_BOOL_F, args); /* enddate is #f */
+
if (acc)
{
swig_type_info * qtype = SWIG_TypeQuery("_p_Account");
diff --git a/gnucash/report/reports/CMakeLists.txt b/gnucash/report/reports/CMakeLists.txt
index 6178d4ede..ec4a6fe80 100644
--- a/gnucash/report/reports/CMakeLists.txt
+++ b/gnucash/report/reports/CMakeLists.txt
@@ -59,7 +59,7 @@ set (reports_standard_SCHEME
# Reports depending on one of the generator functions from
# scm-reports-standard-with-exposed-generator:
set (reports_standard_SCHEME_2
- standard/customer-summary.scm # Depends on gnc:owner-report-create
+ standard/customer-summary.scm # Depends on gnc:owner-report-create-with-enddate
)
set(reports_example_SCHEME
diff --git a/gnucash/report/reports/standard/customer-summary.scm b/gnucash/report/reports/standard/customer-summary.scm
index a8840eb66..5c76335bc 100644
--- a/gnucash/report/reports/standard/customer-summary.scm
+++ b/gnucash/report/reports/standard/customer-summary.scm
@@ -355,7 +355,7 @@
(gncOwnerGetName owner) comm markup
comm-profit comm-sales comm-expense
(gnc:report-anchor-text
- (gnc:owner-report-create owner '())))
+ (gnc:owner-report-create-with-enddate owner '() #f)))
sortingtable)))))
commodities)))
results)
diff --git a/gnucash/report/reports/standard/new-owner-report.scm b/gnucash/report/reports/standard/new-owner-report.scm
index 8aaacb6a0..1386c9698 100644
--- a/gnucash/report/reports/standard/new-owner-report.scm
+++ b/gnucash/report/reports/standard/new-owner-report.scm
@@ -1265,7 +1265,7 @@
(let* ((owner (gnc:split->owner split))
(res (if (gncOwnerIsValid owner)
- (owner-report-create owner account)
+ (owner-report-create-with-enddate owner account #f)
-1)))
(gnc:split->owner #f)
res))
Summary of changes:
gnucash/gnome/gnc-plugin-page-owner-tree.c | 4 ++-
gnucash/report/reports/CMakeLists.txt | 2 +-
gnucash/report/reports/reports.scm | 4 +--
.../report/reports/standard/customer-summary.scm | 2 +-
.../report/reports/standard/new-owner-report.scm | 5 +--
gnucash/report/reports/standard/taxinvoice.scm | 38 +++++++++-------------
6 files changed, 25 insertions(+), 30 deletions(-)
More information about the gnucash-changes
mailing list