Fix most members base filters.

This commit is contained in:
Dominik Pantůček 2023-04-04 22:57:14 +02:00
parent f2874ebe5d
commit 08a2eb2251
3 changed files with 18 additions and 16 deletions

View file

@ -207,10 +207,12 @@
;; Returns new members base with member records matching the ;; Returns new members base with member records matching the
;; predicate processed by proc. ;; predicate processed by proc.
(define (members-base-update mb pred? proc) (define (members-base-update mb pred? proc)
(map (lambda (mr) (dict-set mb
(if (pred? mr) 'members
(proc mr) (map (lambda (mr)
mr)) (if (pred? mr)
mb)) (proc mr)
mr))
(members-base-members mb))))
) )

View file

@ -128,11 +128,11 @@
(let* ((acc-list (load-accounts-list apikeys-file)) (let* ((acc-list (load-accounts-list apikeys-file))
(accounts (if acc-list (load-accounts acc-list dir) #f))) (accounts (if acc-list (load-accounts acc-list dir) #f)))
(if accounts (if accounts
(map member-sort-payments (let ((mbp (foldl members-payments-process-bank
(foldl members-payments-process-bank mb
mb (filter identity
(filter identity accounts))))
accounts))) (members-base-update mb identity member-sort-payments))
(let () (let ()
(print "Warning: no accounts loaded!") (print "Warning: no accounts loaded!")
mb))) mb)))

View file

@ -222,10 +222,10 @@
(member-records->string (sort destroyed-mrs member<?) "~N~E")) (member-records->string (sort destroyed-mrs member<?) "~N~E"))
(print a:highlight " Students (" (length student-mrs) "): " a:default (print a:highlight " Students (" (length student-mrs) "): " a:default
(member-records->string (sort student-mrs member<?))) (member-records->string (sort student-mrs member<?)))
(let ((suspended2 (filter-members-by-predicate (let ((suspended2 (filter
suspended-mrs
(lambda (mr) (lambda (mr)
(>= (member-suspended-months mr) 24))))) (>= (member-suspended-months mr) 24))
suspended-mrs)))
(when (not (null? suspended2)) (when (not (null? suspended2))
(print (ansi #:magenta) " Suspended for at least 24 months (" (print (ansi #:magenta) " Suspended for at least 24 months ("
(length suspended2) "): " a:default (length suspended2) "): " a:default
@ -266,11 +266,11 @@
(members-table-row a:highlight "Students:" student-mrs "~N~E") (members-table-row a:highlight "Students:" student-mrs "~N~E")
(members-table-row a:warning "Suspended:" suspended-mrs "~N~E") (members-table-row a:warning "Suspended:" suspended-mrs "~N~E")
(members-table-row a:warning "Destroyed:" destroyed-mrs "~N~E") (members-table-row a:warning "Destroyed:" destroyed-mrs "~N~E")
(let ((suspended2 (filter-members-by-predicate (let ((suspended2 (filter
suspended-mrs
(lambda (mr) (lambda (mr)
(>= (member-suspended-months mr) (>= (member-suspended-months mr)
(*member-suspend-max-months*)))))) (*member-suspend-max-months*)))
suspended-mrs)))
(if (null? suspended2) (if (null? suspended2)
#f #f
(members-table-row (ansi #:magenta) "Suspended (long):" suspended2 "~N (~S)"))) (members-table-row (ansi #:magenta) "Suspended (long):" suspended2 "~N (~S)")))