diff --git a/src/Makefile b/src/Makefile index 60d71cd..ae2f2ce 100644 --- a/src/Makefile +++ b/src/Makefile @@ -335,7 +335,8 @@ util-format.o: util-format.import.scm util-format.import.scm: $(UTIL-FORMAT-SOURCES) BRMEMBER-FORMAT-SOURCES=brmember-format.scm util-dict-list.import.scm \ - brmember.import.scm bank-account.import.scm + brmember.import.scm bank-account.import.scm \ + members-fees.import.scm brmember-format.o: brmember-format.import.scm brmember-format.import.scm: $(BRMEMBER-FORMAT-SOURCES) diff --git a/src/brmember-format.scm b/src/brmember-format.scm index 4a99387..1390332 100644 --- a/src/brmember-format.scm +++ b/src/brmember-format.scm @@ -37,7 +37,8 @@ (chicken format) util-dict-list brmember - bank-account) + bank-account + members-fees) ;; Member formatting function for general use. (define (brmember-format fmt mr) @@ -49,19 +50,27 @@ (if (eq? ch #\~) (loop (cddr fmtl) (cons (case (cadr fmtl) - ((#\N) (brmember-nick mr)) - ((#\I) (number->string (brmember-id mr))) - ((#\S) (number->string (brmember-suspended-months mr))) - ((#\E) + ((#\N) ; Nickname + (brmember-nick mr)) + ((#\I) ; Member id + (number->string (brmember-id mr))) + ((#\S) ; Number of months this member is + ; currently suspended for (0 for + ; non-suspended) + (number->string (brmember-suspended-months mr))) + ((#\E) ; Number of errors/warnings (let ((n (length (ldict-ref mr 'highlights '())))) (if (eq? n 0) "" (sprintf "[~A]" n)))) - ((#\P) + ((#\P) ; Date of last payment (let ((payments (brmember-payments mr))) (if (null? payments) "-" - (bank-transaction-date (car payments))))) + (sprintf "~A" (bank-transaction-date (car payments)))))) + ((#\F) ; Fees to be paid (total over all + ; membership periods) + (sprintf "~A" (member-fees-total mr))) ((#\~) "~")) resl)) (loop (cdr fmtl)