43 lines
1.2 KiB
Python
43 lines
1.2 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", "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")
|