From fda5f25019c85edcd8fde107daeabb12bae4a8c3 Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Thu, 1 May 2008 22:21:53 +0000 Subject: [PATCH] Honor the "used columns" in the balance row (#530924) BP git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17148 57a11ea4-9604-0410-9ed3-97b8803252fd --- .../business-reports/owner-report.scm | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/src/business/business-reports/owner-report.scm b/src/business/business-reports/owner-report.scm index 319781487d..56c276003f 100644 --- a/src/business/business-reports/owner-report.scm +++ b/src/business/business-reports/owner-report.scm @@ -189,22 +189,45 @@ table)) +;; +;; Make a row list based on the visible columns +;; +(define (make-row column-vector date due-date num type-str memo monetary) + (let ((row-contents '())) + (if (date-col column-vector) + (addto! row-contents (gnc-print-date date))) + (if (date-due-col column-vector) + (addto! row-contents + (if (and due-date + (not (equal? due-date (cons 0 0)))) + (gnc-print-date due-date) + ""))) + (if (num-col column-vector) + (addto! row-contents num)) + (if (type-col column-vector) + (addto! row-contents type-str)) + (if (memo-col column-vector) + (addto! row-contents memo)) + (if (value-col column-vector) + (addto! row-contents + (gnc:make-html-table-cell/markup "number-cell" monetary))) + row-contents)) + ;; ;; Adds the 'Balance' row to the table if it has not been printed and ;; total is not zero ;; ;; Returns printed? ;; -(define (add-balance-row table txn odd-row? printed? start-date total) +(define (add-balance-row table column-vector txn odd-row? printed? start-date total) (if (not printed?) (begin (set! printed? #t) (if (not (gnc-numeric-zero-p total)) - (let ((row (list (gnc-print-date start-date) "" "" "Balance" "" - (gnc:make-html-table-cell/markup "number-cell" - (gnc:make-gnc-monetary (xaccTransGetCurrency txn) total)))) + (let ((row (make-row column-vector start-date #f "" (_ "Balance") "" + (gnc:make-gnc-monetary (xaccTransGetCurrency txn) total))) (row-style (if odd-row? "normal-row" "alternate-row"))) - (gnc:html-table-append-row/markup! table row-style row) + (gnc:html-table-append-row/markup! table row-style (reverse row)) (set! odd-row? (not odd-row?)) (set! row-style (if odd-row? "normal-row" "alternate-row"))) ))) @@ -238,29 +261,6 @@ (else (_ "Unknown")))) ) - (define (make-row date due-date num type-str memo value) - (let ((row-contents '())) - (if (date-col column-vector) - (addto! row-contents (gnc-print-date date))) - (if (date-due-col column-vector) - (addto! row-contents - (if (and due-date - (not (equal? due-date (cons 0 0)))) - (gnc-print-date due-date) - ""))) - (if (num-col column-vector) - (addto! row-contents num)) - (if (type-col column-vector) - (addto! row-contents type-str)) - (if (memo-col column-vector) - (addto! row-contents memo)) - (if (value-col column-vector) - (addto! row-contents - (gnc:make-html-table-cell/markup "number-cell" - (gnc:make-gnc-monetary - currency value)))) - row-contents)) - (if reverse? (set! value (gnc-numeric-neg value))) @@ -268,14 +268,15 @@ (begin ; Adds 'balance' row if needed - (set! printed? (add-balance-row table txn odd-row? printed? start-date total)) + (set! printed? (add-balance-row table column-vector txn odd-row? printed? start-date total)) ; Now print out the invoice row (if (not (null? invoice)) (set! due-date (gncInvoiceGetDateDue invoice))) - (let ((row (make-row date due-date (xaccTransGetNum txn) - type-str (xaccSplitGetMemo split) value)) + (let ((row (make-row column-vector date due-date (xaccTransGetNum txn) + type-str (xaccSplitGetMemo split) + (gnc:make-gnc-monetary currency value))) (row-style (if odd-row? "normal-row" "alternate-row"))) (gnc:html-table-append-row/markup! table row-style @@ -325,7 +326,7 @@ ;Balance row may not have been added if all transactions were before ;start-date (and no other rows would be added either) so add it now (if (not (null? txns)) - (add-balance-row table (car txns) odd-row? printed? start-date total) + (add-balance-row table used-columns (car txns) odd-row? printed? start-date total) )) (gnc:html-table-append-row/markup!