from django import forms from django.contrib.auth.models import User class LowercaseEmailField(forms.EmailField): def clean(self, value): value = super(LowercaseEmailField, self).clean(value) return value.lower() class EmailPasswordForm(forms.Form): email = LowercaseEmailField() password = forms.CharField(required=False) class ReportSettingsForm(forms.Form): reports_allowed = forms.BooleanField(required=False) class SetPasswordForm(forms.Form): password = forms.CharField() class ChangeEmailForm(forms.Form): error_css_class = "has-error" email = LowercaseEmailField() def clean_email(self): v = self.cleaned_data["email"] if User.objects.filter(email=v).exists(): raise forms.ValidationError("%s is not available" % v) return v class InviteTeamMemberForm(forms.Form): email = LowercaseEmailField() class RemoveTeamMemberForm(forms.Form): email = LowercaseEmailField() class TeamNameForm(forms.Form): team_name = forms.CharField(max_length=200, required=True)