Fix open period checking.

This commit is contained in:
Dominik Pantůček 2023-03-18 16:50:51 +01:00
parent 637128ae92
commit d183e658b1
3 changed files with 16 additions and 4 deletions

View file

@ -122,6 +122,9 @@
(test-true member-suspended?
(parameterize ((*current-month* (list 2015 2)))
(member-suspended? '((info . ((suspend ((2010 1) 2022 4))))))))
(test-true member-suspended?
(parameterize ((*current-month* (list 2015 2)))
(member-suspended? '((info . ((suspend ((2010 1) . #f))))))))
(test-false member-suspended?
(parameterize ((*current-month* (list 2023 2)))
(member-suspended? '((info . ((suspend ((2010 1) 2022 4))))))))

View file

@ -238,6 +238,14 @@
(define (list-members-nicks mb)
(map (lambda (mr) (dict-ref (dict-ref mr 'info) 'nick)) mb))
;; To aid in printing lists of records
(define (member-records->nicks-string mrs . sl)
(let ((s (if (null? sl)
", "
(car sl))))
(string-intersperse
(map member-nick mrs) s)))
;; Basic information about members-base in human-readable form.
(define (print-members-base-info mb)
(let ((nicks (list-members-nicks mb))
@ -258,9 +266,9 @@
(suspended-mrs (filter-members-by-predicate mb member-suspended?))
(destroyed-mrs (filter-members-by-predicate mb member-suspended?)))
(print " Active (" (length active-mrs) "): "
(string-intersperse
(map member-nick active-mrs)
", "))
(member-records->nicks-string active-mrs))
(print " Suspended (" (length suspended-mrs) "): "
(member-records->nicks-string suspended-mrs))
(when (not (null? invalid-ids))
(print " Invalid (" (length invalid-ids) "): "
(string-intersperse

View file

@ -103,7 +103,8 @@
(let ((m (if (null? ml)
(*current-month*)
(car ml))))
(and (month<? m (cdr p))
(and (or (not (cdr p))
(month<? m (cdr p)))
(not (month<? m (car p))))))
;; Returns true if given month is in at least one of the periods