Use by service registration field list to setup the registration page

This commit is contained in:
Benjamin Dauvergne 2010-12-17 16:59:42 +01:00
parent a9855ba738
commit 52d8f1b1c4
1 changed files with 10 additions and 1 deletions

View File

@ -66,12 +66,21 @@ class IfefRootDirectory(authentic.root.RootDirectory):
def register (self, version=1):
identities_cfg = get_cfg('identities', {})
session = get_session()
if not identities_cfg.get('creation') in ('self', 'moderated'):
raise errors.TraversalError()
form = Form(enctype="multipart/form-data")
for field in identities.get_store_class().fields:
fields = identities.get_store_class().fields
keys = []
if getattr(session, 'service', None):
keys = get_cfg('providers',{}).get(session.service, {}) \
.get('registration_fields')
if keys:
fields = [ field for field in fields \
if field.key in keys ]
for field in fields:
if getattr(field, str('on_register'), True):
field.add_to_form(form) and None