From d39c8353eeb68a20bfc4db2cb38f0ec40fcdd102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Fri, 30 Jun 2023 17:22:08 +0200 Subject: [PATCH] Start work on limiting the number of payments in default member display. --- src/Makefile | 3 ++- src/members-print.scm | 30 ++++++++++++++++-------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/Makefile b/src/Makefile index e56dfce..40a49f7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -188,7 +188,8 @@ MEMBERS-PRINT-SOURCES=members-print.scm util-dict-list.import.scm \ bank-account.import.scm members-fees.import.scm \ members-payments.import.scm brmember-format.import.scm \ specification.import.scm cal-format.import.scm \ - util-git.import.scm util-list.import.scm + util-git.import.scm util-list.import.scm \ + racket-kwargs.import.scm members-print.o: members-print.import.scm members-print.import.scm: $(MEMBERS-PRINT-SOURCES) diff --git a/src/members-print.scm b/src/members-print.scm index 74b7d3c..10fad0a 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -65,7 +65,8 @@ specification cal-format util-git - cal-day) + cal-day + racket-kwargs) ;; Returns nicely formatted table (define (member-info->table mr) @@ -217,19 +218,20 @@ ))) ;; Prints nicely printed payments - (define (member-payments->table mr) - (table->string (cons - (list "Var" "Amount" "Cur" "Date" "TrId") - (map (lambda (tr) - (list (sprintf "\t~A" (bank-transaction-varsym tr)) - (sprintf "\t~A" (bank-transaction-amount tr)) - (bank-transaction-currency tr) - (bank-transaction-date tr) - (bank-transaction-id tr))) - (brmember-payments mr))) - #:border '(((#:bottom #:right light) ... (#:bottom light)) - ((#:right light) ... none) - ...))) + (define* (member-payments->table mr (max-trans #f)) + (let ((payments (brmember-payments mr))) + (table->string (cons + (list "Var" "Amount" "Cur" "Date" "TrId") + (map (lambda (tr) + (list (sprintf "\t~A" (bank-transaction-varsym tr)) + (sprintf "\t~A" (bank-transaction-amount tr)) + (bank-transaction-currency tr) + (bank-transaction-date tr) + (bank-transaction-id tr))) + payments)) + #:border '(((#:bottom #:right light) ... (#:bottom light)) + ((#:right light) ... none) + ...)))) ;; Converts member records to string, optional arguments are format ;; and separator. Format defaults to "~N" and separator to ", ".