diff --git a/src/Makefile b/src/Makefile index 624aa68..8707242 100644 --- a/src/Makefile +++ b/src/Makefile @@ -561,8 +561,11 @@ MAILINGLIST-SOURCES=mailinglist.scm racket-kwargs.import.scm \ mailinglist.o: mailinglist.import.scm mailinglist.import.scm: $(MAILINGLIST-SOURCES) -EXPORT-SHEET-SOURCES=export-sheet.scm mbase.import.scm \ - brmember.import.scm +EXPORT-SHEET-SOURCES=export-sheet.scm mbase.import.scm \ + brmember.import.scm brmember-format.import.scm \ + util-bst-ldict.import.scm members-payments.import.scm \ + util-format.import.scm members-fees.import.scm \ + cal-period.import.scm export-sheet.o: export-sheet.import.scm export-sheet.import.scm: $(EXPORT-SHEET-SOURCES) diff --git a/src/export-sheet.scm b/src/export-sheet.scm index b8e9804..90ac1d9 100644 --- a/src/export-sheet.scm +++ b/src/export-sheet.scm @@ -35,6 +35,7 @@ (chicken base) (chicken string) (chicken format) + srfi-1 mbase brmember brmember-format @@ -42,10 +43,10 @@ members-payments util-format members-fees - srfi-1) + cal-period) (define (print-attendance-sheet MB) - (print "\\documentclass[11pt]{article}") + (print "\\documentclass[10pt]{article}") (print "\\usepackage[top=1cm,left=2cm,right=2cm,bottom=2cm]{geometry}") (print "\\begin{document}") (print "\\begin{center}") @@ -58,7 +59,7 @@ (print "\\vskip1em") (newline) (define colnames - '((id) Nick Name Surname (Balance) (Active) Signature)) + '((id) Nick Name Surname (Fee) (Balance) (Active) Signature)) (print (format "\\begin{tabular}{|~A|}" @@ -110,9 +111,14 @@ (acal12 (map cadr rcal12)) (acal12* (map (lambda (f) (if (memq 'active f) 1 0)) acal12)) (numactive (foldl + 0 acal12*)) + (spec-fee (brmember-spec-fee mr)) + (current-fee (if spec-fee + spec-fee + (member-calendar-entry->fee + (list (*current-month*) + (brmember-flags mr) + spec-fee)))) ) - (display acal12* (current-error-port)) - (newline (current-error-port)) (print (brmember-id mr) " & " @@ -124,6 +130,8 @@ " & " sname " & " + (format-amount current-fee) + " & " (format-amount (member-total-balance mr)) " & " diff --git a/src/hackerbase.scm b/src/hackerbase.scm index 3e67d50..9758e93 100644 --- a/src/hackerbase.scm +++ b/src/hackerbase.scm @@ -185,6 +185,7 @@ (-fname- file:gnuplot-data)) (-sheet (filename) "Generate attendance sheet" (-needs-bank- #t) + (-fname- filename) (-action- 'gen-sheet)) "" @@ -361,7 +362,8 @@ (gen-html-members MB (-web-dir-))) ((gen-sheet) (log-info "Generating attendance sheet") - (print-attendance-sheet MB)) + (parameterize ((current-output-port (open-output-file (-fname-)))) + (print-attendance-sheet MB))) ((edit) (if mr (let ()