X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/2f9cb34a07fcd98effda2fa900e48c31813f14c8..0a92dff0038fdf2c3931f8dee78594e17cb14efe:/redakcja/forms.py diff --git a/redakcja/forms.py b/redakcja/forms.py index 22f3bab6..12fb3a88 100644 --- a/redakcja/forms.py +++ b/redakcja/forms.py @@ -1,7 +1,32 @@ +# -*- coding: utf-8 -*- +# +# This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from django import forms +from django.core.urlresolvers import reverse +from django.utils.safestring import mark_safe +from django.utils.translation import ugettext as _ +from django.contrib.auth.models import User + class RegistrationForm(forms.Form): first_name = forms.CharField() last_name = forms.CharField() email = forms.EmailField() password = forms.CharField(widget=forms.PasswordInput) + + def clean_email(self): + max_length = User._meta.get_field('username').max_length + email = self.cleaned_data['email'] + if User.objects.filter(username=email).exists(): + msg = _( + 'User with this email address already exists. ' + 'Log in or reset your password.') % { + 'login_url': reverse('login'), + 'reset_url': reverse('password_reset'), + } + raise forms.ValidationError(mark_safe(msg)) + if len(email) > max_length: + raise forms.ValidationError(_('Username too long. Max length: %s') % max_length) + return email