This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
neuf-userinfo/main/forms.py
T

40 lines
1.4 KiB
Python

from django.contrib.auth.forms import SetPasswordForm
from django.core.validators import MinLengthValidator
from validators import PasswordValidator
from models import *
# not needed?
class LDAPSetPasswordForm(SetPasswordForm):
def save(self, commit=True):
# Lookup the Ldap user with the identical username (1-to-1).
self.user = LdapUser.objects.get(username=self.user.username)
self.user.set_password(self.cleaned_data['new_password1'])
if commit:
self.user.save()
return self.user
def clean_new_password1(self):
raw_password = self.cleaned_data.get('new_password1')
# Validation here?
MinLengthValidator(8)(raw_password)
PasswordValidator(raw_passwords)
return raw_password
class LDAPPasswordChangeForm(LDAPSetPasswordForm):
pass
#old_password = forms.CharField(label=_("Old password"), widget=forms.PasswordInput)
#def clean_old_password(self):
# """
# Validates that the old_password field is correct.
# """
# old_password = self.cleaned_data["old_password"]
# if not self.user.check_password(old_password):
# raise forms.ValidationError(_("Your old password was entered incorrectly. Please enter it again."))
# return old_password
#
#PasswordChangeForm.base_fields.keyOrder = ['old_password', 'new_password1', 'new_password2']