gnucash master: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Fri May 29 06:37:09 EDT 2020
Updated via https://github.com/Gnucash/gnucash/commit/efb9abfb (commit)
via https://github.com/Gnucash/gnucash/commit/6caf7bee (commit)
via https://github.com/Gnucash/gnucash/commit/c6e10295 (commit)
via https://github.com/Gnucash/gnucash/commit/6405c60f (commit)
via https://github.com/Gnucash/gnucash/commit/5fb8d3dc (commit)
via https://github.com/Gnucash/gnucash/commit/858cf174 (commit)
via https://github.com/Gnucash/gnucash/commit/343b018d (commit)
from https://github.com/Gnucash/gnucash/commit/6e834940 (commit)
commit efb9abfb4d7b2cf77243b560e14ace8c1ef12867
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri May 29 18:18:38 2020 +0800
deprecate old reports
diff --git a/gnucash/report/reports/aging.scm b/gnucash/report/reports/aging.scm
index 488f2cc0a..7e9165c8e 100644
--- a/gnucash/report/reports/aging.scm
+++ b/gnucash/report/reports/aging.scm
@@ -653,6 +653,9 @@ copying this report to a spreadsheet for use in a mail merge.")
(gncCustomerGetShipAddr (gncOwnerGetCustomer owner)) ;; shipping
(gncOwnerGetAddr owner))) ;; billing
+ (issue-deprecation-warning
+ "old aging reports are deprecated and will be removed in 5.x")
+
(set! receivable (eq? (op-value "__hidden" "receivable-or-payable") 'R))
(gnc:report-starting reportname)
(let* ((companys (make-hash-table 23))
diff --git a/gnucash/report/reports/standard/balance-sheet.scm b/gnucash/report/reports/standard/balance-sheet.scm
index 2221d5e61..7d7f81f82 100644
--- a/gnucash/report/reports/standard/balance-sheet.scm
+++ b/gnucash/report/reports/standard/balance-sheet.scm
@@ -287,6 +287,9 @@
(gnc:lookup-option
(gnc:report-options report-obj) pagename optname)))
+ (issue-deprecation-warning
+ "old balance-sheet is deprecated and will be removed in 5.x")
+
(gnc:report-starting reportname)
;; get all option's values
diff --git a/gnucash/report/reports/standard/income-statement.scm b/gnucash/report/reports/standard/income-statement.scm
index 14979563a..d7d61a838 100644
--- a/gnucash/report/reports/standard/income-statement.scm
+++ b/gnucash/report/reports/standard/income-statement.scm
@@ -290,7 +290,10 @@
(gnc:option-value
(gnc:lookup-option
(gnc:report-options report-obj) pagename optname)))
-
+
+ (issue-deprecation-warning
+ "old income-statement is deprecated and will be removed in 5.x")
+
(gnc:report-starting reportname)
;; get all option's values
diff --git a/gnucash/report/reports/standard/owner-report.scm b/gnucash/report/reports/standard/owner-report.scm
index d4f27e7bd..119c0f5bf 100644
--- a/gnucash/report/reports/standard/owner-report.scm
+++ b/gnucash/report/reports/standard/owner-report.scm
@@ -720,6 +720,9 @@
(gnc:option-value
(gnc:lookup-option (gnc:report-options report-obj) section name)))
+ (issue-deprecation-warning
+ "old owner reports are deprecated and will be removed in 5.x")
+
(let* ((document (gnc:make-html-document))
(table '())
(orders '())
commit 6caf7beee36f4128bd307dc59c2cb6445a691849
Merge: 6e8349400 c6e102951
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri May 29 18:13:57 2020 +0800
Merge branch 'master-guid-dance' #706
For release notes:
* new reports are now using different options and renderer
* options and layout are different
* Old reports still accessible via --extras
commit c6e102951099ef1f6ac204e7e395926b9bba8ab9
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri May 1 21:33:54 2020 +0800
[balsheet-pnl] multichoice option uses symbol instead of #f
multichoice is designed to use symbols. use of #f is allowed but not
recommended according to the documentation.
diff --git a/gnucash/report/reports/standard/balsheet-pnl.scm b/gnucash/report/reports/standard/balsheet-pnl.scm
index b303ab675..68cb2ecb4 100644
--- a/gnucash/report/reports/standard/balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/balsheet-pnl.scm
@@ -124,7 +124,7 @@ also show overall period profit & loss."))
(define periodlist
(list
- (list #f
+ (list 'disabled
(cons 'text (_ "Disabled"))
(cons 'tip (_ "Disabled")))
@@ -180,29 +180,30 @@ also show overall period profit & loss."))
(gnc:make-multichoice-callback-option
gnc:pagename-general optname-period
"c2" opthelp-period
- #f
+ 'disabled
(keylist->vectorlist periodlist)
#f
(lambda (x)
- (gnc-option-db-set-option-selectable-by-name
- options
- gnc:pagename-general optname-disable-amount-indent
- (not x))
- (gnc-option-db-set-option-selectable-by-name
- options
- gnc:pagename-general optname-dual-columns
- (not x))
- (case report-type
- ((balsheet)
- (gnc-option-db-set-option-selectable-by-name
- options gnc:pagename-general optname-include-chart x)
-
- (gnc-option-db-set-option-selectable-by-name
- options gnc:pagename-general optname-startdate x))
-
- ((pnl)
- (gnc-option-db-set-option-selectable-by-name
- options gnc:pagename-general optname-include-overall-period x))))))
+ (let ((x (not (eq? x 'disabled))))
+ (gnc-option-db-set-option-selectable-by-name
+ options
+ gnc:pagename-general optname-disable-amount-indent
+ (not x))
+ (gnc-option-db-set-option-selectable-by-name
+ options
+ gnc:pagename-general optname-dual-columns
+ (not x))
+ (case report-type
+ ((balsheet)
+ (gnc-option-db-set-option-selectable-by-name
+ options gnc:pagename-general optname-include-chart x)
+
+ (gnc-option-db-set-option-selectable-by-name
+ options gnc:pagename-general optname-startdate x))
+
+ ((pnl)
+ (gnc-option-db-set-option-selectable-by-name
+ options gnc:pagename-general optname-include-overall-period x)))))))
(add-option
(gnc:make-simple-boolean-option
@@ -704,10 +705,10 @@ also show overall period profit & loss."))
(disable-account-indent? (get-option gnc:pagename-display
optname-account-full-name))
(incr (get-option gnc:pagename-general optname-period))
- (disable-amount-indent? (and (not incr)
+ (disable-amount-indent? (and (eq? incr 'disabled)
(get-option gnc:pagename-general
optname-disable-amount-indent)))
- (enable-dual-columns? (and (not incr)
+ (enable-dual-columns? (and (eq? incr 'disabled)
(get-option gnc:pagename-general
optname-dual-columns)))
(accounts (get-option gnc:pagename-accounts
@@ -753,7 +754,8 @@ also show overall period profit & loss."))
(report-dates
(cond
- (incr (gnc:make-date-list startdate enddate (gnc:deltasym-to-delta incr)))
+ ((not (eq? incr 'disabled))
+ (gnc:make-date-list startdate enddate (gnc:deltasym-to-delta incr)))
((eq? report-type 'pnl) (list startdate enddate))
(else (list enddate))))
@@ -901,7 +903,7 @@ also show overall period profit & loss."))
(lambda ()
(display report-title)
(display " ")
- (if (or incr (eq? report-type 'pnl))
+ (if (or (not (eq? incr 'disabled)) (eq? report-type 'pnl))
(format #t (_ "~a to ~a")
(qof-print-date startdate) (qof-print-date enddate))
(display (qof-print-date enddate))))))
@@ -1017,7 +1019,7 @@ also show overall period profit & loss."))
(income-expense-balance 'format gnc:make-gnc-monetary #f)))))
(chart (and-let* (include-chart?
- incr
+ (not (eq? incr 'disabled))
(curr (or common-currency book-main-currency))
(price (or price-source 'pricedb-nearest)))
(gnc:make-report-anchor
@@ -1072,7 +1074,7 @@ also show overall period profit & loss."))
get-cell-anchor-fn)
))))
- (when incr
+ (unless (eq? incr 'disabled)
(add-to-table multicol-table-left (_ "Date") '()
#:get-col-header-fn get-col-header-fn
#:show-accounts? #f
@@ -1110,7 +1112,7 @@ also show overall period profit & loss."))
#:show-accounts? #f
#:show-total? #f))
- (if (and include-chart? incr)
+ (if (and include-chart? (not (eq? incr 'disabled)))
(gnc:html-document-add-object!
doc
(gnc:make-html-text
@@ -1149,7 +1151,7 @@ also show overall period profit & loss."))
(let ((datepair (col-idx->datepair col-idx))
(show-orig? (and common-currency #t))
(curr (or common-currency book-main-currency))
- (delta (or incr 'MonthDelta))
+ (delta (or (not (eq? incr 'disabled)) 'MonthDelta))
(price (or price-source 'pricedb-nearest))
(accts (if (pair? account) account (list account))))
(gnc:make-report-anchor
@@ -1166,7 +1168,7 @@ also show overall period profit & loss."))
(chart
(and-let* (include-chart?
(curr (or common-currency book-main-currency))
- (delta (or incr 'MonthDelta))
+ (delta (or (not (eq? incr 'disabled)) 'MonthDelta))
(price (or price-source 'pricedb-nearest)))
(gnc:make-report-anchor
pnl-barchart-uuid report-obj
@@ -1225,7 +1227,7 @@ also show overall period profit & loss."))
#:get-cell-anchor-fn (and use-amount-links?
get-cell-anchor-fn)))))
- (when incr
+ (unless (eq? incr 'disabled)
(add-to-table multicol-table-left (_ "Period") '()
#:get-col-header-fn get-col-header-fn
#:show-accounts? #f
diff --git a/gnucash/report/reports/standard/test/test-balsheet-pnl.scm b/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
index acaf7c391..f04729441 100644
--- a/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
@@ -540,7 +540,7 @@
;; the following includes non-zero retained earnings of $1,270
(set-option! multi-bs-options "General" "End Date"
(cons 'absolute (gnc-dmy2time64 1 3 1980)))
- (set-option! multi-bs-options "General" "Period duration" #f)
+ (set-option! multi-bs-options "General" "Period duration" 'disabled)
(let ((sxml (options->sxml multicol-balsheet-uuid multi-bs-options
"multicol-balsheet-retained")))
(test-equal "bal-1/3/80"
commit 6405c60f3d33624894ed62628765e0e5e38d9dcd
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Apr 25 15:08:09 2020 +0800
[reports] use new module names
diff --git a/gnucash/report/reports/reports.scm b/gnucash/report/reports/reports.scm
index dbb2549dc..67b2fe51a 100644
--- a/gnucash/report/reports/reports.scm
+++ b/gnucash/report/reports/reports.scm
@@ -80,14 +80,9 @@
0
))
-(use-modules (gnucash reports standard payables))
-(define (gnc:payables-report-create account title show-zeros?)
- (payables-report-create-internal account title show-zeros?))
+(use-modules (gnucash reports standard new-aging))
+(define gnc:payables-report-create payables-report-create-internal)
+(define gnc:receivables-report-create receivables-report-create-internal)
-(use-modules (gnucash reports standard receivables))
-(define (gnc:receivables-report-create account title show-zeros?)
- (receivables-report-create-internal account title show-zeros?))
-
-(use-modules (gnucash reports standard owner-report))
-(define* (gnc:owner-report-create owner account #:key currency)
- (owner-report-create owner account #:currency currency))
+(use-modules (gnucash reports standard new-owner-report))
+(define gnc:owner-report-create owner-report-create)
commit 5fb8d3dcdfeca686dbb9df8097d7780a3f085d01
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Apr 25 14:05:57 2020 +0800
balance-sheet/income-statement{-pnl}: swap guids
diff --git a/gnucash/report/reports/standard/balance-sheet.scm b/gnucash/report/reports/standard/balance-sheet.scm
index beb78e97b..2221d5e61 100644
--- a/gnucash/report/reports/standard/balance-sheet.scm
+++ b/gnucash/report/reports/standard/balance-sheet.scm
@@ -69,7 +69,7 @@
(use-modules (gnucash app-utils))
(use-modules (gnucash report))
-(define reportname (N_ "Balance Sheet"))
+(define reportname "Balance Sheet (legacy)")
;; define all option's names and help text so that they are properly
;; defined in *one* place.
@@ -559,9 +559,10 @@
(gnc:define-report
'version 1
'name reportname
- 'report-guid "c4173ac99b2b448289bf4d11c731af13"
+ 'report-guid "c4173ac99b2b448289bf4d11c731af13-old"
'menu-path (list gnc:menuname-asset-liability)
'options-generator balance-sheet-options-generator
- 'renderer balance-sheet-renderer)
+ 'renderer balance-sheet-renderer
+ 'in-menu? (gnc-prefs-is-extra-enabled))
;; END
diff --git a/gnucash/report/reports/standard/balsheet-pnl.scm b/gnucash/report/reports/standard/balsheet-pnl.scm
index cf820d317..b303ab675 100644
--- a/gnucash/report/reports/standard/balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/balsheet-pnl.scm
@@ -44,12 +44,6 @@
(split-balance col-datum-get-split-balance)
(split-value-balance col-datum-get-split-value-balance))
-(define FOOTER-TEXT
- (gnc:make-html-text
- (_ "WARNING: Foreign currency conversions, and unrealized gains
-calculations are not confirmed correct. This report may be modified
-without notice. Bug reports are very welcome at
-https://bugs.gnucash.org/")))
;; define all option's names and help text so that they are properly
@@ -1279,30 +1273,36 @@ also show overall period profit & loss."))
(gnc:html-document-add-object!
doc multicol-table))
- (gnc:html-document-add-object!
- doc FOOTER-TEXT)
-
(gnc:report-finished)
;; (gnc:html-document-set-style-text!
;; doc " table, td{ border-width: 1px; border-style:solid; border-color: lightgray; border-collapse: collapse}")
doc))
-(define balsheet-reportname (_ "Balance Sheet (Multicolumn)"))
-(define pnl-reportname (_ "Income Statement (Multicolumn)"))
+(define balsheet-reportname (_ "Balance Sheet"))
+(define is-reportname (_ "Income Statement"))
+(define pnl-reportname (_ "Profit & Loss"))
(gnc:define-report
'version 1
'name balsheet-reportname
- 'report-guid "065d5d5a77ba11e8b31e83ada73c5eea"
- 'menu-path (list gnc:menuname-experimental)
+ 'report-guid "c4173ac99b2b448289bf4d11c731af13"
+ 'menu-path (list gnc:menuname-asset-liability)
'options-generator (lambda () (multicol-report-options-generator 'balsheet))
'renderer (lambda (rpt) (multicol-report-renderer rpt 'balsheet)))
+(gnc:define-report
+ 'version 1
+ 'name is-reportname
+ 'report-guid "0b81a3bdfd504aff849ec2e8630524bc"
+ 'menu-path (list gnc:menuname-income-expense)
+ 'options-generator (lambda () (multicol-report-options-generator 'pnl))
+ 'renderer (lambda (rpt) (multicol-report-renderer rpt 'pnl)))
+
(gnc:define-report
'version 1
'name pnl-reportname
- 'report-guid "0e94fd0277ba11e8825d43e27232c9d4"
- 'menu-path (list gnc:menuname-experimental)
+ 'report-guid "8758ba23984c40dea5527f5f0ca2779e"
+ 'menu-path (list gnc:menuname-income-expense)
'options-generator (lambda () (multicol-report-options-generator 'pnl))
'renderer (lambda (rpt) (multicol-report-renderer rpt 'pnl)))
diff --git a/gnucash/report/reports/standard/income-statement.scm b/gnucash/report/reports/standard/income-statement.scm
index 42c8a3cab..14979563a 100644
--- a/gnucash/report/reports/standard/income-statement.scm
+++ b/gnucash/report/reports/standard/income-statement.scm
@@ -569,8 +569,8 @@
doc))
-(define is-reportname (N_ "Income Statement"))
-(define pnl-reportname (N_ "Profit & Loss"))
+(define is-reportname "Income Statement (legacy)")
+(define pnl-reportname "Profit & Loss (legacy)")
(define (income-statement-options-generator)
(income-statement-options-generator-internal is-reportname))
@@ -586,19 +586,21 @@
(gnc:define-report
'version 1
'name is-reportname
- 'report-guid "0b81a3bdfd504aff849ec2e8630524bc"
+ 'report-guid "0b81a3bdfd504aff849ec2e8630524bc-old"
'menu-path (list gnc:menuname-income-expense)
'options-generator income-statement-options-generator
- 'renderer income-statement-renderer)
+ 'renderer income-statement-renderer
+ 'in-menu? (gnc-prefs-is-extra-enabled))
;; Also make a "Profit & Loss" report, even if it's the exact same one,
;; just relabeled.
(gnc:define-report
'version 1
'name pnl-reportname
- 'report-guid "8758ba23984c40dea5527f5f0ca2779e"
+ 'report-guid "8758ba23984c40dea5527f5f0ca2779e-old"
'menu-path (list gnc:menuname-income-expense)
'options-generator profit-and-loss-options-generator
- 'renderer profit-and-loss-renderer)
+ 'renderer profit-and-loss-renderer
+ 'in-menu? (gnc-prefs-is-extra-enabled))
;; END
diff --git a/gnucash/report/reports/standard/test/test-balsheet-pnl.scm b/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
index e865d2017..acaf7c391 100644
--- a/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/test/test-balsheet-pnl.scm
@@ -15,10 +15,10 @@
;; This is implementation testing for Balance Sheet and Profit&Loss.
-(define balance-sheet-uuid "c4173ac99b2b448289bf4d11c731af13")
-(define pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc")
-(define multicol-balsheet-uuid "065d5d5a77ba11e8b31e83ada73c5eea")
-(define multicol-pnl-uuid "0e94fd0277ba11e8825d43e27232c9d4")
+(define balance-sheet-uuid "c4173ac99b2b448289bf4d11c731af13-old")
+(define pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc-old")
+(define multicol-balsheet-uuid "c4173ac99b2b448289bf4d11c731af13")
+(define multicol-pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc")
;; Explicitly set locale to make the report output predictable
(setlocale LC_ALL "C")
commit 858cf174730fbb387ce3be3c425399df1f3e0f4a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Apr 25 13:58:52 2020 +0800
{new-}owner-report: swap guids, hook to new-owner-report
diff --git a/gnucash/report/reports/standard/customer-summary.scm b/gnucash/report/reports/standard/customer-summary.scm
index cab7da78a..138ffa0dd 100644
--- a/gnucash/report/reports/standard/customer-summary.scm
+++ b/gnucash/report/reports/standard/customer-summary.scm
@@ -379,7 +379,7 @@
(gncOwnerGetName owner) comm markup
comm-profit comm-sales comm-expense
(gnc:report-anchor-text
- (gnc:owner-report-create owner '() #:currency comm)))
+ (gnc:owner-report-create owner '())))
sortingtable)))))
commodities)))
results)
diff --git a/gnucash/report/reports/standard/job-report.scm b/gnucash/report/reports/standard/job-report.scm
index b2a59e5f1..c5900b5b7 100644
--- a/gnucash/report/reports/standard/job-report.scm
+++ b/gnucash/report/reports/standard/job-report.scm
@@ -589,9 +589,9 @@
(gnc:define-report
'version 1
- 'name (N_ "Job Report")
- 'report-guid "5518ac227e474f47a34439f2d4d049de"
+ 'name "Job Report (legacy)"
+ 'report-guid "5518ac227e474f47a34439f2d4d049de-old"
'menu-path (list gnc:menuname-business-reports)
'options-generator job-options-generator
'renderer reg-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
diff --git a/gnucash/report/reports/standard/new-owner-report.scm b/gnucash/report/reports/standard/new-owner-report.scm
index 4bd67c463..a745589a0 100644
--- a/gnucash/report/reports/standard/new-owner-report.scm
+++ b/gnucash/report/reports/standard/new-owner-report.scm
@@ -1152,38 +1152,81 @@ invoices and amounts.")))))
(define (job-renderer obj)
(reg-renderer obj GNC-OWNER-JOB))
+(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1")
+(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0")
+(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44")
+
(gnc:define-report
'version 1
- 'name (N_ "Customer Report (beta)")
- 'report-guid "c146317be32e4948a561ec7fc89d15c1-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Customer Report")
+ 'report-guid customer-report-guid
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator (lambda () (options-generator GNC-OWNER-CUSTOMER))
'renderer customer-renderer
'in-menu? #t)
(gnc:define-report
'version 1
- 'name (N_ "Vendor Report (beta)")
- 'report-guid "d7d1e53505ee4b1b82efad9eacedaea0-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Vendor Report")
+ 'report-guid vendor-report-guid
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator (lambda () (options-generator GNC-OWNER-VENDOR))
'renderer vendor-renderer
'in-menu? #t)
(gnc:define-report
'version 1
- 'name (N_ "Employee Report (beta)")
- 'report-guid "08ae9c2e884b4f9787144f47eacd7f44-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Employee Report")
+ 'report-guid employee-report-guid
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator (lambda () (options-generator GNC-OWNER-EMPLOYEE))
'renderer employee-renderer
'in-menu? #t)
(gnc:define-report
'version 1
- 'name (N_ "Job Report (beta)")
- 'report-guid "5518ac227e474f47a34439f2d4d049de-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Job Report")
+ 'report-guid "5518ac227e474f47a34439f2d4d049de"
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator (lambda () (options-generator GNC-OWNER-JOB))
'renderer job-renderer
'in-menu? #t)
+
+
+(define (owner-report-create-internal report-guid owner owner-type)
+ (let* ((options (gnc:make-report-options report-guid))
+ (owner-op (gnc:lookup-option options owner-page (owner-string owner-type))))
+
+ (gnc:option-set-value owner-op owner)
+ (gnc:make-report report-guid options)))
+
+(define (owner-report-create owner account)
+ ;; note account isn't actually used
+ (let ((type (gncOwnerGetType (gncOwnerGetEndOwner owner))))
+ (cond
+ ((eqv? type GNC-OWNER-CUSTOMER)
+ ;; Not sure whether to pass type, or to use the guid in the report function
+ (owner-report-create-internal customer-report-guid owner type))
+
+ ((eqv? type GNC-OWNER-VENDOR)
+ (owner-report-create-internal vendor-report-guid owner type))
+
+ ((eqv? type GNC-OWNER-EMPLOYEE)
+ (owner-report-create-internal employee-report-guid owner type))
+
+ (else #f))))
+
+(define (gnc:owner-report-create-internal
+ account split query journal? double? title debit-string credit-string)
+
+ (let* ((temp-owner (gncOwnerNew))
+ (owner (gnc:owner-from-split split temp-owner))
+ (res (if (null? owner)
+ -1
+ (owner-report-create owner))))
+ (gncOwnerFree temp-owner)
+ res))
+
+(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)
diff --git a/gnucash/report/reports/standard/owner-report.scm b/gnucash/report/reports/standard/owner-report.scm
index 8bbf3006f..d4f27e7bd 100644
--- a/gnucash/report/reports/standard/owner-report.scm
+++ b/gnucash/report/reports/standard/owner-report.scm
@@ -41,9 +41,9 @@
(define optname-date-driver (N_ "Due or Post Date"))
;; let's define a name for the report-guid's, much prettier
-(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44")
-(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0")
-(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1")
+(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44-old")
+(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0-old")
+(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1-old")
(define acct-string (N_ "Account"))
(define owner-page gnc:pagename-general)
@@ -831,75 +831,28 @@
(gnc:define-report
'version 1
- 'name (N_ "Customer Report")
+ 'name "Customer Report (legacy)"
'report-guid customer-report-guid
'menu-path (list gnc:menuname-business-reports)
'options-generator customer-options-generator
'renderer reg-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
(gnc:define-report
'version 1
- 'name (N_ "Vendor Report")
+ 'name "Vendor Report (legacy)"
'report-guid vendor-report-guid
'menu-path (list gnc:menuname-business-reports)
'options-generator vendor-options-generator
'renderer reg-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
(gnc:define-report
'version 1
- 'name (N_ "Employee Report")
+ 'name "Employee Report (legacy)"
'report-guid employee-report-guid
'menu-path (list gnc:menuname-business-reports)
'options-generator employee-options-generator
'renderer reg-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
-(define (owner-report-create-internal report-guid owner account owner-type)
- (let* ((options (gnc:make-report-options report-guid))
- (owner-op (gnc:lookup-option options owner-page (owner-string owner-type)))
- (account-op (gnc:lookup-option options owner-page acct-string)))
-
- (gnc:option-set-value owner-op owner)
- (gnc:option-set-value account-op account)
- (gnc:make-report report-guid options)))
-
-(define* (owner-report-create owner account #:key currency)
- (let ((type (gncOwnerGetType (gncOwnerGetEndOwner owner))))
- ; Figure out an account to use if nothing exists here.
- (if (null? account)
- (set! account (find-first-account-for-owner owner #:currency currency)))
- (cond
- ((eqv? type GNC-OWNER-CUSTOMER)
- (owner-report-create-internal customer-report-guid owner account type)) ;; Not sure whether to pass type, or to use the guid in the report function
-
- ((eqv? type GNC-OWNER-VENDOR)
- (owner-report-create-internal vendor-report-guid owner account type))
-
- ((eqv? type GNC-OWNER-EMPLOYEE)
- (owner-report-create-internal employee-report-guid owner account type))
-
- (else #f))))
-
-(define (gnc:owner-report-create-internal
- account split query journal? double? title
- debit-string credit-string)
-
- (let* ((temp-owner (gncOwnerNew))
- (owner (gnc:owner-from-split split temp-owner))
- (res -1)) ;; XXX -- in this case we should create an error report
-
- (if (not (null? owner))
- (set! res (owner-report-create owner account)))
-
- (gncOwnerFree temp-owner)
- res))
-
-(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)
diff --git a/gnucash/report/reports/standard/test/test-new-owner-report.scm b/gnucash/report/reports/standard/test/test-new-owner-report.scm
index 026546773..0fc081e38 100644
--- a/gnucash/report/reports/standard/test/test-new-owner-report.scm
+++ b/gnucash/report/reports/standard/test/test-new-owner-report.scm
@@ -15,7 +15,7 @@
(use-modules (system vm coverage))
(use-modules (system vm vm))
-(define uuid "c146317be32e4948a561ec7fc89d15c1-new")
+(define uuid "c146317be32e4948a561ec7fc89d15c1")
(setlocale LC_ALL "C")
diff --git a/gnucash/report/reports/standard/test/test-owner-report.scm b/gnucash/report/reports/standard/test/test-owner-report.scm
index 11e837440..a5bdc4273 100644
--- a/gnucash/report/reports/standard/test/test-owner-report.scm
+++ b/gnucash/report/reports/standard/test/test-owner-report.scm
@@ -14,11 +14,11 @@
(use-modules (system vm vm))
(define uuid-list
- (list (cons 'employee "08ae9c2e884b4f9787144f47eacd7f44")
- (cons 'vendor "d7d1e53505ee4b1b82efad9eacedaea0")
- (cons 'customer "c146317be32e4948a561ec7fc89d15c1")
- (cons 'customer-new "c146317be32e4948a561ec7fc89d15c1-new")
- (cons 'job "5518ac227e474f47a34439f2d4d049de")))
+ (list (cons 'employee "08ae9c2e884b4f9787144f47eacd7f44-old")
+ (cons 'vendor "d7d1e53505ee4b1b82efad9eacedaea0-old")
+ (cons 'customer "c146317be32e4948a561ec7fc89d15c1-old")
+ (cons 'customer-new "c146317be32e4948a561ec7fc89d15c1")
+ (cons 'job "5518ac227e474f47a34439f2d4d049de-old")))
(setlocale LC_ALL "C")
commit 343b018dcac3adfc829a5790d757d38ae2cb9eb1
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Apr 25 13:56:08 2020 +0800
{new-}aging: swap guids, hook to new-aging
diff --git a/gnucash/report/reports/standard/new-aging.scm b/gnucash/report/reports/standard/new-aging.scm
index fe44c8330..e9afa2f45 100644
--- a/gnucash/report/reports/standard/new-aging.scm
+++ b/gnucash/report/reports/standard/new-aging.scm
@@ -449,20 +449,53 @@ exist but have no suitable transactions."))
(define (receivables-renderer report-obj)
(aging-renderer report-obj #t))
+(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50")
+(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98")
+
(gnc:define-report
'version 1
- 'name (N_ "Payable Aging (beta)")
- 'report-guid "e57770f2dbca46619d6dac4ac5469b50-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Payable Aging")
+ 'report-guid payables-aging-guid
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator payable-options-generator
'renderer payables-renderer
'in-menu? #t)
(gnc:define-report
'version 1
- 'name (N_ "Receivable Aging (beta)")
- 'report-guid "9cf76bed17f14401b8e3e22d0079cb98-new"
- 'menu-path (list gnc:menuname-experimental)
+ 'name (N_ "Receivable Aging")
+ 'report-guid "9cf76bed17f14401b8e3e22d0079cb98"
+ 'menu-path (list gnc:menuname-business-reports)
'options-generator receivable-options-generator
'renderer receivables-renderer
'in-menu? #t)
+
+(define (receivables-report-create-internal acct title show-zeros?)
+ (let* ((options (gnc:make-report-options receivables-aging-guid))
+ (zero-op (gnc:lookup-option options gnc:pagename-general optname-show-zeros))
+ (title-op (gnc:lookup-option options gnc:pagename-general gnc:optname-reportname)))
+ (when title (gnc:option-set-value title-op title))
+ (gnc:option-set-value zero-op show-zeros?)
+ (gnc:make-report receivables-aging-guid options)))
+
+(define (payables-report-create-internal acct title show-zeros?)
+ (let* ((options (gnc:make-report-options payables-aging-guid))
+ (zero-op (gnc:lookup-option options gnc:pagename-general optname-show-zeros))
+ (title-op (gnc:lookup-option options gnc:pagename-general gnc:optname-reportname)))
+ (when title (gnc:option-set-value title-op title))
+ (gnc:option-set-value zero-op show-zeros?)
+ (gnc:make-report payables-aging-guid options)))
+
+(define (gnc:receivables-create-internal
+ account split query journal? double? title debit-string credit-string)
+ (receivables-report-create-internal #f #f))
+
+(define (gnc:payables-create-internal
+ account split query journal? double? title debit-string credit-string)
+ (payables-report-create-internal #f #f))
+
+(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #f gnc:receivables-create-internal)
+(gnc:register-report-hook ACCT-TYPE-PAYABLE #f gnc:payables-create-internal)
+
+(export payables-report-create-internal)
+(export receivables-report-create-internal)
diff --git a/gnucash/report/reports/standard/payables.scm b/gnucash/report/reports/standard/payables.scm
index 05b2ef8b9..31aeb7d02 100644
--- a/gnucash/report/reports/standard/payables.scm
+++ b/gnucash/report/reports/standard/payables.scm
@@ -67,36 +67,15 @@
(gnc:debug "payables-account" payables-account)
(aging-renderer report-obj this-acc payables-account #f)))
-(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50")
+(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50-old")
;; Here we define the actual report with gnc:define-report
(gnc:define-report
'version 1
- 'name (N_ "Payable Aging")
+ 'name "Payable Aging (legacy)"
'report-guid payables-aging-guid
'menu-path (list gnc:menuname-business-reports)
'options-generator options-generator
'renderer payables-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
-(define (payables-report-create-internal acct title show-zeros?)
- (let* ((options (gnc:make-report-options payables-aging-guid))
- (acct-op (gnc:lookup-option options acc-page this-acc))
- (zero-op (gnc:lookup-option options acc-page optname-show-zeros))
- (title-op (gnc:lookup-option options acc-page gnc:optname-reportname)))
-
- (gnc:option-set-value acct-op acct)
- (if (not (string-null? title))
- (gnc:option-set-value title-op title))
- (gnc:option-set-value zero-op show-zeros?)
- (gnc:make-report payables-aging-guid options)))
-
-(define (gnc:payables-report-create-internal
- account split query journal? double? title
- debit-string credit-string)
- (payables-report-create-internal account "" #f))
-
-(gnc:register-report-hook ACCT-TYPE-PAYABLE #f
- gnc:payables-report-create-internal)
-
-(export payables-report-create-internal)
diff --git a/gnucash/report/reports/standard/receivables.scm b/gnucash/report/reports/standard/receivables.scm
index 39c1d47fe..519d5514f 100644
--- a/gnucash/report/reports/standard/receivables.scm
+++ b/gnucash/report/reports/standard/receivables.scm
@@ -80,36 +80,15 @@
(aging-renderer report-obj this-acc receivables-account #t)))
-(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98")
+(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98-old")
;; Here we define the actual report with gnc:define-report
(gnc:define-report
'version 1
- 'name (N_ "Receivable Aging")
+ 'name "Receivable Aging (legacy)"
'report-guid receivables-aging-guid
'menu-path (list gnc:menuname-business-reports)
'options-generator options-generator
'renderer receivables-renderer
- 'in-menu? #t)
+ 'in-menu? (gnc-prefs-is-extra-enabled))
-(define (receivables-report-create-internal acct title show-zeros?)
- (let* ((options (gnc:make-report-options receivables-aging-guid))
- (acct-op (gnc:lookup-option options acc-page this-acc))
- (zero-op (gnc:lookup-option options acc-page optname-show-zeros))
- (title-op (gnc:lookup-option options acc-page gnc:optname-reportname)))
-
- (gnc:option-set-value acct-op acct)
- (if (not (string-null? title))
- (gnc:option-set-value title-op title))
- (gnc:option-set-value zero-op show-zeros?)
- (gnc:make-report receivables-aging-guid options)))
-
-(define (gnc:receivables-report-create-internal
- account split query journal? double? title
- debit-string credit-string)
- (receivables-report-create-internal account "" #f))
-
-(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #f
- gnc:receivables-report-create-internal)
-
-(export receivables-report-create-internal)
Summary of changes:
gnucash/report/reports/aging.scm | 3 +
gnucash/report/reports/reports.scm | 15 ++--
gnucash/report/reports/standard/balance-sheet.scm | 10 ++-
gnucash/report/reports/standard/balsheet-pnl.scm | 94 +++++++++++-----------
.../report/reports/standard/customer-summary.scm | 2 +-
.../report/reports/standard/income-statement.scm | 19 +++--
gnucash/report/reports/standard/job-report.scm | 6 +-
gnucash/report/reports/standard/new-aging.scm | 45 +++++++++--
.../report/reports/standard/new-owner-report.scm | 67 ++++++++++++---
gnucash/report/reports/standard/owner-report.scm | 68 +++-------------
gnucash/report/reports/standard/payables.scm | 27 +------
gnucash/report/reports/standard/receivables.scm | 27 +------
.../reports/standard/test/test-balsheet-pnl.scm | 10 +--
.../standard/test/test-new-owner-report.scm | 2 +-
.../reports/standard/test/test-owner-report.scm | 10 +--
15 files changed, 202 insertions(+), 203 deletions(-)
More information about the gnucash-changes
mailing list