Mercurial > kallithea
comparison rhodecode/model/forms.py @ 775:aaf2fc59a39a beta
fixes #77 and adds extendable base Dn with custom uid specification
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 26 Nov 2010 23:49:19 +0100 |
parents | 56c2850a5b5f |
children | bd57d1cb9dc3 |
comparison
equal
deleted
inserted
replaced
774:c47152c5fe01 | 775:aaf2fc59a39a |
---|---|
298 import ldap | 298 import ldap |
299 except ImportError: | 299 except ImportError: |
300 raise LdapImportError | 300 raise LdapImportError |
301 return value | 301 return value |
302 | 302 |
303 class BaseDnValidator(formencode.validators.FancyValidator): | |
304 | |
305 def to_python(self, value, state): | |
306 | |
307 try: | |
308 value % {'user':'valid'} | |
309 | |
310 if value.find('%(user)s') == -1: | |
311 raise formencode.Invalid(_("You need to specify %(user)s in " | |
312 "template for example uid=%(user)s " | |
313 ",dc=company...") , | |
314 value, state) | |
315 | |
316 except KeyError: | |
317 raise formencode.Invalid(_("Wrong template used, only %(user)s " | |
318 "is an valid entry") , | |
319 value, state) | |
320 | |
321 return value | |
322 | |
303 #=============================================================================== | 323 #=============================================================================== |
304 # FORMS | 324 # FORMS |
305 #=============================================================================== | 325 #=============================================================================== |
306 class LoginForm(formencode.Schema): | 326 class LoginForm(formencode.Schema): |
307 allow_extra_fields = True | 327 allow_extra_fields = True |
455 ldap_host = UnicodeString(strip=True,) | 475 ldap_host = UnicodeString(strip=True,) |
456 ldap_port = Number(strip=True,) | 476 ldap_port = Number(strip=True,) |
457 ldap_ldaps = StringBoolean(if_missing=False) | 477 ldap_ldaps = StringBoolean(if_missing=False) |
458 ldap_dn_user = UnicodeString(strip=True,) | 478 ldap_dn_user = UnicodeString(strip=True,) |
459 ldap_dn_pass = UnicodeString(strip=True,) | 479 ldap_dn_pass = UnicodeString(strip=True,) |
460 ldap_base_dn = UnicodeString(strip=True,) | 480 ldap_base_dn = All(BaseDnValidator, UnicodeString(strip=True,)) |
461 | 481 |
462 return _LdapSettingsForm | 482 return _LdapSettingsForm |