diff --git a/src/member-fees.scm b/src/member-fees.scm index 969b090..7024752 100644 --- a/src/member-fees.scm +++ b/src/member-fees.scm @@ -28,6 +28,7 @@ (module member-fees ( + lookup-member-fee member-calendar member-calendar-first-month member-calendar-last-month diff --git a/src/members-print.scm b/src/members-print.scm index ddd1140..971d3c6 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -346,12 +346,12 @@ (total (- (+ credit payment) fees))) (list (member-nick mr) (if (member-suspended? mr) - "suspended" + 'suspended (if (member-student? mr) - "student" + 'student (if (member-destroyed? mr) - "destroyed" - "active"))) + 'destroyed + 'active))) fees credit payment @@ -418,6 +418,17 @@ (map (lambda (member) (min 0 (list-ref member 5))) members))) + (let* ((ns (foldl (lambda (acc member) + (cons (+ (car acc) (if (eq? 'student (cadr member)) 1 0)) + (+ (cdr acc) (if (eq? 'active (cadr member)) 1 0)))) + (cons 0 0) + members)) + (students (car ns)) + (full (cdr ns))) + (print "Expected income: " + (+ (* (lookup-member-fee 'normal) full) + (* (lookup-member-fee 'student) students)) + " (" full " full members + " students " students)")) ) )