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-id
|
||||||
member-existing?
|
member-existing?
|
||||||
member-format
|
member-format
|
||||||
|
member-suspended-months
|
||||||
member-record-tests!
|
member-record-tests!
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -64,6 +65,8 @@
|
||||||
(string-intersperse
|
(string-intersperse
|
||||||
(map symbol->string aliases)
|
(map symbol->string aliases)
|
||||||
", "))
|
", "))
|
||||||
|
(when (member-suspended? mr)
|
||||||
|
(print " Suspended for " (member-suspended-months mr) " months."))
|
||||||
(newline)
|
(newline)
|
||||||
(let loop ((sinfo sinfo))
|
(let loop ((sinfo sinfo))
|
||||||
(when (not (null? sinfo))
|
(when (not (null? sinfo))
|
||||||
|
@ -149,6 +152,7 @@
|
||||||
(cons (case (cadr fmtl)
|
(cons (case (cadr fmtl)
|
||||||
((#\N) (mr-ref mr 'nick))
|
((#\N) (mr-ref mr 'nick))
|
||||||
((#\I) (number->string (mr-ref mr 'id)))
|
((#\I) (number->string (mr-ref mr 'id)))
|
||||||
|
((#\S) (number->string (member-suspended-months mr)))
|
||||||
((#\~) "~"))
|
((#\~) "~"))
|
||||||
resl))
|
resl))
|
||||||
(loop (cdr fmtl)
|
(loop (cdr fmtl)
|
||||||
|
@ -156,9 +160,12 @@
|
||||||
|
|
||||||
;; Returns the number of months the user is suspended. Zero if not
|
;; Returns the number of months the user is suspended. Zero if not
|
||||||
;; suspended.
|
;; suspended.
|
||||||
(define (member-suspended-month mr)
|
(define (member-suspended-months mr)
|
||||||
(if (member-suspended? mr)
|
(if (member-suspended? mr)
|
||||||
1
|
(let ((period (periods-match (mr-ref mr 'suspend))))
|
||||||
|
(if period
|
||||||
|
(month-diff (car period) (*current-month*))
|
||||||
|
0))
|
||||||
0))
|
0))
|
||||||
|
|
||||||
;; Performs module self-tests.
|
;; Performs module self-tests.
|
||||||
|
|
|
@ -315,6 +315,13 @@
|
||||||
(member-records->string destroyed-mrs))
|
(member-records->string destroyed-mrs))
|
||||||
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
||||||
(member-records->string student-mrs))
|
(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))
|
(when (not (null? invalid-mrs))
|
||||||
(print a:error " Invalid Id (" (length invalid-mrs) "): "
|
(print a:error " Invalid Id (" (length invalid-mrs) "): "
|
||||||
(member-records->string invalid-mrs "~N (~I)")
|
(member-records->string invalid-mrs "~N (~I)")
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
month-in-periods?
|
month-in-periods?
|
||||||
period->string
|
period->string
|
||||||
periods->string
|
periods->string
|
||||||
|
periods-match
|
||||||
period-tests!
|
period-tests!
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -126,7 +127,7 @@
|
||||||
(month->string (car p))
|
(month->string (car p))
|
||||||
(if (cdr p)
|
(if (cdr p)
|
||||||
(month->string (cdr p))
|
(month->string (cdr p))
|
||||||
"....-..")))
|
"****-**")))
|
||||||
|
|
||||||
;; Returns a string representing a list of periods.
|
;; Returns a string representing a list of periods.
|
||||||
(define (periods->string ps)
|
(define (periods->string ps)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue