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