CPI Ordering System (the old version)
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 

45 lines
1.2 KiB

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 '''
user_name = colander.SchemaNode(
colander.String(),
widget=deform.widget.TextInputWidget(),
description='automagically generated for you',
validator = deferred_unique_username_validator
)
first_name = colander.SchemaNode(
colander.String()
)
last_name = colander.SchemaNode(
colander.String()
)
email = colander.SchemaNode(
colander.String(),
validator=deferred_unique_email_validator
)
password = colander.SchemaNode(
colander.String(),
widget=deform.widget.CheckedPasswordWidget()
)
@classmethod
def as_form(cls, request, **override):
settings = {
'buttons': ('Create Account', 'Cancel'),
'css_class': 'form-horizontal registration'
}
settings.update(override)
return super().as_form(request, **settings)