Suspended for at least 24 months.
This commit is contained in:
parent
7e171bbcef
commit
58c5a78829
3 changed files with 18 additions and 3 deletions
|
@ -38,6 +38,7 @@
|
|||
member-id
|
||||
member-existing?
|
||||
member-format
|
||||
member-suspended-months
|
||||
member-record-tests!
|
||||
)
|
||||
|
||||
|
@ -64,6 +65,8 @@
|
|||
(string-intersperse
|
||||
(map symbol->string aliases)
|
||||
", "))
|
||||
(when (member-suspended? mr)
|
||||
(print " Suspended for " (member-suspended-months mr) " months."))
|
||||
(newline)
|
||||
(let loop ((sinfo sinfo))
|
||||
(when (not (null? sinfo))
|
||||
|
@ -149,6 +152,7 @@
|
|||
(cons (case (cadr fmtl)
|
||||
((#\N) (mr-ref mr 'nick))
|
||||
((#\I) (number->string (mr-ref mr 'id)))
|
||||
((#\S) (number->string (member-suspended-months mr)))
|
||||
((#\~) "~"))
|
||||
resl))
|
||||
(loop (cdr fmtl)
|
||||
|
@ -156,9 +160,12 @@
|
|||
|
||||
;; Returns the number of months the user is suspended. Zero if not
|
||||
;; suspended.
|
||||
(define (member-suspended-month mr)
|
||||
(define (member-suspended-months mr)
|
||||
(if (member-suspended? mr)
|
||||
1
|
||||
(let ((period (periods-match (mr-ref mr 'suspend))))
|
||||
(if period
|
||||
(month-diff (car period) (*current-month*))
|
||||
0))
|
||||
0))
|
||||
|
||||
;; Performs module self-tests.
|
||||
|
|
|
@ -315,6 +315,13 @@
|
|||
(member-records->string destroyed-mrs))
|
||||
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
||||
(member-records->string student-mrs))
|
||||
(let ((suspended2 (filter-members-by-predicate
|
||||
suspended-mrs
|
||||
(lambda (mr)
|
||||
(>= (member-suspended-months mr) 24)))))
|
||||
(when (not (null? suspended2))
|
||||
(print " Suspended for at least 24 months: "
|
||||
(member-records->string suspended2 "~N (~S)"))))
|
||||
(when (not (null? invalid-mrs))
|
||||
(print a:error " Invalid Id (" (length invalid-mrs) "): "
|
||||
(member-records->string invalid-mrs "~N (~I)")
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
month-in-periods?
|
||||
period->string
|
||||
periods->string
|
||||
periods-match
|
||||
period-tests!
|
||||
)
|
||||
|
||||
|
@ -126,7 +127,7 @@
|
|||
(month->string (car p))
|
||||
(if (cdr p)
|
||||
(month->string (cdr p))
|
||||
"....-..")))
|
||||
"****-**")))
|
||||
|
||||
;; Returns a string representing a list of periods.
|
||||
(define (periods->string ps)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue