Add -only-active to -fees.

This commit is contained in:
Dominik Pantůček 2023-12-06 21:33:47 +01:00
parent 2dc8d3c119
commit 45a7af9c27
2 changed files with 16 additions and 6 deletions

View file

@ -62,6 +62,7 @@
(define -web-dir- (make-parameter #f)) (define -web-dir- (make-parameter #f))
(define -normal-month- (make-parameter #t)) (define -normal-month- (make-parameter #t))
(define -show-destroyed- (make-parameter #f)) (define -show-destroyed- (make-parameter #f))
(define -show-only-active- (make-parameter #f))
(define -notify-months- (make-parameter 1)) (define -notify-months- (make-parameter 1))
(define -send-emails- (make-parameter #f)) (define -send-emails- (make-parameter #f))
@ -137,6 +138,8 @@
"Misc options:" "Misc options:"
(-destroyed () "Show destroyed members in -fees" (-destroyed () "Show destroyed members in -fees"
(-show-destroyed- #t)) (-show-destroyed- #t))
(-only-active () "Show only active members in -fees"
(-show-only-active- #t))
"" ""
"Base Actions:" "Base Actions:"
(-info () "Print information" (-info () "Print information"
@ -372,7 +375,7 @@
(newline) (newline)
(if mr (if mr
(print-member-balances-table mr) (print-member-balances-table mr)
(print-members-fees-table MB (-show-destroyed-)))) (print-members-fees-table MB (-show-destroyed-) (-show-only-active-)))
((repl) ((repl)
(repl)) (repl))
((genweb) ((genweb)

View file

@ -471,10 +471,14 @@
")")))) ")"))))
;; Prints summary table of all fees and credits for all members ;; Prints summary table of all fees and credits for all members
(define (print-members-fees-table MB . ds) (define (print-members-fees-table MB . dsa)
(let ((destroyed? (if (null? ds) (let ((destroyed? (if (null? dsa)
#f #f
(car ds)))) (car dsa)))
(only-active? (if (or (null? dsa)
(null? (cdr dsa)))
#f
(cadr dsa))))
(let* ((members ;; Pass 1 (let* ((members ;; Pass 1
(map (map
(lambda (mr) (lambda (mr)
@ -500,8 +504,11 @@
(sort (sort
(if destroyed? (if destroyed?
(find-members-by-predicate MB (lambda x #t)) (find-members-by-predicate MB (lambda x #t))
(if only-active?
(find-members-by-predicate MB (lambda (mr) (find-members-by-predicate MB (lambda (mr)
(not (brmember-destroyed? mr))))) (brmember-active? mr)))
(find-members-by-predicate MB (lambda (mr)
(not (brmember-destroyed? mr))))))
brmember<?))) brmember<?)))
(balances (map (lambda (m) (balances (map (lambda (m)
(list-ref m 6)) (list-ref m 6))