Support for member fees in format strings.
This commit is contained in:
parent
f6fb372938
commit
9de64f7004
2 changed files with 18 additions and 8 deletions
|
@ -335,7 +335,8 @@ util-format.o: util-format.import.scm
|
||||||
util-format.import.scm: $(UTIL-FORMAT-SOURCES)
|
util-format.import.scm: $(UTIL-FORMAT-SOURCES)
|
||||||
|
|
||||||
BRMEMBER-FORMAT-SOURCES=brmember-format.scm util-dict-list.import.scm \
|
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.o: brmember-format.import.scm
|
||||||
brmember-format.import.scm: $(BRMEMBER-FORMAT-SOURCES)
|
brmember-format.import.scm: $(BRMEMBER-FORMAT-SOURCES)
|
||||||
|
|
|
@ -37,7 +37,8 @@
|
||||||
(chicken format)
|
(chicken format)
|
||||||
util-dict-list
|
util-dict-list
|
||||||
brmember
|
brmember
|
||||||
bank-account)
|
bank-account
|
||||||
|
members-fees)
|
||||||
|
|
||||||
;; Member formatting function for general use.
|
;; Member formatting function for general use.
|
||||||
(define (brmember-format fmt mr)
|
(define (brmember-format fmt mr)
|
||||||
|
@ -49,19 +50,27 @@
|
||||||
(if (eq? ch #\~)
|
(if (eq? ch #\~)
|
||||||
(loop (cddr fmtl)
|
(loop (cddr fmtl)
|
||||||
(cons (case (cadr fmtl)
|
(cons (case (cadr fmtl)
|
||||||
((#\N) (brmember-nick mr))
|
((#\N) ; Nickname
|
||||||
((#\I) (number->string (brmember-id mr)))
|
(brmember-nick mr))
|
||||||
((#\S) (number->string (brmember-suspended-months mr)))
|
((#\I) ; Member id
|
||||||
((#\E)
|
(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 '()))))
|
(let ((n (length (ldict-ref mr 'highlights '()))))
|
||||||
(if (eq? n 0)
|
(if (eq? n 0)
|
||||||
""
|
""
|
||||||
(sprintf "[~A]" n))))
|
(sprintf "[~A]" n))))
|
||||||
((#\P)
|
((#\P) ; Date of last payment
|
||||||
(let ((payments (brmember-payments mr)))
|
(let ((payments (brmember-payments mr)))
|
||||||
(if (null? payments)
|
(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))
|
resl))
|
||||||
(loop (cdr fmtl)
|
(loop (cdr fmtl)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue