mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-09-19 04:59:01 +00:00
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
from django import forms
|
|
from django.core.exceptions import ValidationError
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class UserCredentialsForm(forms.Form):
|
|
"""Form to create admin user or change a user's password."""
|
|
|
|
username = forms.CharField(label=_('Username'),
|
|
help_text=_('Enter a username for the user.'))
|
|
password = forms.CharField(
|
|
label=_('Password'), widget=forms.PasswordInput, min_length=6,
|
|
strip=False,
|
|
help_text=_('Enter a strong password with a minimum of 6 characters.'))
|
|
password_confirmation = forms.CharField(
|
|
label=_('Password confirmation'), widget=forms.PasswordInput,
|
|
min_length=6, strip=False,
|
|
help_text=_('Enter the same password for confirmation.'))
|
|
|
|
def clean(self):
|
|
"""Raise error if passwords don't match."""
|
|
cleaned_data = super().clean()
|
|
password = self.cleaned_data.get('password')
|
|
password_confirmation = self.cleaned_data.get('password_confirmation')
|
|
|
|
if password and password_confirmation and (password
|
|
!= password_confirmation):
|
|
self.add_error('password_confirmation',
|
|
ValidationError(_('Passwords do not match.')))
|
|
|
|
return cleaned_data
|