diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-07-07 16:08:55 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-07-07 16:11:13 +0200 |
commit | 094fe62c11afbfbb87af0c320935f816ef8a758e (patch) | |
tree | c8d97c3bc9e44727ab451d35886423064f29d3a9 /ishtar_common/forms_common.py | |
parent | 746a7350b5c2373ebc83b6b54b3d6f53cee61c27 (diff) | |
download | Ishtar-094fe62c11afbfbb87af0c320935f816ef8a758e.tar.bz2 Ishtar-094fe62c11afbfbb87af0c320935f816ef8a758e.zip |
💄 update password form: improve layout - redirect to start page
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r-- | ishtar_common/forms_common.py | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index ce7f81f34..9e29f35e1 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> @@ -31,9 +31,12 @@ import zipfile from django import forms from django.conf import settings +from django.contrib.auth import password_validation from django.contrib.auth.models import User -from django.contrib.auth.forms import AuthenticationForm as AuthAuthenticationForm, \ - UsernameField +from django.contrib.auth.forms import UsernameField, \ + AuthenticationForm as AuthAuthenticationForm, \ + PasswordChangeForm as AuthPasswordChangeForm, \ + SetPasswordForm as AuthSetPasswordForm from django.contrib.contenttypes.models import ContentType from django.core import validators from django.core.cache import cache @@ -149,6 +152,32 @@ class AuthenticationForm(AuthAuthenticationForm): ) +class SetPasswordForm(AuthSetPasswordForm): + new_password1 = forms.CharField( + label=_("New password"), + strip=False, + help_text=password_validation.password_validators_help_text_html(), + widget=forms.PasswordInput(attrs={'autocomplete': 'off', + 'data-toggle': 'password'}), + ) + new_password2 = forms.CharField( + label=_("New password confirmation"), + strip=False, + widget=forms.PasswordInput(attrs={'autocomplete': 'off', + 'data-toggle': 'password'}), + ) + + +class PasswordChangeForm(SetPasswordForm, AuthPasswordChangeForm): + old_password = forms.CharField( + label=_("Old password"), + strip=False, + widget=forms.PasswordInput(attrs={'autofocus': True, 'autocomplete': 'off', + 'data-toggle': 'password'}), + + ) + + class NewItemForm(forms.Form): def __init__(self, *args, **kwargs): self.limits = {} |