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