Mercurial > kallithea
comparison rhodecode/model/forms.py @ 741:54684e071457 beta
fixes issue #78, ldap makes user validation caseInsensitive
and fixed validators to check for case insensitive values.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 23 Nov 2010 12:58:45 +0100 |
parents | dbec976d9975 |
children | 1377a9d4bdb9 |
comparison
equal
deleted
inserted
replaced
740:9279dfedcf93 | 741:54684e071457 |
---|---|
65 old_un = None | 65 old_un = None |
66 if edit: | 66 if edit: |
67 old_un = UserModel().get(old_data.get('user_id')).username | 67 old_un = UserModel().get(old_data.get('user_id')).username |
68 | 68 |
69 if old_un != value or not edit: | 69 if old_un != value or not edit: |
70 if UserModel().get_by_username(value, cache=False): | 70 if UserModel().get_by_username(value.lower(), cache=False): |
71 raise formencode.Invalid(_('This username already exists') , | 71 raise formencode.Invalid(_('This username already exists') , |
72 value, state) | 72 value, state) |
73 | 73 |
74 return _ValidUsername | 74 return _ValidUsername |
75 | 75 |
242 return value | 242 return value |
243 | 243 |
244 def UniqSystemEmail(old_data): | 244 def UniqSystemEmail(old_data): |
245 class _UniqSystemEmail(formencode.validators.FancyValidator): | 245 class _UniqSystemEmail(formencode.validators.FancyValidator): |
246 def to_python(self, value, state): | 246 def to_python(self, value, state): |
247 value = value.lower() | |
248 #TODO:write test for MixedCase scenarios | |
247 if old_data.get('email') != value: | 249 if old_data.get('email') != value: |
248 sa = meta.Session() | 250 sa = meta.Session() |
249 try: | 251 try: |
250 user = sa.query(User).filter(User.email == value).scalar() | 252 user = sa.query(User).filter(User.email == value).scalar() |
251 if user: | 253 if user: |
258 | 260 |
259 return _UniqSystemEmail | 261 return _UniqSystemEmail |
260 | 262 |
261 class ValidSystemEmail(formencode.validators.FancyValidator): | 263 class ValidSystemEmail(formencode.validators.FancyValidator): |
262 def to_python(self, value, state): | 264 def to_python(self, value, state): |
265 value = value.lower() | |
263 sa = meta.Session | 266 sa = meta.Session |
264 try: | 267 try: |
265 user = sa.query(User).filter(User.email == value).scalar() | 268 user = sa.query(User).filter(User.email == value).scalar() |
266 if user is None: | 269 if user is None: |
267 raise formencode.Invalid(_("That e-mail address doesn't exist.") , | 270 raise formencode.Invalid(_("That e-mail address doesn't exist.") , |