diff --git a/src/brmember.scm b/src/brmember.scm index 6bd9253..8518237 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -53,6 +53,7 @@ brmember-has-highlights? brmember-usable? brmember-in-dokuwiki? + brmember-dokuwiki-groups-ok? brmember-has-problems? brmember-file-has-problems? @@ -292,7 +293,10 @@ #t (if dw (let ((groups (ldict-ref dw 'groups '()))) - (member "member" groups)) + (or (and (member "member" groups) + (brmember-existing? mr)) + (and (not (member "member" groups)) + (not (brmember-existing? mr))))) #f)))) ;; True if member record is not OK @@ -305,8 +309,7 @@ (not (brmember-in-dokuwiki? mr))) (and (not (brmember-destroyed? mr)) (not (brmember-dokuwiki-email-ok? mr))) - (and (brmember-destroyed? mr) - (brmember-dokuwiki-groups-ok? mr)) + (not (brmember-dokuwiki-groups-ok? mr)) )) ;; True if member record is not OK diff --git a/src/members-print.scm b/src/members-print.scm index 5587b4d..74b7d3c 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -144,11 +144,13 @@ (email (brmember-sub-ref mr 'dokuwiki 'email)) (memail (brmember-info mr 'mail #f))) (string-intersperse - (list (format "Groups: ~A" + (list (format (if (brmember-dokuwiki-groups-ok? mr) + "Groups: ~A" + (ansi-string #:red "Groups: ~A" #:default)) groups) (format (if (equal? email memail) "Email: ~A" - (ansi-string #:red "Email: ~A")) + (ansi-string #:red "Email: ~A" #:default)) email)) "\n"))))) (list (list (ansi-string #:red "DokuWiki")