diff --git a/postorius_ldap_membership_management/management/commands/syncldapmemberships.py b/postorius_ldap_membership_management/management/commands/syncldapmemberships.py index e1fa11431f73f7fa8272214df4e1be1dc0641606..9397faf234bd4d7f1eafdf7a882f9d73a499ed86 100644 --- a/postorius_ldap_membership_management/management/commands/syncldapmemberships.py +++ b/postorius_ldap_membership_management/management/commands/syncldapmemberships.py @@ -10,6 +10,7 @@ from urllib.error import HTTPError from postorius.models import List, MailmanUser from postorius.utils import get_mailman_client +from allauth.account.models import EmailAddress logger = logging.getLogger(__name__) @@ -44,6 +45,14 @@ class Command(BaseCommand): logger.warning("update display_name on {} to {}".format(user.username, user.get_full_name())) mm_users[user.username].display_name = user.get_full_name() mm_users[user.username].save() + # set user mail adresses to verified if they match those in ldap + user_emails = EmailAddress.objects.filter(user=user) + for mail in user_emails: + if mail.email == user.email: + logger.warning("update email.verified on user {} for address {} to True".format(user.username, mail.email)) + mail.verified = True + mail.save() + mailman_id2username = {mm_users[i].user_id: i for i in mm_users}