The body of the enrollment message template Tokenize platform name in message. Changing to a datetime enrollment approach Adding sorting. A little refactoring. Adding confguration model for time delta Adding admin registration and basic form for new config model. Fixing docstring typo Updating default time delta to 0, adding test to show it disabled functionality. Removing the form from configuration and tweaking the enrollment message html
25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
"""
|
|
Utility functions for validating forms
|
|
"""
|
|
from django import forms
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.forms import PasswordResetForm
|
|
from django.contrib.auth.hashers import UNUSABLE_PASSWORD
|
|
|
|
|
|
class PasswordResetFormNoActive(PasswordResetForm):
|
|
def clean_email(self):
|
|
"""
|
|
This is a literal copy from Django 1.4.5's django.contrib.auth.forms.PasswordResetForm
|
|
Except removing the requirement of active users
|
|
Validates that a user exists with the given email address.
|
|
"""
|
|
email = self.cleaned_data["email"]
|
|
#The line below contains the only change, removing is_active=True
|
|
self.users_cache = User.objects.filter(email__iexact=email)
|
|
if not len(self.users_cache):
|
|
raise forms.ValidationError(self.error_messages['unknown'])
|
|
if any((user.password == UNUSABLE_PASSWORD)
|
|
for user in self.users_cache):
|
|
raise forms.ValidationError(self.error_messages['unusable'])
|
|
return email |