"""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', 'name', 'email'] widgets = { 'name': forms.TextInput } class PasswordChangeForm(forms.Form): """Form to update password""" password = forms.CharField(label=_('Password'), widget=forms.PasswordInput(attrs={ 'placeholder': _('New Password'), 'autocomplete': 'new-password' })) password_repeat = forms.CharField(label=_('Repeat Password'), widget=forms.PasswordInput(attrs={ 'placeholder': _('Repeat Password'), 'autocomplete': 'new-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")) return self.cleaned_data.get('password_repeat')