36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""passbook core user forms"""
|
|
|
|
from django import forms
|
|
from django.forms import ValidationError
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from passbook.core.models import User
|
|
|
|
|
|
class UserDetailForm(forms.ModelForm):
|
|
"""Update User Details"""
|
|
|
|
class Meta:
|
|
|
|
model = User
|
|
fields = ['username', 'first_name', 'last_name', 'email']
|
|
|
|
class PasswordChangeForm(forms.Form):
|
|
"""Form to update password"""
|
|
|
|
password = forms.CharField(label=_('Password'),
|
|
widget=forms.PasswordInput(attrs={'placeholder': _('New Password')}))
|
|
password_repeat = forms.CharField(label=_('Repeat Password'),
|
|
widget=forms.PasswordInput(attrs={
|
|
'placeholder': _('Repeat Password')
|
|
}))
|
|
|
|
def clean_password_repeat(self):
|
|
"""Check if Password adheres to filter and if passwords matche"""
|
|
password = self.cleaned_data.get('password')
|
|
password_repeat = self.cleaned_data.get('password_repeat')
|
|
if password != password_repeat:
|
|
raise ValidationError(_("Passwords don't match"))
|
|
# TODO: Password policy check
|
|
return self.cleaned_data.get('password_repeat')
|