From 2117749d612841a00e40eb1b9b63a6afeb910315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Wed, 29 Mar 2023 18:35:26 +0200 Subject: [PATCH] Fix basic info. --- member-fees.scm | 5 +++-- member-parser.scm | 9 +-------- member-print.scm | 4 +--- member-record.scm | 7 +++---- 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/member-fees.scm b/member-fees.scm index 1f56cce..0333d81 100644 --- a/member-fees.scm +++ b/member-fees.scm @@ -49,7 +49,8 @@ month ansi table - members-base) + members-base + period) ;; Returns a list of months where each month is a list containing: ;; * month (from month module) @@ -59,7 +60,7 @@ (let ((last-month (if (null? args) (*current-month*) (car args)))) - (let loop ((cm (member-record-info mr 'joined)) + (let loop ((cm (period-since (member-record-info mr 'member))) (cal '())) (if (month>? cm last-month) (reverse cal) diff --git a/member-parser.scm b/member-parser.scm index 50f81e7..b67cbb6 100644 --- a/member-parser.scm +++ b/member-parser.scm @@ -103,13 +103,6 @@ (if ok? mr1 (member-record-add-highlight mr1 line-number msg 3 'error)))) - ((joined) - (let* ((month (string->month (car value))) - (mr0 (member-record-sub-set mr output key month))) - (if month - mr0 - (member-record-add-highlight - mr0 (cdr value) "Invalid month specification" 3 'error)))) ((card desfire) (member-record-sub-set mr output key (map @@ -139,7 +132,7 @@ (apply member-record-sub-ensure mr 'info - 'member (make-period (*member-default-joined*) #f) + 'member (list (make-period (*member-default-joined*) #f)) (join (map (lambda (mk) (list mk #f)) mandatory-keys)))) ;; Pass 0: Removes any comments and removes any leading and trailing diff --git a/member-print.scm b/member-print.scm index b2f3c14..2fc403c 100644 --- a/member-print.scm +++ b/member-print.scm @@ -98,8 +98,6 @@ (body (map (lambda (k) (let ((v (dict-ref info k))) (case k - ((joined) - (list k (month->string v))) ((card desfire credit) (list k (table->string @@ -108,7 +106,7 @@ (list (car c) (cdr c))) v) #:col-border #t))) - ((suspend student) + ((suspend student member) (list k (table->string (cons (list "Since" "Until") diff --git a/member-record.scm b/member-record.scm index b0510e3..aced5fc 100644 --- a/member-record.scm +++ b/member-record.scm @@ -263,11 +263,10 @@ (and (not (member-destroyed? mr)) (not (member-suspended? mr)))) - ;; Returns true if the member has joined. + ;; Returns true if the member is currently a member (define (member-existing? mr) - (let ((joined (member-record-info mr 'joined))) - (and joined - (month<=? joined (*current-month*))))) + (month-in-periods? + (member-record-info mr 'member))) ;; Returns a list of flags of given member record. (define (member-flags mr)