kopia lustrzana https://github.com/wagtail/wagtail
31 wiersze
992 B
Python
31 wiersze
992 B
Python
from django import forms
|
|
from django.utils.crypto import constant_time_compare
|
|
from django.utils.translation import gettext as _
|
|
from django.utils.translation import gettext_lazy
|
|
|
|
|
|
class PasswordViewRestrictionForm(forms.Form):
|
|
password = forms.CharField(
|
|
label=gettext_lazy("Password"), widget=forms.PasswordInput
|
|
)
|
|
return_url = forms.CharField(widget=forms.HiddenInput)
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
self.restriction = kwargs.pop("instance")
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def clean_password(self):
|
|
data = self.cleaned_data["password"]
|
|
if not constant_time_compare(data, self.restriction.password):
|
|
raise forms.ValidationError(
|
|
_("The password you have entered is not correct. Please try again.")
|
|
)
|
|
|
|
return data
|
|
|
|
|
|
class TaskStateCommentForm(forms.Form):
|
|
comment = forms.CharField(
|
|
label=_("Comment"), required=False, widget=forms.Textarea({"rows": 2})
|
|
)
|