patch from https://github.com/fedora-infra/fas/pull/163
This commit is contained in:
parent
94411b528f
commit
43abff4816
2 changed files with 21 additions and 1 deletions
|
@ -88,7 +88,7 @@ from fas.auth import (
|
||||||
from fas.util import available_languages
|
from fas.util import available_languages
|
||||||
from fas.validators import KnownUser, PasswordStrength, ValidGPGKeyID, \
|
from fas.validators import KnownUser, PasswordStrength, ValidGPGKeyID, \
|
||||||
ValidSSHKey, NonFedoraEmail, ValidLanguage, UnknownUser, ValidUsername, \
|
ValidSSHKey, NonFedoraEmail, ValidLanguage, UnknownUser, ValidUsername, \
|
||||||
ValidHumanWithOverride, MaybeFloat
|
ValidHumanWithOverride, MaybeFloat, EVEmail
|
||||||
from fas import _
|
from fas import _
|
||||||
|
|
||||||
#ADMIN_GROUP = config.get('admingroup', 'accounts')
|
#ADMIN_GROUP = config.get('admingroup', 'accounts')
|
||||||
|
@ -112,10 +112,12 @@ class UserCreate(validators.Schema):
|
||||||
email = validators.All(
|
email = validators.All(
|
||||||
validators.Email(not_empty=True, strip=True),
|
validators.Email(not_empty=True, strip=True),
|
||||||
NonFedoraEmail(not_empty=True, strip=True),
|
NonFedoraEmail(not_empty=True, strip=True),
|
||||||
|
EVEmail(not_empty=True, strip=True),
|
||||||
)
|
)
|
||||||
verify_email = validators.All(
|
verify_email = validators.All(
|
||||||
validators.Email(not_empty=True, strip=True),
|
validators.Email(not_empty=True, strip=True),
|
||||||
NonFedoraEmail(not_empty=True, strip=True),
|
NonFedoraEmail(not_empty=True, strip=True),
|
||||||
|
EVEmail(not_empty=True, strip=True),
|
||||||
)
|
)
|
||||||
security_question = validators.UnicodeString(not_empty=True)
|
security_question = validators.UnicodeString(not_empty=True)
|
||||||
security_answer = validators.UnicodeString(not_empty=True)
|
security_answer = validators.UnicodeString(not_empty=True)
|
||||||
|
@ -159,6 +161,7 @@ class UserSave(validators.Schema):
|
||||||
email = validators.All(
|
email = validators.All(
|
||||||
validators.Email(not_empty=True, strip=True, max=128),
|
validators.Email(not_empty=True, strip=True, max=128),
|
||||||
NonFedoraEmail(not_empty=True, strip=True, max=128),
|
NonFedoraEmail(not_empty=True, strip=True, max=128),
|
||||||
|
EVEmail(not_empty=True, strip=True, max=128),
|
||||||
)
|
)
|
||||||
locale = ValidLanguage(not_empty=True, strip=True)
|
locale = ValidLanguage(not_empty=True, strip=True)
|
||||||
#fedoraPersonBugzillaMail = validators.Email(strip=True, max=128)
|
#fedoraPersonBugzillaMail = validators.Email(strip=True, max=128)
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from turbogears import validators, config
|
from turbogears import validators, config
|
||||||
|
from turbomail.email_validator import EmailValidator
|
||||||
from sqlalchemy.exc import InvalidRequestError
|
from sqlalchemy.exc import InvalidRequestError
|
||||||
from fas.util import available_languages
|
from fas.util import available_languages
|
||||||
|
|
||||||
|
@ -175,6 +176,22 @@ class NonFedoraEmail(validators.FancyValidator):
|
||||||
if value.endswith('@fedoraproject.org'):
|
if value.endswith('@fedoraproject.org'):
|
||||||
raise validators.Invalid(self.message('no_loop', state), value, state)
|
raise validators.Invalid(self.message('no_loop', state), value, state)
|
||||||
|
|
||||||
|
class EVEmail(validators.FancyValidator):
|
||||||
|
'''Make sure that an email address is not @fedoraproject.org'''
|
||||||
|
messages = {'invalid': _('Your email address is invalid')}
|
||||||
|
|
||||||
|
def _to_python(self, value, state):
|
||||||
|
# pylint: disable-msg=C0111,W0613
|
||||||
|
return value.strip()
|
||||||
|
|
||||||
|
def validate_python(self, value, state):
|
||||||
|
# pylint: disable-msg=C0111
|
||||||
|
ev = EmailValidator()
|
||||||
|
try:
|
||||||
|
ev.validate_or_raise(value)
|
||||||
|
except:
|
||||||
|
raise validators.Invalid(self.message('invalid', state), value, state)
|
||||||
|
|
||||||
class MaybeFloat(validators.FancyValidator):
|
class MaybeFloat(validators.FancyValidator):
|
||||||
''' Make sure the float value is a valid float value (or None) '''
|
''' Make sure the float value is a valid float value (or None) '''
|
||||||
messages = {'no_float': _('Error - Not a valid float value: %(value)s')}
|
messages = {'no_float': _('Error - Not a valid float value: %(value)s')}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue