Implement kwarg active emails query.

This commit is contained in:
Dominik Pantůček 2023-05-13 10:36:46 +02:00
parent 8fcff8e5dc
commit b1e0c04a8a
2 changed files with 12 additions and 5 deletions

View file

@ -124,7 +124,7 @@ MBASE-SOURCES=mbase.scm testing.import.scm util-dict-list.import.scm \
cal-period.import.scm cal-month.import.scm \
configuration.import.scm progress.import.scm \
table.import.scm mbase-dir.import.scm util-list.import.scm \
util-tag.import.scm
util-tag.import.scm util-kwargs.import.scm
mbase.o: mbase.import.scm
mbase.import.scm: $(MBASE-SOURCES)

View file

@ -78,7 +78,8 @@
configuration
progress
mbase-dir
util-tag)
util-tag
util-kwargs)
;; Constant unique tag
(define TAG-MBASE (make-tag mbase))
@ -258,14 +259,20 @@
;; Returns the list of emails of all active members sorted
;; alphabetically
(define (mbase-active-emails mb)
(define-kwproc (mbase-active-emails mb
(#:active active #t)
(#:suspended suspended #f))
(sort
(filter
string?
(map
(lambda (mr)
(brmember-info mr 'mail))
(filter brmember-active?
(filter (lambda (mr)
(or (and active
(brmember-active? mr))
(and suspended
(brmember-suspended? mr))))
(mbase-members mb))))
string-ci<?))