Display member status in fees table.

This commit is contained in:
Dominik Pantůček 2023-04-02 19:50:00 +02:00
parent f7babb257e
commit ea9c76d2fc

View file

@ -338,6 +338,7 @@
(table->string
(cons
(list (ansi-string #:bgblue #:brightyellow #:bold "Member")
(ansi-string #:bgblue #:brightyellow #:bold "Status")
(ansi-string #:bgblue #:brightyellow #:bold "Fees")
(ansi-string #:bgblue #:brightyellow #:bold "Credit")
(ansi-string #:bgblue #:brightyellow #:bold "Payments")
@ -351,6 +352,13 @@
(payment (dict-ref balance 'payment))
(total (- (+ credit payment) fees)))
(list (member-nick mr)
(if (member-suspended? mr)
"suspended"
(if (member-student? mr)
"student"
(if (member-destroyed? mr)
"destroyed"
"active")))
(sprintf "\t~A" fees)
(sprintf "\t~A" credit)
(sprintf "\t~A" payment)
@ -363,13 +371,14 @@
(exact->inexact total)
a:default)
)))
(sort (filter-members-by-predicate MB member-active?) member<?))
(sort MB member<?))
(let* ((balances (map member-balance MB))
(fees (foldl + 0 (map (lambda (b) (dict-ref b 'fees)) balances)))
(credit (foldl + 0 (map (lambda (b) (dict-ref b 'credit)) balances)))
(payment (foldl + 0 (map (lambda (b) (dict-ref b 'payment)) balances)))
(total (- (+ credit payment) fees)))
(list (list (ansi-string #:bold "Total")
""
(ansi-string "\t" #:bold (sprintf "~A" fees))
(ansi-string "\t" #:bold (sprintf "~A" credit))
(ansi-string "\t" #:bold (sprintf "~A" payment))
@ -380,6 +389,7 @@
a:success)
total))
)))))
#:col-border #t #:row0-border #t #:ansi #t)))
#:col-border #t #:row0-border #t #:ansi #t))
)
)