Fix #78; Fix empty django accounts
This commit is contained in:
parent
7734a0d36f
commit
09c422ed15
@ -2,6 +2,7 @@ from django import forms
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.forms import PasswordResetForm
|
||||
|
||||
from account_manager.utils.django_user import update_dajngo_user
|
||||
from .models import LdapUser, LdapGroup
|
||||
from django.forms import modelformset_factory
|
||||
import logging
|
||||
@ -83,6 +84,10 @@ class LdapPasswordResetForm(PasswordResetForm):
|
||||
that prevent inactive users and users with unusable passwords from
|
||||
resetting their password.
|
||||
"""
|
||||
LdapUser.base_dn = LdapUser.ROOT_DN
|
||||
ldap_users = LdapUser.objects.filter(email=email)
|
||||
for ldap_user in ldap_users:
|
||||
update_dajngo_user(ldap_user)
|
||||
logger.debug('Pasword reset get users')
|
||||
active_users = UserModel._default_manager.filter(**{
|
||||
'%s__iexact' % UserModel.get_email_field_name(): email,
|
||||
|
||||
7
src/account_manager/utils/django_user.py
Normal file
7
src/account_manager/utils/django_user.py
Normal file
@ -0,0 +1,7 @@
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
|
||||
def update_dajngo_user(ldap_user):
|
||||
user, _ = User.objects.get_or_create(username=ldap_user.username)
|
||||
user.email = ldap_user.email
|
||||
user.save()
|
||||
@ -18,6 +18,7 @@ from account_manager.forms import AddLDAPUserForm, UserDeleteListForm, UpdateLDA
|
||||
UserGroupListForm
|
||||
from account_manager.main_views import is_realm_admin
|
||||
from account_manager.models import LdapUser, LdapGroup
|
||||
from account_manager.utils.django_user import update_dajngo_user
|
||||
from account_manager.utils.mail_utils import send_welcome_mail, send_deletion_mail
|
||||
|
||||
from django.conf import settings
|
||||
@ -175,6 +176,7 @@ def realm_user_resend_welcome_mail(request, realm_id, user_dn):
|
||||
realm = Realm.objects.get(id=realm_id)
|
||||
LdapUser.base_dn = f'ou=people,{realm.ldap_base_dn}'
|
||||
ldap_user = LdapUser.objects.get(dn=user_dn)
|
||||
update_dajngo_user(ldap_user)
|
||||
current_site = get_current_site(request)
|
||||
protocol = 'http'
|
||||
if request.is_secure():
|
||||
|
||||
Reference in New Issue
Block a user