diff --git a/Makefile b/Makefile index b0945b7..0852f30 100644 --- a/Makefile +++ b/Makefile @@ -209,7 +209,7 @@ MEMBERS-PRINT-SOURCES=members-print.scm dictionary.import.scm \ member-record.import.scm month.import.scm utils.import.scm \ table.import.scm listing.import.scm ansi.import.scm \ period.import.scm primes.import.scm members-base.import.scm \ - configuration.import.scm + configuration.import.scm bank-account.import.scm members-print.so: members-print.o members-print.o: members-print.import.scm diff --git a/bank-account.scm b/bank-account.scm index d14761e..00e2875 100644 --- a/bank-account.scm +++ b/bank-account.scm @@ -38,6 +38,8 @@ bank-transaction-varsym bank-transaction-amount bank-transaction-currency + bank-transaction-date + bank-transaction-id ) (import scheme @@ -73,5 +75,8 @@ (define bank-transaction-varsym car) (define bank-transaction-amount cadr) (define bank-transaction-currency caddr) + (define bank-transaction-date cadddr) + (define (bank-transaction-id tr) + (list-ref tr 4)) ) diff --git a/bbstool.scm b/bbstool.scm index 339ea02..7ed2c53 100644 --- a/bbstool.scm +++ b/bbstool.scm @@ -145,7 +145,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. (print-member-table mr) (print-member-calendar-table mr) (print "Total fees: " (member-fees-total mr)) - (print mr) + (print-member-payments mr) ) (print-members-base-table MB)) (newline)) diff --git a/members-print.scm b/members-print.scm index 42be1c0..a8e3e80 100644 --- a/members-print.scm +++ b/members-print.scm @@ -32,6 +32,7 @@ print-member-info print-member-table print-member-source + print-member-payments print-members-base-info print-members-base-table print-members-base-stats @@ -53,7 +54,8 @@ period primes members-base - configuration) + configuration + bank-account) ;; Prints human-readable information (define (print-member-info mr) @@ -146,6 +148,22 @@ #:context -1 ))) + ;; Prints nicely printed payments + (define (print-member-payments mr) + (print + (table->string (cons + (list "Var" "Amount" "Cur" "Date" "TrId") + (map (lambda (tr) + (list (sprintf "\t~A" (bank-transaction-varsym tr)) + (sprintf "\t~A" (bank-transaction-amount tr)) + (bank-transaction-currency tr) + (bank-transaction-date tr) + (bank-transaction-id tr))) + (member-payments mr))) + #:row0-border #t + #:col-border #t + ))) + ;; Converts member records to string, optional arguments are format ;; and separator. Format defaults to "~N" and separator to ", ". (define (member-records->string mrs . args)