diff --git a/src/brmember.scm b/src/brmember.scm index ec3f5b4..6bd9253 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -285,6 +285,16 @@ (equal? email memail)) #f)))) + ;; Returns #t if this member is in "member" group in dokuwiki. + (define (brmember-dokuwiki-groups-ok? mr) + (let ((dw (ldict-ref mr 'dokuwiki #f))) + (if (eq? dw #t) + #t + (if dw + (let ((groups (ldict-ref dw 'groups '()))) + (member "member" groups)) + #f)))) + ;; True if member record is not OK (define (brmember-has-problems? mr) (or (member-has-errors? mr) @@ -295,6 +305,8 @@ (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)) )) ;; True if member record is not OK