Sunil Mohan Adapa 23b6aff290
plinth/*: Rename plinth/ folder to freedombox/
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-28 07:35:01 -04:00

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