diff --git a/src/bbstool.scm b/src/bbstool.scm index 101d717..acec684 100644 --- a/src/bbstool.scm +++ b/src/bbstool.scm @@ -243,14 +243,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. (print "No member to edit."))) ((no-op) (void)) ((unpaired) - (print - (table->string - (cons - (list "Id") - (map - (lambda (tr) - (list (bank-transaction-id tr))) - (members-base-unpaired MB)))))) + (newline) + (print-unpaired-table MB)) (else (print "Nothing to do.")) diff --git a/src/members-payments.scm b/src/members-payments.scm index 5c6aa34..2f2a957 100644 --- a/src/members-payments.scm +++ b/src/members-payments.scm @@ -100,9 +100,10 @@ (compare-member-id (member-id mr) varsym-id)) (lambda (mr) (member-record-add-payment mr transaction))) - (if (or (not last-checked) - (> (bank-transaction-id transaction) - last-checked)) + (if (and (or (not last-checked) + (> (bank-transaction-id transaction) + last-checked)) + (> (bank-transaction-amount transaction) 0)) (members-base-add-unpaired mb transaction) mb)) (cdr transactions)))))) diff --git a/src/members-print.scm b/src/members-print.scm index 134f983..e60f112 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -38,6 +38,7 @@ print-members-base-stats print-members-ids-stats print-members-fees-table + print-unpaired-table ) (import scheme @@ -432,4 +433,24 @@ ) ) + ;; Prints all transactions which the members base considers unpaired. + (define (print-unpaired-table mb) + (print + (table->string + (cons + (list "Id" "Date" "Amount" "" "VS" "Type" "Message") + (map + (lambda (tr) + (list (bank-transaction-id tr) + (bank-transaction-date tr) + (sprintf "\t~A" (bank-transaction-amount tr)) + (bank-transaction-currency tr) + (sprintf "\t~A" (bank-transaction-varsym tr)) + (bank-transaction-type tr) + (bank-transaction-message tr) + )) + (members-base-unpaired mb))) + #:row0-border #t + #:col-border #t))) + )