import colander import deform from . import CSRFSchema from .helpers import ( deferred_unique_email_validator, deferred_unique_username_validator, ) # schema for user registration class RegistrationSchema(CSRFSchema): ''' new user registration ''' username = colander.SchemaNode( colander.String(), widget=deform.widget.TextInputWidget( readonly=True ), description='automagically generated for you', validator=deferred_unique_username_validator, oid='registration_username' ) first_name = colander.SchemaNode( colander.String(), oid='registration_first_name' ) last_name = colander.SchemaNode( colander.String(), oid='registration_last_name' ) email = colander.SchemaNode( colander.String(), validator=deferred_unique_email_validator ) password = colander.SchemaNode( colander.String(), widget=deform.widget.CheckedPasswordWidget() )