diff --git a/src/members-payments.scm b/src/members-payments.scm index 64a8644..7c55b8f 100644 --- a/src/members-payments.scm +++ b/src/members-payments.scm @@ -271,11 +271,25 @@ "Payment"))) bts)) - ;; Returns a single credit/debit list of payments and fees calendar + ;; Converts credit records to transactions usable in balance history + (define (credits->balance-history crs) + (map (lambda (cr) + (list (cal-ensure-day (cadr cr)) + (car cr) + "CZK" + (caddr cr) + (car cr) + "Credit")) + crs)) + + ;; Returns a single credit/debit list of payments and fees + ;; calendar. The result is a list of lists: + ;; (list balance day amount currency message/comment czk-amount type-string) (define (brmember-balance-history mr) (let* ((mcal (calendar->balance-history (member-calendar mr))) (pmts (transactions->balance-history (brmember-payments mr))) - (all-unsorted (append mcal pmts)) + (crs (credits->balance-history (brmember-credit mr))) + (all-unsorted (append mcal pmts crs)) (all (sort all-unsorted (lambda (a b) (cal-day