"""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")