You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
906 B
37 lines
906 B
7 years ago
|
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,
|
||
|
)
|
||
|
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()
|
||
|
)
|