From 114758190ed299d21d5ccad884cb2ca334b33dc7 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 29 Mar 2021 15:32:22 +0800 Subject: [PATCH] Bugfix: export-code for category-barchart reports would fail. This stems from trying to handle file-name when calling export code. Export code no longer require file-name, The export-code returns a string in the html-document object instead. Remove all file-name handling in reports. No backward compatibility issues because most users would not copy a GnuCash >=4.6 report code onto a <4.5 installation. --- .../report/reports/locale-specific/de_DE/taxtxf.scm | 11 ++++------- gnucash/report/reports/locale-specific/us/taxtxf.scm | 11 ++++------- gnucash/report/reports/standard/category-barchart.scm | 2 +- .../report/reports/standard/income-gst-statement.scm | 6 +----- gnucash/report/reports/standard/net-charts.scm | 8 ++++---- gnucash/report/test/test-report.scm | 4 ++-- 6 files changed, 16 insertions(+), 26 deletions(-) diff --git a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm index 7048ee8548..52ede83fe9 100644 --- a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm +++ b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm @@ -456,8 +456,7 @@ (define (generate-tax-or-txf report-name report-description report-obj - tax-mode? - file-name) + tax-mode?) (define (get-option pagename optname) (gnc:option-value @@ -861,14 +860,12 @@ Gehen Sie zu Bearbeiten -> Optionen Steuerbericht, um Konten entsprechend einzur (G_ "This report shows your Taxable Income and \ Deductible Expenses.") report-obj - #t - #f)) + #t)) 'export-types (list (cons (G_ "XML") 'txf)) - 'export-thunk (lambda (report-obj choice file-name) + 'export-thunk (lambda (report-obj choice) (generate-tax-or-txf (G_ "Taxable Income / Deductible Expenses") (G_ "This page shows your Taxable Income and \ Deductible Expenses.") report-obj - #f - file-name))) + #f))) diff --git a/gnucash/report/reports/locale-specific/us/taxtxf.scm b/gnucash/report/reports/locale-specific/us/taxtxf.scm index fd33f7d155..bc41079720 100644 --- a/gnucash/report/reports/locale-specific/us/taxtxf.scm +++ b/gnucash/report/reports/locale-specific/us/taxtxf.scm @@ -1663,8 +1663,7 @@ (define (generate-tax-schedule report-name report-description report-obj - tax-mode? - file-name) + tax-mode?) (define (get-option pagename optname) (gnc:option-value @@ -3342,14 +3341,12 @@ (G_ "This report shows transaction detail for your accounts \ related to Income Taxes.") report-obj - #t - #f)) + #t)) 'export-types (list (cons "TXF" 'txf)) - 'export-thunk (lambda (report-obj choice file-name) + 'export-thunk (lambda* (report-obj choice) (generate-tax-schedule (G_ "Taxable Income/Deductible Expenses") (G_ "This page shows transaction detail for relevant \ Income Tax accounts.") report-obj - #f - file-name))) + #f))) diff --git a/gnucash/report/reports/standard/category-barchart.scm b/gnucash/report/reports/standard/category-barchart.scm index db79626f8b..5b5f11e72f 100644 --- a/gnucash/report/reports/standard/category-barchart.scm +++ b/gnucash/report/reports/standard/category-barchart.scm @@ -692,7 +692,7 @@ developing over time")) 'menu-tip menutip 'options-generator (lambda () (options-generator account-types inc-exp?)) 'export-types '(("CSV" . csv)) - 'export-thunk (lambda (report-obj export-type filename) + 'export-thunk (lambda (report-obj export-type) (category-barchart-renderer report-obj reportname uuid account-types inc-exp? reverse-bal? export-type)) diff --git a/gnucash/report/reports/standard/income-gst-statement.scm b/gnucash/report/reports/standard/income-gst-statement.scm index 712e7338a1..fe26844ba4 100644 --- a/gnucash/report/reports/standard/income-gst-statement.scm +++ b/gnucash/report/reports/standard/income-gst-statement.scm @@ -70,7 +70,7 @@ accounts may be tagged with *EUGOODS* in the account description.")) (gnc:html-markup-p (G_ "This message will be removed when tax accounts are specified.")))) -(define* (gst-statement-renderer rpt #:optional export-type file-name) +(define* (gst-statement-renderer rpt #:optional export-type) (define (opt-val section name) (gnc:option-value (gnc:lookup-option (gnc:report-options rpt) section name))) @@ -83,10 +83,6 @@ accounts may be tagged with *EUGOODS* in the account description.")) #:custom-source-accounts sales-purch-accounts #:custom-split-filter gst-custom-split-filter #:export-type export-type)) - (when file-name - (issue-deprecation-warning "gst-statement-renderer filename is \ -obsolete, and not supported for exports. please set html-document \ -export-string instead. this warning will be removed in GnuCash 5.0")) (when (null? (opt-val "Accounts" "Tax Accounts")) (gnc:html-document-add-object! document TAX-SETUP-DESC)) document) diff --git a/gnucash/report/reports/standard/net-charts.scm b/gnucash/report/reports/standard/net-charts.scm index 1d765bb541..62ad4c6ddc 100644 --- a/gnucash/report/reports/standard/net-charts.scm +++ b/gnucash/report/reports/standard/net-charts.scm @@ -487,7 +487,7 @@ 'options-generator (lambda () (options-generator #f #f)) 'renderer (lambda (report-obj) (net-renderer report-obj #f #f #f)) 'export-types '(("CSV" . csv)) - 'export-thunk (lambda (report-obj export-type filename) + 'export-thunk (lambda (report-obj export-type) (net-renderer report-obj #f #f export-type))) (gnc:define-report @@ -499,7 +499,7 @@ 'options-generator (lambda () (options-generator #t #f)) 'renderer (lambda (report-obj) (net-renderer report-obj #t #f #f)) 'export-types '(("CSV" . csv)) - 'export-thunk (lambda (report-obj export-type filename) + 'export-thunk (lambda (report-obj export-type) (net-renderer report-obj #t #f export-type))) (gnc:define-report @@ -510,7 +510,7 @@ 'options-generator (lambda () (options-generator #f #t)) 'renderer (lambda (report-obj) (net-renderer report-obj #f #t #f)) 'export-types '(("CSV" . csv)) - 'export-thunk (lambda (report-obj export-type filename) + 'export-thunk (lambda (report-obj export-type) (net-renderer report-obj #f #t export-type))) ;; Not sure if a line chart makes sense for Income & Expense @@ -524,5 +524,5 @@ 'options-generator (lambda () (options-generator #t #t)) 'renderer (lambda (report-obj) (net-renderer report-obj #t #t #f)) 'export-types '(("CSV" . csv)) - 'export-thunk (lambda (report-obj export-type filename) + 'export-thunk (lambda (report-obj export-type) (net-renderer report-obj #t #t export-type))) diff --git a/gnucash/report/test/test-report.scm b/gnucash/report/test/test-report.scm index 80a24ef493..26074c3bf2 100644 --- a/gnucash/report/test/test-report.scm +++ b/gnucash/report/test/test-report.scm @@ -160,7 +160,7 @@ 'report-guid test-uuid 'options-generator gnc:new-options 'export-types (list (cons "text" 'txt)) - 'export-thunk (lambda (report-obj export-type file-name) + 'export-thunk (lambda (report-obj export-type) "exported-string") 'renderer (lambda (obj) (let ((options (gnc:report-options obj))) @@ -177,7 +177,7 @@ (gnc:report-export-types report)) (test-equal "gnc:report-export-thunk" "exported-string" - ((gnc:report-export-thunk report) report 'csv "/tmp/file.txt")) + ((gnc:report-export-thunk report) report 'csv)) (test-equal "gnc:report-menu-name" "basic report" (gnc:report-menu-name report))