From 45a7af9c27d31f182e56158b716c551cfbe17ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Wed, 6 Dec 2023 21:33:47 +0100 Subject: [PATCH] Add -only-active to -fees. --- src/hackerbase.scm | 5 ++++- src/members-print.scm | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/hackerbase.scm b/src/hackerbase.scm index 3844dd9..9494c10 100644 --- a/src/hackerbase.scm +++ b/src/hackerbase.scm @@ -62,6 +62,7 @@ (define -web-dir- (make-parameter #f)) (define -normal-month- (make-parameter #t)) (define -show-destroyed- (make-parameter #f)) +(define -show-only-active- (make-parameter #f)) (define -notify-months- (make-parameter 1)) (define -send-emails- (make-parameter #f)) @@ -137,6 +138,8 @@ "Misc options:" (-destroyed () "Show destroyed members in -fees" (-show-destroyed- #t)) + (-only-active () "Show only active members in -fees" + (-show-only-active- #t)) "" "Base Actions:" (-info () "Print information" @@ -372,7 +375,7 @@ (newline) (if 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)) ((genweb) diff --git a/src/members-print.scm b/src/members-print.scm index ee02be2..86e14c1 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -471,10 +471,14 @@ ")")))) ;; Prints summary table of all fees and credits for all members - (define (print-members-fees-table MB . ds) - (let ((destroyed? (if (null? ds) + (define (print-members-fees-table MB . dsa) + (let ((destroyed? (if (null? dsa) #f - (car ds)))) + (car dsa))) + (only-active? (if (or (null? dsa) + (null? (cdr dsa))) + #f + (cadr dsa)))) (let* ((members ;; Pass 1 (map (lambda (mr) @@ -500,8 +504,11 @@ (sort (if destroyed? (find-members-by-predicate MB (lambda x #t)) - (find-members-by-predicate MB (lambda (mr) - (not (brmember-destroyed? mr))))) + (if only-active? + (find-members-by-predicate MB (lambda (mr) + (brmember-active? mr))) + (find-members-by-predicate MB (lambda (mr) + (not (brmember-destroyed? mr)))))) brmember