From 94dc507953600f652ad82fb69997788f0b63d81d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sun, 2 Jul 2023 20:31:16 +0200 Subject: [PATCH] Highlight improper council dokuwiki groups in member info table. --- src/brmember.scm | 24 ++++++++++++++++++++---- src/members-print.scm | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/brmember.scm b/src/brmember.scm index 9c478ac..095cbe3 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -293,10 +293,26 @@ #t (if dw (let ((groups (ldict-ref dw 'groups '()))) - (or (and (member "member" groups) - (brmember-existing? mr)) - (and (not (member "member" groups)) - (not (brmember-existing? mr))))) + (and + ;; member + (or (and (member "member" groups) + (brmember-existing? mr)) + (and (not (member "member" groups)) + (not (brmember-existing? mr)))) + ;; council, admin + (or (and (or (member "council" groups) + (member "admin" groups)) + (brmember-existing? mr) + (or (brmember-council? mr) + (brmember-chair? mr) + (brmember-revision? mr))) + (and (not (or (member "council" groups) + (member "admin" groups))) + (or (not (brmember-existing? mr)) + (not (or (brmember-council? mr) + (brmember-chair? mr) + (brmember-revision? mr)))))) + )) (not (brmember-existing? mr)))))) ;; True if member record is not OK diff --git a/src/members-print.scm b/src/members-print.scm index ccadea2..4cc4b3e 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -408,7 +408,7 @@ (ldict-ref mb 'dokuwiki)))) (when (not (null? dwpu)) (newline) - (print "DokuWiki users in wrong group(s): " + (print "DokuWiki users (non-members) in wrong group(s): " (string-intersperse (map car dwpu) ", "))))