Basic member fees table.
This commit is contained in:
parent
19a370e448
commit
9cfd4e21e1
2 changed files with 21 additions and 0 deletions
14
bbstool.scm
14
bbstool.scm
|
@ -27,6 +27,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
(import testing
|
(import testing
|
||||||
(chicken format)
|
(chicken format)
|
||||||
|
(chicken sort)
|
||||||
listing
|
listing
|
||||||
dictionary
|
dictionary
|
||||||
month
|
month
|
||||||
|
@ -89,6 +90,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
(-action- 'gencards)
|
(-action- 'gencards)
|
||||||
(-fname- (list file:cards file:desfires)))
|
(-fname- (list file:cards file:desfires)))
|
||||||
(-problems () "Prints all files with problems" (-action- 'problems))
|
(-problems () "Prints all files with problems" (-action- 'problems))
|
||||||
|
(-fees () "Prints fees table" (-action- 'fees))
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Run tests
|
;; Run tests
|
||||||
|
@ -182,4 +184,16 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
(print-member-table (car mb))
|
(print-member-table (car mb))
|
||||||
(print-member-source (car mb)))
|
(print-member-source (car mb)))
|
||||||
(loop (cdr mb)))))
|
(loop (cdr mb)))))
|
||||||
|
((fees)
|
||||||
|
(print
|
||||||
|
(table->string
|
||||||
|
(cons
|
||||||
|
(list "Member" "Fees")
|
||||||
|
(map
|
||||||
|
(lambda (mr)
|
||||||
|
(list (member-nick mr)
|
||||||
|
(sprintf "\t~A" (member-fees-total mr))))
|
||||||
|
(sort (filter-members-by-predicate MB member-active?) member<?)))
|
||||||
|
#:col0-border #t #:row0-border #t)))
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
member-calendar-query
|
member-calendar-query
|
||||||
member-calendar->years-table
|
member-calendar->years-table
|
||||||
member-calendar->fees
|
member-calendar->fees
|
||||||
|
member-fees-total
|
||||||
)
|
)
|
||||||
|
|
||||||
(import scheme
|
(import scheme
|
||||||
|
@ -131,4 +132,10 @@
|
||||||
(define (member-calendar->fees mc)
|
(define (member-calendar->fees mc)
|
||||||
(map member-calendar-entry->fee mc))
|
(map member-calendar-entry->fee mc))
|
||||||
|
|
||||||
|
;; Returns the total sum of fees for all months relevant for given
|
||||||
|
;; member
|
||||||
|
(define (member-fees-total mr)
|
||||||
|
(foldl + 0 (member-calendar->fees
|
||||||
|
(member-calendar mr))))
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue